¿Eres programador de PHP? Debes usar Laravel.

Total
0
Shares

PHP es uno de los lenguajes de programación web más usado, sino es que probablemente el más usado. Desde su creación en 1995, ha sido utilizado para servir miles y miles de sitios web de todo tipo. Desde simples páginas web estáticas, hasta grandes aplicaciones web y redes sociales. Su facilidad y flexibilidad, además de ser software libre, lo hacen una opción más que accesible para desarrollar sitios y aplicaciones web. Además, existan muchas plataformas CMS hechos en este lenguaje, WordPress, Drupal Joomla sean posiblemente los más famosos, y existen otros orientados al e-commerce como lo son Magenta o Prestashop.

Además de estos sistemas CMS, existen en el mercado frameworks que nos facilitan el desarrollo de aplicaciones web. Entre los veteranos, tenemos a CakePHP, Zend, Symphony o Codeigniter. Todos estos frameworks tienen sus bondades y sus carencias. Unos más difíciles de aprender que otros. Symphony está más orientado a aplicaciones sumamente robustas, mientras que Codeigniter o CakePHP, son sumamente fáciles de aprender y orientados a aplicaciones pequeñas y medianas.

Si has programado con PHP o eres un profesional que se dedica a ello, seguramente has probado o sueles utilizar alguno de estos frameworks. Hoy, te quiero decir que existe una alternativa más, que se ha ganado poco a poco el corazón de muchos programadores PHP y que se perfila, si no es que ya lo es, a ser el mejor framework de este lenguaje.

Así que, ¿Eres programador de PHP? Debes usar Laravel.

Y aunque no lo seas o no utilices PHP regularmente, debes darle una oportunidad. Larval es a PHP lo que Rails es a Ruby, o lo que Django es a Python. Laravel es un framework, que, como sus creadores lo dicen, es para artistas con deadlines. Es un framework que tiene TODO lo que debe tener un framework actual, y además, lo tiene bien hecho. A decir verdad, su único defecto es que no lo estás utilizando.

Laravel es MVC

La arquitectura MVC (Model-View-Controller) es una de las más utilizadas. Nos permite separar nuestra aplicación en tres capas: Modelos (la parte mas baja de tu sistema, encargada de gestionar los datos), Controlador (el encargado de toda la lógica y procesamiento de tu aplicación) y Vista (el front-end de tu aplicación). Y a diferencia de otros frameworks, como Codeigniter, es más flexible en esta arquitectura y hace mucho más cosas por nosotros.

Laravel tiene su propio ORM: Eloquent.

Como Django o Rails en sus respectivos lenguajes, Laravel viene con un ORM (Object Relational Mapping) llamado Eloquent. Si no estas familiarizado con este término, un ORM nos permite manera nuestras tablas de la base de datos a objetos, haciendo muchísimo más fácil y ágil el acceso y escritura de nuestra información.

Por ejemplo, mientras en PHP puro haces un select a una tabla “empleado” con los campos “id, nombre, puesto”:

$query = $db->prepare('select * from empleado');
$query->execute();
$results = $query->fetchAll(PDO::FETCH_ASSOC);

foreach($results as $row){
     echo $row[“id"];
     echo $row[“nombre”];
     echo $rpw[“puesto”];
}

O con Codeigniter en tu modelo:

function getEmpleados(){
     return $this->db->get(“empleados”)->result();
}

Y en tu controlador:

$this->load->model(‘empleados’);
$empleados = $this->empleados->getEmpleados();
foreach($empleados as $empleado){
     echo $empleado->id;
     echo $empleado->nombre;
     echo $empleado->puesto;
}

Con Laravel lo único que tendrías que hacer es, definir tu modelo Empleados, especificando tu tabla, y en tu controlador simplemente:

$empleados = Empleados::all();

foreach($empleados as $empleado){
     echo $empleado->id;
     echo $empleado->nombre;
     echo $empleado->puesto;
}
Y listo. Laravel crea por ti un array de objetos “empleado”, que tienen propiedades id, nombre y puesto. No tienes que escribir la función “all”. Laravel te la da en bandeja de plata.
O si quieres encontrar un empleado específico por su ID:
$empleado = Empleado::find(1);

echo $empleado->nombre;
Esto además de la clara ventaja en menor código, nos permite explotar PHP orientado a objetos como nunca.

Laravel usa Blade para templates.

Otra ventaja de Laravel, es que usa su sistema de templetes Blade, lo que nos permite tener una mejor estructuración de nuestras vistas, pudiendo extender vistas unas de otras, y usar codeblocks. No más PHP abriendo y cerrando en medio del HTML:
En vez de hacer:
<h1><?php echo $foo;?></h1>
Basta con hacer:
<h1>{{$foo}}</h1>

O bien, en vez de un foreach:

<?php foreach($items as $item:?>
<li><?php $item;?>
<?endforeach?>

Basta con:

@foreach($item as item)
<li>{{$item}}</li>
@endforeach
Blade compila las vistas antes de ser rendereadas.

laravel y su robusto sistema de Routing

Es bien sabido que una web sin aparecer en Google o cualquier otro buscador, no sirve de mucho. Y uno de los primeros e importantes pasos, es tener friendly URLs que sean fáciles de indexar para los buscadores y de leer para los humanos. Con Laravel, puedes crear tus routes de una manera muy simple. Y no sólo eso, puedes agruparlos, ponerles filtros de condiciones que se deben cumplir para acceder, crear routes de CRUDS para apis REST en una sola línea de código, etc.
Existen muchas más ventajas de usar Laravel, que escribiré más adelante a forma de totorales para quien quiera aprender de manera práctica este fabuloso framework. Por lo mientras, si lees inglés, puedes darte una vuelta por la web de Laravel y darle una leída a su documentación.
3 comments
Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

You May Also Like