- PVSM.RU - https://www.pvsm.ru -

Вышел Laravel 4

Состоялся долгожданный релиз четвертой версии замечательного фреймворка.
Также обновился официальный сайт [1]

Быстрая установка

Для установки Laravel, скачать копию репозитория с Github [2].
Далее, после установки Composer [3], запускаем 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 [4]

Чтобы создать контроллер из под консоли, выполнить следующую команду:

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 контейнер [5]. 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');

Если заинтересовало, можно пройти по ссылочкам.

Документация [6]
Быстрый Старт [7]
Github [8]

Автор: JiLiZART

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/framework/35468

Ссылки в тексте:

[1] сайт: http://laravel.com/

[2] репозитория с Github: https://github.com/laravel/laravel/archive/master.zip

[3] установки Composer: http://getcomposer.org/

[4] Artisan CLI: http://laravel.com/docs/artisan

[5] IoC контейнер: http://laravel.com/docs/ioc

[6] Документация: http://laravel.com/docs

[7] Быстрый Старт: http://laravel.com/docs/quick

[8] Github: https://github.com/laravel/laravel

[9] Источник: http://habrahabr.ru/post/181328/