Вышел Laravel 4

в 2:27, , рубрики: framework, laravel, laravel 4, php, метки: , , ,

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

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

Для установки 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

Источник

Поделиться

* - обязательные к заполнению поля