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; }
$empleado = Empleado::find(1); echo $empleado->nombre;
Laravel usa Blade para templates.
<h1><?php echo $foo;?></h1>
<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
3 comments
Hola, ¿que opinas de este articulo https://styde.net/porque-laravel-no-es-mvc-y-tu-deberias-olvidarte-de-mvc/, con respecto a si Laravel es o no MVC?
Laravel el hijo menor de Symfony, a probralo