Тот самый PHP-фреймворк для веб-ремесленников

REST-маршрутизация

Route::get('/', function()
{
  return 'Привет, мир!';
});

Простая работа с данными

Post::with('comments')
  ->where('public', 1)
  ->orderBy('created_at')
  ->get();

Расширенные шаблоны

@foreach ($users as $user)
  <p>{{{ $user->name }}}</p>
  @include('user.info', $user)
@endforeach
Может войдёшь?
Черновики Написать статью Профиль

Статьи

SEOFriendlyPaginator — пагинатор без зеркала первой страницы (?page=1) и несуществующих страниц (?page=999999)

версия 5.4 404 ошибка зеркала версия 5.x пагинатор seo paginator

В стандартном пагинаторе (PHPLengthAwarePaginator) есть пара досадных косяков:

  1. При выводе пагинатора на страницах >= 2 — ссылка на первую страницу идет в виде example.com/?page=1 и это создает «зеркало» страницы для поисковика — тот же самый контент находится и на странице example.com/.
  2. Если зайти на страницу example.com/?page=999999, то мы не увидим 404 страницу ошибки, а просто увидим пустую страницу с пагинатором.

Я написал решение этих двух проблем и выкладываю его, чтобы вы покритиковали и сказали как можно было сделать проще и изящнее.

Proger_XP
  1. PS: лучше код гляньте, скажите — правильная ли реализация или я что-то не учел или мог бы сделать лучше?

Явных проблем не вижу, но есть два момента, из-за которых вы делаете два запроса вместо одного.

PHP
if (count($this->query) > 0) {

Это может вызывать повторный запрос, т.е. внутри paginator будет делаться два запроса (нужно проверить).

PHP
$items Article::filtered();
$total $items->count();
...
$items $items->skip(($page 1) * $per_page)->take($per_page)->get();

Здесь вы вначале делаете запрос с COUNT, дальше без, но с LIMIT. А зачем первый запрос вообще нужен? Ведь вы после второй выборки уже имеете массив; если он пустой — значит, PHP$page слишком велика и нужно выдавать 404 (по вашей логике). Нет смысла дополнительно вначале проверять общее число записей в таблице, это можно определить из второго запроса.

JavaScript и CSS

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.3). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Laravel не навязывает использование определённых препроцессорров JavaScript и CSS, но предоставляет основу, с которой можно начать, используя Bootstrap и Vue, которые будут полезны во многих приложениях. По умолчанию Laravel использует NPM для установки этих фронтенд-пакетов.

CSS

Valet

перевод документация 5.х

Этот перевод актуален для англоязычной документации на (ветка 5.2). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Valet — среда для разработки в Laravel для минималистов, работающих на Mac. Без Vagrant, без Apache, без Nginx, без файла /etc/hosts. Можно даже расшаривать сайты в общий доступ через локальные туннели. Да, нам и самим это нравится.

Laravel Valet включает на вашем Mac фоновую автозагрузку Caddy. Затем с помощью…

pilat

По поводу «Пользовательские драйверы Valet»: нет ли рекомендаций по поводу отладки драйверов?

А то я что-то набросал свое, но получаю редирект на `localhost:8888` с ошибкой `ERR_CONNECTION_REFUSED`. Попытки использовать `var_dump` в телах методов ничего не принесли :/

80 учебников, пакетов и ресурсов по Laravel за 2016 год

перевод Laravel-News.com

2016 подошёл к концу, самое время взглянуть на прошедший год и оценить масштаб прогресса. Для Laravel это был насыщенный год: вышла версия 5.3, прошёл Laracon, обновились все компоненты, а теперь готовится к выходу Laravel 5.4.

Чтобы вспомнить события этого года, я собрал в один список самые значимые события и расположил их по месяцам, чтобы вы могли пробежаться по ним.

Семь советов для эффективного изучения Laravel

перевод Laravel-News.com

По мере роста сообщества Laravel появляется всё больше обучающих ресурсов. Это здорово! Но как выбрать из них лучшее? На какой стоит потратить своё время? Этим вопросом задаются те, кто не знаком с фреймворком. Вот семь советов, которые помогут вам изучать Laravel более эффективно.

Некоторые из них будут специфичны для Laravel, а другие являются общими для изучения любого языка программирования или фреймворка. Давайте начнём.

Proger_XP

Шестой пункт (про наставника) выглядит притянутым за уши — есть люди, которым наставник противопоказан и они гораздо лучше во всём разбираются сами. Я сам такой. А остальные пункты дельные и, на мой взгляд, подходят для каждого.

Laravel Uptime Monitor

перевод Laravel-News.com

Для многих людей интернет стал просто незаменим, он является источником их доходов. Большинство веб-приложений не могут позволить себе быть недоступными даже несколько секунд.

Spatie выпустили очень полезный пакет Laravel Uptime Monitor, который обеспечивает простой и мощный способ отслеживания доступности вашего сайта и даты истечения SSL-сертификата. Uptime Monitor уведомит вас о недоступности вашего сайта при помощи гибкой системы уведомлений Laravel 5.3. А когда ваш сайт «поднимется», пакет любезно уведомит вас и расскажет, в течении какого времени сайт был недоступен.

Давайте посмотрим, как настроить…

Spark и хранилище

перевод

Я давно хотел чаще писать о новостях разработки, и сейчас отличное время начать!

На этой неделе я добавил в Spark загрузку фото профиля и управление им. Добавление этой функции заставило меня немного глубже погрузиться в интеграцию Laravel с Flysystem и в классы для загрузки, поскольку Forge и Envoyer не поддерживают загрузку файлов.

Один из упрощённых мной процессов — получение URL файла, сохранённого в Flysystem в открытом виде. Для адаптера AWS это довольно простая задача, поскольку в AWS SDK есть метод для получения URL…

Переадресация после авторизации в Laravel

перевод

Во встроенной в Laravel системе авторизации есть свойство PHPredirectTo в контроллерах PHPLoginController, PHPRegisterController и PHPResetPasswordController. В этом свойстве можно задать то место, в которое будут отправляться пользователи после выполнения соответствующего действия.

Внутри самого Laravel это настраивается и реализуется при помощи типажа PHPRedirectsUsers, а последние минорные улучшения позволяют вам определить метод PHP

scriptix

Как то непривычно «при помощи типажа RedirectsUsers». Более привычно «при помощи трейта RedirectsUsers»;)

Используем Vue в Laravel 5.3 с начальной загрузкой и образцом компонента

перевод новое в 5.3

Использовать компоненты Vue в Laravel 5.3 прямо из коробки стало проще, чем когда-либо, потому что в 5.3 по умолчанию более продуманный стек для фронтенда, чем в предыдущих версиях. Не переживайте, разобраться в компонентах по умолчанию не сложно.

Давайте вместе посмотрим на стек JavaScript в Laravel 5.3. Запустите пример приложения с помощью установщика Laravel (а если вы похожи на меня, используйте Lambo), и откройте сайт в своей любимой IDE.

Обновление обработчиков очереди в Laravel 5.3

перевод новое в 5.3

Очереди — один из тех инструментов Laravel, о котором все знают, но мало кто понимает их полностью. И это не удивительно, ведь многие впервые сталкиваются с очередями именно в Laravel, а они не так уж и просты, на самом деле.

К счастью, в Laravel 5.3 произошло совсем немного внешних изменений в работе с очередями.

← Назад | ДальшеДвижется на Habravel