...

Laravel 5.1 tutorial tips

Laravel es un framework de código abierto para desarrollar aplicaciones y servicios web con PHP 5. Su filosofía es desarrollar código PHP de forma elegante y simple, evitando el "código espagueti". Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.

Laravel tiene como objetivo ser un 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.

 

Instalar Laravel Via Composer Create-Project

Crear proyecto con el nombre de carpeta "laravel"

composer create-project laravel/laravel --prefer-dist

 

Crear proyecto con el nombre de carpeta "miproyecto"

composer create-project laravel/laravel miproyecto --prefer-dist

 

Crear proyecto en la raiz de la carpta que actualmente se encuentra en terminal

composer create-project laravel/laravel . --prefer-dist

 

Una ves instalado es preciso ponerle darle permisos de escritura a la carpeta "storage" desde la terminal con el mando:

chmod -R 777 storage

 

 

Para ver como configurar apache en Linux  click aquí

 

Migraciones

Migraciones para crear sólo tablas:

Las migraciones en Laravel podemos hacer de 2 formas desde la terminal en linux o CMD en windows

1.- Este modo de migracion va a crear un archivo de migracion de DB en la ruta "database/migrations/" solo genera ciertos codigos, sin el nombre de la tabla que va ser creado.

php artisan make:migration crear_usuarios_tabla

 

2.- Este modo de migracion va a crear un archivo de migracion de DB en la ruta "database/migrations/" genera archivos con el codigo ya configurado con el nombre de la tabla "contactos" y los campos Id y fecha. Al poner "--create=contactos" le estamos diciendo que el nombre de nuestra tabla que se va crear es "contactos"

$ php artisan make:migration crear_contactos_tabla --create=contactos

Procedemos a migrar el archivo antaerior generado ejecutando el siguiente comando

php artisan migrate

 

Lista de algunos comandos mas frecuentes:

php artisan make:model Contactos        # Para crear nuevo model
php artisan make:controller ContactosController        # Para crear nuevo controlador

 

 

Composer

Si hicimos ciertos cambios a veces requiere que se refresque el cache, para eso ejecutamos el siguiente copmando en el terminal

composer dump-autoload

 

Para instalar los paquetes que estan listado en el archivo de configuración "composer.json" de composer, 

composer install

 

Para actualizar los paquetes que estan listado en el archivo de configuración "composer.json" de composer, 

composer update

 

 

Tips

Si queremos saber los comandos disponibles podemos ejecutar los siguinetes comandos desde el terminal:

Para artisan:

php artisan

 

Y nos mostrará un mensaje como esto:

Laravel Framework version 5.1.19 (LTS)

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under.
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  clear-compiled      Remove the compiled class file
  down                Put the application into maintenance mode
  env                 Display the current framework environment
  help                Displays help for a command
  inspire             Display an inspiring quote
  list                Lists commands
  migrate             Run the database migrations
  optimize            Optimize the framework for better performance
  serve               Serve the application on the PHP development server
  tinker              Interact with your application
  up                  Bring the application out of maintenance mode
 app
  app:name            Set the application namespace
 auth
  auth:clear-resets   Flush expired password reset tokens
 cache
  cache:clear         Flush the application cache
  cache:table         Create a migration for the cache database table
 config
  config:cache        Create a cache file for faster configuration loading
  config:clear        Remove the configuration cache file
 db
  db:seed             Seed the database with records
 event
  event:generate      Generate the missing events and listeners based on registration
 handler
  handler:command     Create a new command handler class
  handler:event       Create a new event handler class
 key
  key:generate        Set the application key
 make
  make:command        Create a new command class
  make:console        Create a new Artisan command
  make:controller     Create a new resource controller class
  make:event          Create a new event class
  make:job            Create a new job class
  make:listener       Create a new event listener class
  make:middleware     Create a new middleware class
  make:migration      Create a new migration file
  make:model          Create a new Eloquent model class
  make:policy         Create a new policy class
  make:provider       Create a new service provider class
  make:request        Create a new form request class
  make:seeder         Create a new seeder class
  make:test           Create a new test class
 migrate
  migrate:install     Create the migration repository
  migrate:refresh     Reset and re-run all migrations
  migrate:reset       Rollback all database migrations
  migrate:rollback    Rollback the last database migration
  migrate:status      Show the status of each migration
 queue
  queue:failed        List all of the failed queue jobs
  queue:failed-table  Create a migration for the failed queue jobs database table
  queue:flush         Flush all of the failed queue jobs
  queue:forget        Delete a failed queue job
  queue:listen        Listen to a given queue
  queue:restart       Restart queue worker daemons after their current job
  queue:retry         Retry a failed queue job
  queue:subscribe     Subscribe a URL to an Iron.io push queue
  queue:table         Create a migration for the queue jobs database table
  queue:work          Process the next job on a queue
 route
  route:cache         Create a route cache file for faster route registration
  route:clear         Remove the route cache file
  route:list          List all registered routes
 schedule
  schedule:run        Run the scheduled commands
 session
  session:table       Create a migration for the session database table
 vendor
  vendor:publish      Publish any publishable assets from vendor packages
 view
  view:clear          Clear all compiled view files

 

Para composer:

Segun la instalación / Configuración que se tiene, yo he configurado para llamar ami composer así "composer", entonces ejecumos el comando: de esta manera

composer

 

Y nos mostrará un mensaje como esto:

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.0-dev (7a9eb02190d334513e99a479510f87eed18cf958) 2015-10-07 10:05:33

Usage:
 command [options] [arguments]

Options:
 --help (-h)           Display this help message
 --quiet (-q)          Do not output any message
 --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 --version (-V)        Display this application version
 --ansi                Force ANSI output
 --no-ansi             Disable ANSI output
 --no-interaction (-n) Do not ask any interactive question
 --profile             Display timing and memory usage information
 --working-dir (-d)    If specified, use the given directory as working directory.

Available commands:
 about            Short information about Composer
 archive          Create an archive of this composer package
 browse           Opens the package's repository URL or homepage in your browser.
 clear-cache      Clears composer's internal package cache.
 clearcache       Clears composer's internal package cache.
 config           Set config options
 create-project   Create new project from a package into given directory.
 depends          Shows which packages depend on the given package
 diagnose         Diagnoses the system to identify common errors.
 dump-autoload    Dumps the autoloader
 dumpautoload     Dumps the autoloader
 global           Allows running commands in the global composer dir ($COMPOSER_HOME).
 help             Displays help for a command
 home             Opens the package's repository URL or homepage in your browser.
 info             Show information about packages
 init             Creates a basic composer.json file in current directory.
 install          Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
 licenses         Show information about licenses of dependencies
 list             Lists commands
 remove           Removes a package from the require or require-dev
 require          Adds required packages to your composer.json and installs them
 run-script       Run the scripts defined in composer.json.
 search           Search for packages
 self-update      Updates composer.phar to the latest version.
 selfupdate       Updates composer.phar to the latest version.
 show             Show information about packages
 status           Show a list of locally modified packages
 suggests         Show package suggestions
 update           Updates your dependencies to the latest version according to composer.json, and updates the composer.lock file.
 validate         Validates a composer.json and composer.lock