Consola para dialogar con la Base de Datos ( Laravel PHP )

Tinker – Siglo XIX

 

Seguimos avanzando en el aprendizaje de este elegante entorno de trabajo de desarrollo Web en lenguaje PHP.

Lo que hacemos con él no es más que un sinfín de capas de abstracción. Una tras otra.

Algo que nos encanta es el tener consciencia de lo que se hace … «por debajo». Por ejemplo, al dialogar con la Base de Datos. Acá, Tinker es tu amigo .

 

Así, puedes fácil y ágilmente leer datos de tu aplicación Laravel. Usando la propia línea de comandos ( CLI ) de Laravel  php artisan tinker y trastear con la base de datos.

Se define como unaa repl (read-eval-print loop). A repl translates to read-eval-print-loop, como lenguaje shell interactivo. Toma una única entrada (input) de usuario, la evalúa, y retorna es resultado al/la usuario/a.

Hemos hablado de esta herramienta de consola para Laravel PHP , veamoslas en acción :

 

Tinker – consola

07/09/2018

Posted In: PHP, softwareLibre

Etiquetas:

Leave a Comment

Disfrutando con PHP, Laravel y la Web

En lo que refiere a los lenguajes de programación, Python, como lenguaje de propósito general está siendo más y más popular. La fiebre JavaScript va en aumento. ¿ Y el clásico PHP ?

El lenguaje PHP sigue vive y coleando, por mucho tiempo.

Herramientas como WordPress y Drupal CMS (basadas en PHP) están muy afianzadas, actualmente. Por ahora gozan de gran popularidad, y lo seguiran haciendo (al menos) durante años. ¿ Por qué?  Por el hecho de que ha sido tradicionalmente  el lenguaje de elección en una amplio espectro en el ámbito de proyectos orientadas al sector de la pequeña y mediana empresa ( PyME) u organización ( Asociaciones, Escuelas, ayuntamientos…). Notar que Drupal (p.ej.) se está orientando a proyectos de mayor envergadura, en su última versión, tras reescribir el 70% del código base sobre el que se fundamenta su enorme y variado ecosistema de módulos contribuidos y posibles utilidades/escenarios.

Naturalmente, nada es inmutable, y menos aún en el ámbito del desarrollo software.

En Librebits venimos trabajando históricamente con Drupal, que se puede definir tanto como entorno de trabajo de contenidos (CMF ) sobre PHP así como puro gestor de contenidos (CMS | Content Management System) versátil y potente. Si bien, hace tiempo que buscamos una forma de desarrollar más ligera y flexible… según las necesidades del proyecto en cuestión.

 

Hola Laravel PHP

Las primeras sensaciones al desarrollar PHP con Laravel son algo así como recuperar la alegría del desarrollo… Al ser un framework más ligero (en relación a Drupal )  y definido como ‘framework‘ estrictamente, tienes la sensación de una mayor visión de conjunto al hacer las cosas. ¿ Como expresarlo ? Sientes que es más sencillo … ¿ encajar las piezas del puzzle ?

¿Será porque sigue el patrón de arquitectura software Modelo Vista Controlador (MVC) .

Acá puedes ver algunas muestras de su elegante código, comentadas.

Por otro lado, Laravel se define como una herramienta para ‘artesanos de la Web’.

 

En eso, nos sentimos más que identificados 🙂 .

Wikipedia reza : Laravel permite desarrollar aplicaciones y servicios web con PHP 5 y PHP 7. Su filosofía es desarrollar código PHP de forma elegante y simple, evitando el “código espagueti”.

 

Las tripas

Laravel tiene como objetivo ser un entorno de trabajo (framework) que permita el uso de una sintaxis elegante y expresiva para crear código de forma sencilla y permitiendo multitud de funcionalidades. Intenta aprovechar lo mejor de otros frameworks y aprovechar las características de las últimas versiones de PHP.

Gran parte de Laravel está formado por dependencias, especialmente de Symfony, esto implica que el desarrollo de Laravel dependa también del desarrollo de sus dependencias.

Otra aspecto de Laravel que nos encanta es su línea de comandos ( CLI) : ‘ php artisan ‘, que facilita enormemente la labor de desarrollo, automatizando las tareas más repetitivas.

Y Tinker , (basado en PsySH ) … que nos permite, ‘hablar’ sencillamente con la base de datos desde dicha consola de comandos . Ah! … y por último, esta gema .

 

La comunidad

Las comunidades del software libre y código abierto  entorno a esta maravillosa herramienta es amplia y variada. In crescendo | En aumento . En habla hispana, podemos acudir, por ejemplo a :

https://laraveles.com/

Y que además, ya hace un tiempo que se está desarrollando en un gestor de contenidos basado en Laravel, si : se llama October CMS .  

 

 

 

Éste último también estamos empezando a usarlo en Librebits, así que… esperamos poder compartir a futuro nuestras andanzas con él.

Ah! .. y por último, pero no por ello menos importante… recordar que todo ello se desarrolla bajo licencia permisiva de software libre .

«Caminando a hombros de gigantes» ?

23/08/2018

Posted In: comunidad, softwareLibre

Etiquetas: ,

Leave a Comment

Patologías, DevOps y Drupal (7)

En los inicios de mis desarrollos con Drupal CMS , nuestro flujo de trabajo (Workflow) era bien rudimentario. Se basaba en, de forma iterativa, ir ensayando las diferentes funcionalidades requeridas, generando así múltiples maquetas que se iban acumulando en mi disco duro. Con sus correspondientes bases de datos. Algo chapuza, vaya, francamente.

El hecho de que Drupal tiene el defecto patológico de no hacer una distinción práctica de código, configuración y datos (estos últimos comparten la base de datos) complica más las cosas.

Ese defecto ‘de fábrica’ ha sido corregido ya en la nueva D8 (en la que se ha reescrito el 70% del código). Mezclar contenidos y configuración en la base de datos (BBDD) hace que tengamos que hacer malabarismo entre los diferentes entornos de trabajo online. Pongamos, por simplificar,

  • Desarrollo . ‘Dev’
  • Y Producción.‘Prod’

DevOps para tod@s o «La fontanería subyacente » …

En su día, compartía con nosotros @victorkane , que el quid de la cuestión en el desarrollo de Drupal CMS son en gran medida todos los procesos de DevOps que subyacen, y su (no poca) complejidad. Aunque, naturalmente, Drupal tiende a esforzarse en abstraer al desarrollador de esa ‘fontanería’ básica.

NOTA : por cierto, frameworks más recientes… que estamos probando, parecen emerger con “facilidad de uso para el desarrollador, ya en sus genes… (p.ej.: Laravel | PHP ) Así… como la natural evolución, decíamos, de Drupal 8.

Ocurre que si hemos trabajado en el agregado de nuevas funcionalidades al código fuente base en el entorno, pongamos de desarollo / Dev ( por simplificar) en nuestro PC. Esta nueva configuración + código, debe ser ‘subida’ o desplegada ‘upstream’ al entorno-servidor de producción.

Y para ello… nuestro mejor amigo es el Drupal+Bash , ‘drush’. Que nos facilita la tarea de sincronizar,

  • por un lado, (nuevo) código ‘upstream’
  • por el otro, BBDD y ficheros de contenido de usuario… ‘downstream’

Una vez más, una imagen vale más que mil palabras .

Platform as a Service ( PaaS) al auxilio

En el ámbito más orientado a herramientas como Drupal, hemos comprobado que se ha hecho muy popular Pantheon.io … que no hemos tenido (aún) el gusto de conocer en persona y experimentar con él.

Naturalmente tenemos en la industria un amplio elenco de herramientas – plataformas (PaaS) que nos facilitan la labor. La de nuestra preferencia, hoy en día es Platform.sh .

No resulta muy útil, ante nuestra necesidad expresada anteriormente… orquestando todo lo expuesto anteriormente… de forma natural con el ‘Git workflow’ (para control de versiones) como base.

 

Mención especial a la calidad de la documentación ofrecida, pues te va guiando hacia ese camino…, de forma bien documentada :

https://docs.platform.sh/frameworks/drupal7.html

Así como el canal de atención al usuario, muy proactivo.

La potencia de Platform.sh parece emerger de la capacidad para replicar entornos online con tecnología LinuxContainers (LXC) en cuestión de segundos…

Todo ello bajo tarifas asequibles para desarrolladores, por unos pocos €uros al mes… como hemos podido comprobar.

Sin olvidar que más allá de la (auto)magia ( PaaS) de Platform, trataba de explicarme, lo que subyace son tres comandos Drush ( Drupal – Bash ), al estilo y la posibilidad de drush alias … y aunque conociendonte, quizas prefieras Bash scripting con umas gotitas de Drush y bla bla… .

La clave en todo esto, es… “no dejar de ver el bosque … no sólo el árbol ” ?… y KISS ( Keep It Simple Stupid) en medida de lo posible !

‘Have Fun! / Que os divirtáis’

28/01/2018

Posted In: softwareLibre

Etiquetas: , , , ,

Leave a Comment