[Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]


  • 0

    ->
    <-

    Lo primero que tengo que comentar, es que no soy para nada un experto en laravel ni tengo conocimientos avanzados de este, pero estoy empezando a conocerlo, y creo que sería muy positivo para todo el que quiere empezar a usar un framework orientado a php, la lectura y seguimiento del hilo, ya que iré recopilando información sobre todo lo que voy a ir aprendiendo, me gustaría progresar en el aprendizaje junto a todos vosotros, por ello prefiero que este hilo sea de todos y para todos.

    Si has leído el anterior párrafo y no te suenan las palabras php y framework o mejor dicho no tienes conocimientos suficientes sobre estos, pero estás muy interesado en la programación web, tendrás que comenzar desde cero:

    Lo primero de todo como en el título pone es un "framework para php" por ello tendrás que tener un amplio conocimiento sobre estás cosas, así como conocimientos de la programación orientada a objetos.

    1º PHP,

    !
    como sabrás es un lenguaje de programación de código del lado del servidor diseñado para el desarrollo web y contenido dinámico. Resumiendo el código que generes será interpretado por el servidor web en nuestro casó un servidor local [yo usaré wamp (apache - php - mysql)]

    Si no tienes ni idea de php tendrás que aprender antes de meterte de lleno en laravel, por tanto te dejo en manos de unos de los mejores maestros para mí en el mundo de la informática que te puedes encontrar en youtube.

    Es una lista de reproducción de su curso de php.

    [YOUTUBE]http://youtu.be/aUrBD6fgWKE?list=PLF2E7FC0407FF3398[/YOUTUBE]
    [/SPOILER]

    Si no tienes ni idea de php tendrás que aprender antes de meterte de lleno en laravel, por tanto te dejo en manos de unos de los mejores maestros para mí en el mundo de la informática que te puedes encontrar en youtube.

    Es una lista de reproducción de su curso de php.

    01.-Curso PHP-MySQL. Introducción – 21:58
    — Jesús Conde

    !<

    2º FRAMEWORK

    !
    Bien lo primero que tendrás que entender claramente es, ¿que es un framework y para que me va a servir exactamente?

    Cuando estas inmerso en un proyecto de programación de cualquier plataforma, y generas una cantidad abultada de información ya sea codigo, bases de datos, ficheros etc el uso y disfrute de la aplicación por parte de ti mismo y de compañeros programadores puede ser realmente tediosa, el framework resumiendo mucho, nos permitira organizarnos, con la estructuración y normalización de esta información.

    \ *definición : * un esquema (un esqueleto, un patrón) para el desarrollo y/o la implementación de una aplicación. *

    Todo esto parece muy simple y fácil de entender pero esto es solo un resumen de todo lo que hay detrás, los frameworks están desarrollados por así decirlo bajo un paradigma que se utiliza en el desarrollo de software, esta es la estructura MVC.

    Teoría: El Paradigma MVC

    MVC son las siglas de Modelo, Vista y Controlador. Es el patrónde diseño de software múy común en programasinteractivos orientados a objetos.

    Bajo el patrón de diseño de MVC, dentro de un programa,cada dominio lógico de edición (por ejemplo datospersonales, cuentas bancarias, artículos noticiosos,etcétera) necesita tres partes:

    1. El modelo, que es una representación de objetos deldominio lógico. En el ejemplo de datos personales, objetos comoPersona, Dirección y Teléfono.
    2. La vista, que es una o varias piezas de código queformatean y muestran todo o parte del modelo en el dispositivointeractivo (típicamente la pantalla). La vista típicamente es notificada de cambios en el modelo.
    3. El controlador, que interpreta la información que el usuario provee para hacer cambios en el modelo.

    La idea es que, al aplicar esta separación, se hace posiblecrear más de una vista para el mismo modelo (digamos, una vistaabreviada y una vista detallada), y reutilizar el modelo (y elcódigo que guarda el modelo de manera permanente) para escribirutilerías relacionadas, o incorporar datos del dominio originalen programas más grandes.

    http://www.hackerdude.com/courses/rails/Teoria_ParadigmaMVC.html

    Dejo un video de youtube de un gran experto en la informática como son los amigos de desarrolloWeb donde debaten estos conceptos.

    MVC #programadorIO – 1:08:07
    — DesarrolloWeb.com

    !<

    Una de las preguntas frecuentes llegado a este punto sería, ¿Por que laravel?, hay muchos frameworks orientados a php, ¿por que este y no otro? pues básicamente por que es uno de los más sencillos de usar, hace relativamente poco sacaron la versión 5 cambiando la estructura de los archivos y es el momento idóneo para empezar.

    ¿Que voy a necesitar?

    1º Instalación de APACHE+PHP+MYSQL [[URL="https://www.apachefriends.org/es/index.html"]XAMP o WAMP]
    Asegurate de que la versión que te bajes contenga la versión 5.* de php.

    COMPOSER
    Es el manejador de paquetes y dependencias, por así decirlo será quien actualice las librerías de tu proyecto y a través de el las instalaras.
    Yo recomiendo la instalación en windows para los menos expertos, aunque en linux es también muy fácil.

    3º LARAVEL
    Una vez instalado composer abriremos un terminal (windows: tecla Windows + R) y escribimos:
    composer create-project laravel/laravel nombreProyecto

    Si todo ha salido bien nos dirigimos a nuestro localhost en el navegador : localhost/nombreProyecto/public

    y nos saldrá algo como esto:

    ->
    <-

    *El post siguiente lo usaré para colgar vídeos explicativos y realizar un FAQ sobre preguntas y cuestiones más relevantes.



  • 1


  • 2

    Paradigma MVC y Laravel

    Veo esencial insistir en este tema desde el principio, ya que es conveniente tener las ideas bastante claras respecto a esto:

    Modelo - Datos
    Clases encargadas de trabajar con consultas de la base de datos, por cada tabla tendremos una clase
    cada registro será un objeto, las consultas se llamarán a través de métodos de estas clases.
    A la vez el uso de Eloquent que es un ORM que nos facilitará el trabajo.

    Vista
    producto final de una petición, el código html que se devuelve al cliente,

    Controlador
    Clases con métodos (acciones) que se comunicarán con los modelos para hacer consultas a la base de datos
    y con las vistas para la respuesta al cliente.

    http://fernando-gaitan.com.ar/laravel-parte-3-modelo-vista-controlador/

    Paradigma MVC y Laravel

    Como hemos visto ya anteriormente, laravel es como tantos, uno de los frameworks que se basan en este paradigma a la hora
    de organizarlo todo, es fundamental entender esto, quizás si no tienes las ideas muy claras te suene algo abstracto,
    veamos en que se traduce todo esto.

    Un video sobre la distribución de los directorios de larabel y más cosas.

    ->
    Nueva estructura de carpetas para los proyectos de Laravel 5 – 17:49
    — Duilio Palacios

    <-

    ->
    <-

    El Modelo

    Uno de los aspectos más importante de una aplicación web son las bases de datos, laravel nos proporciona
    la herramienta Eloquent ( ORM o mapeo objeto-relacional), básicamente creara una base de datos orientada a objetos totalmente virtual sobre la base de datos relacional,¡lo que permitirá usar nuestras tablas como si fueran objetos de clases! Pudiendo aplicar todas las caracteristicas de la orientación a objetos sobre estas.

    Por tanto a nuestros "objetos" les llamaremos a partir de ahora 'MIGRACIONES', cada migración representará a una tabla relacional( tabla existente 'fisicamente' en bd ).

    A continuación un escueto ejemplo para visualizar la creación de una migración y su implementación en la bd.

    MiProyecto\database\migrations\CreateUsersTable.php

    !

    class CreateUsersTable extends Migration {
    
        /* *        *  Run the migrations.
          *        *  @return void
         */
        public function up()
        {
            Schema::create('users', function(Blueprint $table)
            {
                $table->increments('id');
                $table->string('first_name');
                            $table->string('last_name');
                $table->string('email')->unique();
                $table->string('password', 60);
                            $table->boolean('activate')->default(true);
                $table->rememberToken();
                $table->timestamps(); // created_at y updated_at
            });
        }
    
        /* *        *  Reverse the migrations.
          *        *  @return void
         */
        public function down()
        {
            Schema::drop('users');
        }
    
    }
    

    !<

    Esta sera la clase que contendrá la migración, si queremos verlo implementado en el lado relacional,
    tendríamos que usar la interfaz ARTISAN a modo consola,para llevar la migración a la parte de nuestra base de datos. Siguiendo el ejemplo expuesto:

    !1º y fundamental tener ARTISAN instalado que nos dará la opción de poder funcionar con las migraciones:
    $> php artisan migrate:install
    Una vez instalado se nos creara en nuestra bd una tabla llamada migrations para sincronizar nuestras migraciones con la base de datos y el sistema de migraciones de laravel.

    $> php artisan migrate!<

    De esta forma nuestras migraciones serán creadas en nuestra base de datos.

    Todo esto lo manejaremos en la carpeta database de nuestro proyecto.

    ->
    Creando Migraciones en Laravel 5 – 28:00
    — Duilio Palacios

    <-

    El Controlador

    Cuando nuestra base de datos va adquiriendo un tamaño importante, las acciones que vamos a poder realizar sobre estos datos va a ser cada vez más variada, y el codigo que vamos a escribir para manipular estos datos va a ser cada vez más extenso, por ello necesitaremos a los controladores, estos controladores los representaremos como clases de php al igual como las migraciones,y cada clase tendrá sus respectivos procedimientos que serán tratados como "acciones" sobre estos datos.

    Aquí es donde tenemos la necesidad de usar el archivo routes.php, alojado en Miproyecto/app/routes.php , este archivo será como un diccionario
    de los controladores, donde cada palabra del diccionario tendrá esta pinta:

    !
    Route::get('home', 'HomeController2');

    'home' representa el nombre de la vista que usará el controlador ( la veremos más adelante' ).
    'HomeController' será el nombre del controlador.
    'index' será la acción a realizar por el controlador.

    Route::get('nombreDeLaVista', [email protected]');!<

    Ejemplo de un controlador alojado en Miproyecto\app\Http\Controllers\TestController.php
    Es solo un ejemplo de un posible uso aunque según veamos más adelante le daremos diferentes usos.

    !

    auth = $auth;
        }
       public function index() {
          return view('home');
       }
       public function getUsuarios() {
          $users = User::all();
          $real_names = '';
          foreach ($users as $item) {
             $real_names .= "{$item->real_name} [br].[/br]";
          }
          return $real_names;
       }
       public function getUsuario($id){
          $user = User::find($id);
          return "{$user->real_name} / {$user->email}";
       }
    }
    ?>
    

    !<

    Cabe resaltar que los controladores tendrán varías funciones, y podemos relacionarlos más con la parte de los datos, controlador-modelo o con la parte de la vista controlador-vista.

    Aquí un video del uso general de los controladores, aunque recomiendo ver los videos anteriores de ese mismo curso para entenderlo todo mejor.

    ->
    Fluent y Eloquent en Laravel 5 - Parte 1 – 15:40
    — Duilio Palacios

    <-

    La Vista

    Teniendo lo anterior presente podemos hacernos una idea de que podemos tener en estos archivos,
    anteriormente he mencionado el archivo routes.php y mencionaba el uso del nombre de alguna vista,
    de esta forma asociamos los controladores con las vistas, estos controladores nos pondrán en contacto con las vistas por así decirlo y básicamente lo que tendremos aquí será codigo html + php.

    routes.php nos permitirá acceder a las vistas de manera que si lo que tengo en routes.php es esta linea
    Route::get('home', 'TestController2'); a través de localhost/miProyecto/home
    accedere al controlador TestController ~(\app\Http\Controllers\TestController.php)

    TestController a su vez como hemos visto en el ejemplo anterior nos enviara a su metodo index
    y este metodo nos lanzara a la vista "\resources\views\home.blade.php" cuyo contenido será
    una pagina de bienvenida.

    ->
    LARAVEL 5 - Rutas, Controladores y Vista – 10:56
    — Jose David Portales

    <-



  • 3

    Muy buena shur. Pillo sitio para ayudar a quien lo necesite (tanto Laravel 4/5 como OctoberCMS).



  • 4

    @PepperoniPizza jajaj creía que nadie iba a responder en este post! ya somos 2 con laravel jaj, bueno yo estoy metido en un curso y una comunidad de programadores de laravel, dentro de poco se realizará un curso para la creación de un proyecto desde 0, y se supone que todos tenemos experiencia asíque seguro que será muy interesante, quien quiera mas info le mando un mp.

    PD : por cierto, los SPOILERS SE VEN DE PENA o es cosa mía?



  • 5

    Ni idea de que esto existía. A ver si tengo un ratillo este finde para darle una vuelta, a lo mejor hasta me lanzo a hacer un proyectillo que me han encargado con esto.



  • 6

    <?php echo 'pillo sitio' ?>  



  • 7

    php es el futuro :elboinas:



  • 8

    @marty menos python, lo que sea, será.



  • 9

    @ntzz python es bueno en lo suyo



  • 10

    @marty que es lo suyo? la basura? xD



  • 11

    @ntzz dijo en [Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]:

    @marty que es lo suyo? la basura? xD

    google, youtube, reddit, dropbox usan python :exoleto:



  • 12

    @marty Si lo digo por el hate que le tengo, no porque no se utilice xD



  • 13


  • 14

    @ntzz dijo en [Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]:

    @marty Si lo digo por el hate que le tengo, no porque no se utilice xD

    ¿Y esa manía?
    A mi me pone enfermo lo de los tabuladores en lugar de llaves, pero vamos, que son cosas mías que otros lo agradecen :roto2nuse:



  • 15

    @ntzz dijo en [Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]:

    @marty Si lo digo por el hate que le tengo, no porque no se utilice xD

    pero si va súper bien y es sencillo :exoleto: (no me refiero al rendimiento, me refiero a que funciona)



  • 16

    @dehm dijo en [Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]:

    @ntzz dijo en [Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]:

    @marty Si lo digo por el hate que le tengo, no porque no se utilice xD

    ¿Y esa manía?
    A mi me pone enfermo lo de los tabuladores en lugar de llaves, pero vamos, que son cosas mías que otros lo agradecen :roto2nuse:

    yo tb detesto eso



  • 17

    @dehm cosillas como esa, que algunos ven más sencillo, yo lo veo más sucio



  • 18

    @ntzz dijo en [Info] LARAVEL 5 - framework para PHP [PROGRAMACIÓN WEB]:

    @dehm cosillas como esa, que algunos ven más sencillo, yo lo veo más sucio

    Vaya por delante que yo sólo soy un manazas aficionado, pero me inicié en C++ y eso de que las variables tampoco tengan tipo no me gusta nada. Sé que es más sencillo, pero me agobia.
    En fin, lo dejo aquí que esto es para hablar de PHP/Laravel 5





Has perdido la conexión. Reconectando a Éxodo.