Вышел Laravel 4

от автора

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

Также обновился сам сайт фреймворка.

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

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

Однако, если заглянуть в класс Illuminate\Support\Facades\Cache, вы заметите что там нет метода 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

ссылка на оригинал статьи http://habrahabr.ru/post/181328/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *