Тот самый 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
Может войдёшь?
Черновики Написать статью Профиль

Статьи

Создаем сайт на Lumen (Laravel) - Установка

Lumen Установка

Веб-программирования для меня - это хобби. Поэтому я могу переключиться на что-то другое и не заниматься web-разработкой в течении длительного времени. Когда я возвращаюсь к этому, то некоторые моменты приходится вспоминать заново. Эта статья - это инструкция для меня, а также, надеюсь помощь кому-то из вас.

У меня несколько сайтов и в очередной раз я решил обновить их. В качестве основы выбрал Lumen. Это PHP-микрофреймворк написанный на основе компонентов Laravel его автором. Он достаточно простой и шустрый, как раз то, что мне нужно.

Установка Open Server

Локальную версию сайта я запускаю на Open Server, использую версию 5.2.9…

Знакомимся с Laravel Orchid

laravel5 orchid

Для нашего любимого фреймворка существует с десяток различных админок и ещё больше генераторов, выбор может показаться настолько запутанным, что некоторые пишут исключительно свои решения. Я не работал со всеми и не могу утверждать, что какие то лучше/хуже, но могу рассказать об ORCHID и как с ней работать ~ за 10 минут.

Всегда начинайте с данных

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

Создадим новую модель "Проекты":

php artisan make:model Project -m

Используя флаг -m, будет создан…

leopoldus

материал полезный. рассмотрите тему ещё :)

Сайт на Laravel. Nginx + Apache

laravel request_uri nginx

Решил поделиться, т.к. настройка 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>

и всё тип-топ.

До тех пор пока не возникает задача…

nailfor

Мысль у меня возникает только одна «Дядя Вова, ты..?»
В смысле нафига? И доколе? php-fpm, не?

Выполняем тестовое задание (Мини блог) — Часть 4

laravel 5 Тестовое задание

Всем привет, кто читает мою статью.
Продолжаем выполнение тестового задания. Выполним пункт 3-5.

3) Добавить возможность удалять статьи в мягком режиме
. При этом сделать возможность обновить систему со старой версии (из первого задания) на новую без полного сброса БД.
Для возможности удаление статей в мягком режиме из таблицы «articles» создадим миграцию :

  1. php artisan make:migration ChangeArticleSoftTable --table=articles

В созданной миграции в методе up() опишем softDeletes.

raketa

Спасибо, исправил

Выполняем тестовое задание (Мини блог) — Часть 3

laravel 5 Тестовое задание

Всем привет, кто читает мою статью.
Продолжаем выполнение тестового задания. Выполним пункт 2.

— Расширить модель User, чтобы она имела поля, соответствующие форме index.html.
Создаем миграцию, в которой вносим изменения в таблицу «users» необходимые для расширения модели User:

  1. php artisan make:migration ChangeUserTable --table=users

В созданной миграции в методе up() опишем создаваемые поля:

PHP
class 

Выполняем тестовое задание (Мини блог) — Часть 2

laravel 5 Тестовое задание

Всем привет, кто читает мою статью.
Создадим проект, начальную базу для дальнейшей работы. Используемые программные средства:
• IDE — Sublime Text.
• Laragon Wamp 4.0.
• Git.
• Laravel 5.5.
• Bootstrap 4.

Используемые дополнительные библиотеки:
laravelcollective/html — v 5.4.
intervention/image — v 2.4.
stechstudio/laravel-php-cs-fixer — v 1.0.

raketa

Спасибо, поправил.

Выполняем тестовое задание (Мини блог) — Часть 1

Laravel 5.х Тестовое задание

Всем привет, кто читает мою статью.
Очень много можно философствовать с чего начать изучение Laravel. Без теории никуда, но и практика нужна. Начнем с малого. Разработаем маленький тестовый проект.
Путешествуя по просторам интернета, я наткнулся на «Тестовое задание по Laravel», спасибо worldofswift. Ссылка на Git.
Задание:
1) Дано:
· Модель User без кастомных полей.
· Модель Article с полем text.
· Относятся как многие ко многим.
· Написать свойство articles в первой модели, которое вернёт все статьи…

Локализация роутера под SEO

route seo

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

Дано: после почти полной готовности проекта на Laravel, заказчик хочет, чтобы локализация была реализована не просто переключением языка и отображением нужной версии сайта в соответствии с тем, что указано в сессии. Нужно было реализовать два сайта: русская и английская версия — которые лежали бы по разным путям. Для SЕО-продвижения не должно быть двух разных страниц по одному URL. И индексироваться русская и английская версия сайта должны отдельно…

WarLight

Отличное дополнение) Хотя реализация чуть другая)

Жаль вовремя не нашлись нужные библиотеки.

Создание отчетов в Laravel

report

Доброе время суток, коллеги!

Сегодня я хотел рассказать о своем пакете для генерации отчетов.

Собственно, что означает слово "отчет"?

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

Часто они просят вас выгружать статистические данные, возможно в Excel или PDF, может в более извращенный формат файлов.

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

Но остаются такие проблемы как:

  • создание UI
  • оформление структуры
  • архитектура
  • и чтоб все свистело и крутилось
  • а само может?

Да, я решил создать некое решение, сбрасывая часть проблем в этом направлении…

bobanobi4

Статья хорошая, но вот есть такая невкусняшкак производительность данного чуда, когда к примеру хочешь слить ~100k записей, то после небольших игр с данными ложится PHP, так как память кончается, а если сливать данных на 250к, то PHP может попросить и 1,5-2Гб оперативки, что для сервера невкусно зачастую и он може зависнуть (было такое с моим)
P.S. выход использовать другой класс, он проще куда более чем и методов там немного и да (не поддерживает стилизацию ячеек), но зато его можно дописать и с большими объемами справлется очень прекрасно и не жрет оперативку за счет прямого генерирования в Exele-подобный XML
Вот собственно сам класс https://github.com/mk-j/PHP_XLSXWriter, успехов в Excel

Создание вида "на лету"

Виды

Хочу представить на ваш суд мой первый пакет для Laravel. Его высшее предназначение в том, чтобы генерировать виды из кода "на лету". Поясню, что кроется за этой загадочной фразой.

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

Сами-то мы из MODX-овских будем. А там вошло в привычку использование INLINE шаблонов без создания чанков. И вот в моём проекте на Laravel понадобилось создать несколько маленьких видов для li и button элементов. Решил использовать…

Agel_Nash

Для начала пошукал что-то готовое. Ничего. Зеро. Ну и решил заняться велосипедостроительством

Когда я делал пакет EvoBlade под MODX, то столкнулся с аналогичной проблемой - компиляция из строки. И пакетов реализующих данный функционал полно - как пример wpb/string-blade-compiler

Но можно реализовать проще, как это сделано тут facuz/laravel-themes (ex teepluss\theme)

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