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.
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
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
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
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