Pull to refresh

Laravel 4. Отличия и сравнения

Reading time 2 min
Views 11K
image

Относительно не давно была выпущена первая Beta фреймворка «Laravel». Товарищ rsvasilyev начал публикацию статей о разработке на 4-й версии, я в свою очередь хочу описать новые преимущества и сравнить с его предыдущей версией.

Если вы заинтересованы в этом, прошу под кат.


Изменений произошло много, но начну я пожалуй с моего любимого изменения, которое избавило от велосипедов.
Раньше мы могли применять всего 2 статически-регулярных выражений для URL вида /user/{значение}.

Первое — Последовательность цифр:

Route::get('user/(:num)', function  ($id) {
    return $id;
});


Второе — Буквенно-цифровое:

Route::get('user/(:any)', function  ($name) {
    return $name;
});


В новой версии ситуация изменилась и теперь мы сами можем назначать регулярное выражение на каждое значение.
Делается это довольно просто, одним движением пальцев:

Route::get('news/{habr}', function($habr)
{
    return $habr;
})
->where('habr', '[A-Za-z]+');


или

Route::get('news/fullnews/{idNews}', function($idNews)
{
    return $idNews;
})
->where('idNews', '[0-9]+');

Еще стоит уточнить некоторую особенность: Если вы заменим {idNews} на {idNews?} и добавим в параметр значение function($idNews = '4'), то по обращению на /news/fullnews, мы получим новость с ID = 4.


Легко, не правда ли? Поехали дальше.

Добавлена возможность использовать не только группу для фильтров, но и к определенным URL:

Route::filter('blacklist', function()
{
   return 'Привет, Habrahabr.';
});

Route::when('chat/*', 'blacklist');

Тем самым на все URL вида: chat/*, будет применяться фильтр blacklist.


Все выше описанное использовалось лично мной в проекте, остальное я опишу ниже.

Маршруты

  • Добавлена возможность применять модели к параметрам.
  • Теперь мы свободно можем описывать фильтры в классах.
  • Применение маршрутов к поддоменам.
  • Использование префиксов в группах.


Новые функции

  • Добавлены функции для работы с почтой.
  • Добавлены функции для работы с Composer, в особенности для Artisan.
  • Добавлены очереди и большой пакет функциональности работы с ними.


Ссылка на сам Framework и на документацию для 4-й версии. (Перевода пока нету)

Если вы дочитали мою первую статью до конца, то я испытаю чуточку удовольствия.
Tags:
Hubs:
+4
Comments 15
Comments Comments 15

Articles