Debo admitir: en un momento, me sentía un poco mal con el lenguaje PHP. Varios artículos conmovedores de odio de PHP rodearon la web como un virus, y algunos de sus marcos emblemáticos, como CodeIgniter, crecieron rápidamente. Mientras tanto, Ruby on Rails parecía liderar el paquete, en términos de innovación y facilidad de desarrollo. A medida que el tiempo avanzaba, me encontré alcanzando mi cinturón de herramientas Ruby más y más.
Pero, entonces, un día, descubrí un nuevo y elegante marco, llamado Laravel. Al principio, lo descarté como otro clon de Sinatra que disminuiría rápidamente a la nada, ya que el desarrollador principal lo abandonó. Pero aún así, semana tras semana, mis redes sociales estaban en ráfaga, alabando la legibilidad de Laravel. "¿Podría ser", pensé para mí mismo, "que PHP finalmente tenga un marco realmente moderno?"
Obtenga más información sobre Laravel en http://laravel.com
Ya no estaba dispuesto a sentarme al margen; ya era hora de cavar. Un año más tarde, y soy uno de los evangelistas más grandes. ¡Laravel en realidad hace que PHP sea divertido otra vez! Aún mejor, ya no creo que PHP esté condenado para siempre a sitios en su mayoría personales y feos blogs de WordPress. No de hecho, es la creencia de este escritor de que, gracias a Laravel, Composer y PHP 5.5, estamos a punto de experimentar el próximo renacimiento del lenguaje de servidor más popular de la web..
Para instalar la última versión de desarrollo de Laravel (v4), primero deberá instalar Composer. Luego, simplemente clona el repositorio e instala las dependencias.
git clone git: //github.com/illuminate/app.git myApp
yinstalación del compositor
. Usted está listo para ir!
La mayoría de los desarrolladores de PHP comienzan su viaje anidando innumerables líneas de SQL directamente en su frígido e ilegible PHP. No hace falta decir que, excluyendo el más básico de los sitios web, esto rápidamente lleva a un desorden inigualable.
¿Recuerdas la primera vez que escuchaste sobre Ruby on Rails 'ActiveRecord? Bueno, en el fin del mundo de PHP, Eloquent es su principal implementación.
Necesito algunos ejemplos?
// Recupera todas las tareas $ task = Task :: all (); // Recupera la tarea con un id de 1 $ task = Task :: find (1); // Actualizar una tarea $ task = Task :: find (1); $ task-> title = '¡Baja esa cookie!'; $ tarea-> guardar (); // Crear una nueva tarea Task :: create (['title' => 'Write article']); // Eliminar una tarea Tarea :: buscar (1) -> eliminar ();
¡Gente, no es posible escribir código más legible en PHP! Ahora sería una cosa si Eloquent solo le permitiera realizar operaciones CRUD básicas en una tabla, pero ciertamente ese no es el caso.
Considere las relaciones de la tabla, como un usuario y sus respectivas tareas. En Laravel, después de establecer un método de búsqueda rápida para cada modelo, podemos manejar fácilmente la relación uno a uno o cualquier asociación. Aquí hay algunos ejemplos para abrir el apetito.
// Obtenga todas las tareas del autor con un ID de 1 $ tasks = User :: find (1) -> task; // Obtener el autor de una tarea $ author = Task :: find (5) -> user () -> username; // Insertar una nueva tarea por el autor $ task = new Task ([title: 'Go to store.']); Usuario :: buscar (1) -> tareas () -> insertar ($ tarea);
No es una exageración considerar a Eloquent como la mejor implementación de ActiveRecord en el lenguaje PHP.
Instalar compositor.
A partir de Laravel 4 (actualmente en Alpha), todo el framework estará modularizado y disponible como paquetes individuales de Composer..
Composer es un sistema de empaquetado para PHP que es similar a PEAR, pero mejor. Hace que el proceso de gestión de dependencias sea lo más fácil posible..
Piense en el ecosistema marco existente. En este momento, estás obligado a vivir con el conjunto de características principales de cada marco. No puedes elegir, digamos, usar Eloquent en una aplicación CakePHP. Como puedes imaginar, esta verdad ha llevado a un proceso demente de reinventar la rueda una y otra vez ... y más.
Señoras y señores, el futuro de PHP es modular. ¿Por qué instalar un marco hinchado y masivo, cuando solo necesita algunas de sus ofertas? Bueno, pronto, no tendrás que hacerlo. ¿Solo requieren Eloquent en un proyecto simple? Bien, ¡no hay problema en absoluto! Simplemente instálalo a través de Composer, y continúa!
Entonces, si nos estamos moviendo a un mundo PHP más basado en paquetes, ¿cómo encaja Laravel? Bueno, piense en ello como una colección predeterminada de paquetes, envueltos en un arco. Aún mejor, si necesita actualizar a la última versión del marco, es tan fácil como ejecutar actualización del compositor
.
Como ejemplo de la flexibilidad que esto proporciona, agreguemos la popular biblioteca de pruebas de Mockery a una aplicación Laravel. Comienza con un nuevo proyecto de Laravel 4 y edita su compositor.json
archivo para requerir burla.
"require": "illuminate / foundation": "> = 1.0.0", "mockery / mockery": "dev-master", "autoload": "classmap": ["app / controllers", " app / models "," app / database / migrations "," app / tests / TestCase.php "]
Consulte Packagist.org para obtener una lista de los paquetes de Composer disponibles, así como las instrucciones de instalación..
Ahora que hemos informado a Composer que nuestra aplicación requiere Mockery, podemos instalar las dependencias correspondientes.
actualización del compositor
¡Y eso es! Ahora podemos usar Mockery dentro de nuestras pruebas. ¡Este es el poder de Composer y Laravel 4 en el trabajo! Tenemos ruedas; ¡Dejemos de crear nuevos! Cientos y cientos de paquetes están disponibles a través de Packagist.org.
Cientos y cientos de paquetes están disponibles a través de Packagist.org.
Rutas
La mayoría de los desarrolladores de PHP principiantes no están familiarizados con nada más que con los sistemas de rutas más naturales. Cree un árbol de directorios para que coincida con el URI que desee y continúe. Por ejemplo, agregue un
index.php
Archivo al siguiente directorio:blog / admin /
, y, ahora, puedes acceder a ella navegando a:localhost: 8888 / blog / admin / index.php
. ¡Fácil! Bueno, tal vez al principio; pero es probable que encuentre que necesita más flexibilidad y control sobre qué ruta se activa en su aplicación.Laravel adopta un enfoque increíblemente simple y fácil de usar para enrutar. Como ejemplo, escribamos la ruta necesaria para mostrar una vista del perfil de un usuario.
Route :: get ('users / id', función ($ id) // encuentra el usuario $ user = user :: find ($ id); // muestra la vista y pasa el objeto de usuario return View :: make ('users.profile') -> con ('user', $ user););Ahora, cuando un usuario solicita
example.com/users/1
, lausuarios / perfil.php
la vista será renderizada.Alternativamente, podemos usar controladores tradicionales para manejar la lógica..
Route :: get ('users / id', 'Users @ show');Ahora,
Controladores / Usuarios.php
será responsable de presentar la vista, específicamente laespectáculo
método.con ('usuario', $ usuario);
Autenticación fácil
Casi cualquier aplicación web de sustancia requerirá algún tipo de autenticación. Laravel proporciona una interfaz simple, pero fácil de usar para autenticar usuarios.
Comience creando un
usuarios
mesa con los campos necesarios para lanombre de usuario
ycontraseña
. Recuerde: este es un caso de uso perfecto para una migración!Laravel puede entonces
intento
para iniciar sesión en un usuario, probablemente en función de los valores proporcionados por el usuario desde un formulario.Aquí hay un ejemplo básico, menos el aspecto de validación..
Route :: post ('login', function () $ credentials = array ('username' => Input :: get ('username'), 'password' => Input :: get ('password')); / / realizar la validación si (Auth :: try ($ credentials)) // Credentials match. Logged in! return Redirect :: to ('admin / profile'););Tenga en cuenta que, detrás de la escena, Laravel hará un hash automático de la contraseña proporcionada y la comparará con lo que está almacenado en el
usuarios
mesa.Suponiendo que las credenciales del usuario coincidan, la ID del usuario se almacenará en la sesión y el usuario iniciará sesión. En las solicitudes posteriores, puede capturar el nombre de usuario del usuario que está conectado actualmente con:
$ user = Auth :: user () -> username;
Enviando email
Admítelo: enviar un correo electrónico a través de su aplicación siempre es más complicado de lo que debería ser. Ya no en Laravel 4!
Construido sobre el popular paquete SwiftMailer, ahora encontrarás un nuevo
config / mail.php
archivo en su aplicación. Aquí es donde puede especificar las credenciales necesarias para su proveedor de correo electrónico. Aquí hay una versión simplificada de lo que encontrarás:'smtp.example.com', 'puerto' => 2525, 'from' => array ('address' => null, 'name' => null), 'encryption' => 'tls', 'username' = > nulo, 'contraseña' => nulo,);Simplemente reemplace los valores con los de su servidor de correo electrónico, en consecuencia.
A continuación, necesitamos una vista para el correo electrónico. Vamos a crear uno, llamado
bienvenido.blade.php
, que se utilizará cuando un nuevo miembro se registre en nuestro sitio web para fanáticos de Justin Bieber.Hola, $ usuario-> nombre. ¡Gracias de nuevo por registrarte para recibir las últimas noticias de Justin Bieber! Esperamos verte alrededor. Gracias gestion