Состоялся долгожданный релиз четвертой версии замечательного фреймворка.
Также обновился официальный сайт
Быстрая установка
Для установки Laravel, скачать копию репозитория с Github.
Далее, после установки Composer, запускаем composer install
команду в корневой папке. Composer скачает и установит все зависимости.
Мини обзор
Роутинг
Субдомены
Route::group(array('domain' => '{account}.myapp.com'), function()
{
Route::get('user/{id}', function($account, $id)
{
//
});
});
Префиксы
для всех роутов начинающихся на /admin/
Route::group(array('prefix' => 'admin'), function()
{
Route::get('user', function()
{
//
});
});
Присвоение модели к параметру роута
Route::model('user', 'User');
Теперь определим роут с параметром {user}
Route::get('profile/{user}', function(User $user)
{
//
});
Контроллеры
Ресурс контроллеры
Ресурс контроллеры позволяют легко создавать RESTful контроллеры. К примеру, вам может понадобиться создать контроллер который управляет «фотками» в вашем приложении. Используя controller:make
через Artisan CLI
Чтобы создать контроллер из под консоли, выполнить следующую команду:
php artisan controller:make PhotoController
Теперь мы можем определить ресурс роут:
Route::resource('photo', 'PhotoController');
Одно определение роута может обрабатывать множество разных RESTful действий нашего photo ресурса.
Действия обрабатываемые ресурс контроллером
GET | /resource | index | resource.index |
GET | /resource/create | create | resource.create |
POST | /resource | store | resource.store |
GET | /resource/{id} | show | resource.show |
GET | /resource/{id}/edit | edit | resource.edit |
PUT/PATCH | /resource/{id} | update | resource.update |
DELETE | /resource/{id} | destroy | resource.destroy |
Rest контроллеры
Назначение контроллера роуту
Route::controller('users', 'UserController');
controller
метод принимает два аргумента. Первый — базовый URI который обрабатывает контроллер, а второй имя класса контроллера. Далее, просто добавим методы в контроллере, с префиксом соответствующим типу HTTP:
class UserController extends BaseController {
//GET /user/index
public function getIndex()
{
//
}
//POST /user/profile
public function postProfile()
{
//
}
}
Если действие вашего контроллера содержит несколько слов, вы можете обращаться к ним через «тире» в URI. К примеру, текущее действие контроллера UserController
будет обрабатывать users/admin-profile
URI:
public function getAdminProfile() {}
Фасад
Фасады предоставляют «статический» интерфейс к классам которые доступны через IoC контейнер. Laravel использует фасады повсеместно, и вы можете использовать их даже не зная об этом.
Например, реализация класса Cache
$value = Cache::get('key');
Однако, если заглянуть в класс IlluminateSupportFacadesCache
, вы заметите что там нет метода get
class Cache extends Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'cache'; }
}
Класс Cache наследуется от Facade
класса, и определяет метод getFacadeAccessor()
который возвращает имя ключа в IoC контейнере.
Альтернативная реализация Cache::get
без использования фасада
$value = $app->make('cache')->get('key');
Если заинтересовало, можно пройти по ссылочкам.
Документация
Быстрый Старт
Github
Автор: JiLiZART