Решил поделиться, т.к. настройка nginx зачастую съедает кучу нервов и времени, может кому-нибудь поможет.
Итак, ситуация:
Есть сайт на laravel, разработанный, работающий. Но под управлением только apache,
разработчики привычно копипастят в .htaccess сие
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
и всё тип-топ.
До тех пор пока не возникает задача…
Как вы знаете, PHPRoute::controller()
был удален из Laravel 5.3 и выше.
Лично мне листать файл роута на 3 страницы, выискивая что на что ссылается не доставляет никакого удовольствия. Да, есть PHPRoute::resource()
, но хочется как в старое доброе время, прописал и забыл.
Короче, ниже класс для возвращения этого функционала.
Еще во времена laravel 3 поступило мне задание от очередного оптимизатора, которое заключалось в следующем:
- Постраничный вывод должен генерировать ссылки вида /news/page2, /news/page3 и тд
- Страницы /news/page1 не должно быть вообще, должно быть просто /news
- В title нужно добавить номер страницы как-то так: «оригинальный тайтл» — страница «номер страницы»
- Автоматическая генерация link rel="canonical" для страниц с номером, добавление link rel="prev" и link rel="next"
Посмотрев исходники я понял что проще написать свой FPagination. F — потому что fucking friendly.
Надежный как автомат Калашникова и простой как сатиновые трусы.
Очень часто случаются ситуации, когда разработчики не сразу понимают друг друга. Общаясь на форуме, они называют одни и те же вещи по-разному. В ход идут различные переводы одних и тех же терминов, слэнг и рунглиш, режущие слух.
Мне кажется, я нашел выход: можно пользоваться словарем, поддерживаемым и регулярно обновляемым всем сообществом. Внести изменения можно здесь, с помощью коммита, а обсудить наилучший вариант перевода того или иного термина можно в данной ветке. Словарь будет регулярно обновляться, поэтому вы смело можете внести эту страницу в закладки.
Неплохой, на мой взгляд, альтернативой данному словарю может быть использование оригинальных терминов на английском…
так будет Явно работать :)