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

Статьи

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

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

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

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

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

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

PHP
class 
seqond

Зачем использовать множественные get / post маршруты для profile если можно использовать 1 запись resource?

Route::resource('profile', 'UserController')

Выполняем тестовое задание (Мини блог) — Часть 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.

yiimar

Зачастую в качестве primary key для связующей таблицы для связи many-many лучше использовать составной ключ (user_id, article_id), без id.

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

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

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

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

route seo

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

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

WarLight

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

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

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

report

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

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

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

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

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

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

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

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

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

Anubis

Спасибо. Полезный материал и актуальный.

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

Виды

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

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

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

lnroma

Сама суть шаблонизатора логику отделить от шаблона

Уведомления

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

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

Введение

Вдобавок к поддержке отправки email Laravel поддерживает отправку уведомлений по разным каналам доставки, включая почту, SMS (через Nexmo) и Slack. Уведомления также можно сохранять в БД, чтобы выводить их в вашем веб-интерфейсе.

Обычно уведомления — это короткие информационные сообщения для пользователей о том…

Хорошие практики Laravel: соглашения об именовании

Best practices Хорошие практики

Эта статья - попытка собрать в одном месте все существующие на данный момент соглашения об именовании, гласно или негласно принятые сообществом Laravel. Я решил собрать всю информацию в виде удобной таблицы, актуальную версию которой вы всегда сможете найти здесь.

Что Правило Принято Не принято
Контроллер ед. ч. ArticleController ArticlesController
Маршруты мн. ч. articles/1 article/1
Имена маршрутов snake_case users.show_active users.show-active, show-active-users
Модель ед. ч. User Users
Отношения hasOne и belongsTo ед. ч. articleComment articleComments, article_comment
Все остальные отношения мн. ч. articleComments articleComment, article_comments
ivanbcde

Как может фреймворк рекомендовать именование таблиц БД?

А если уже существует БД именование в которой отличается от указанного выше,
то нарушать best practices?

Как называть таблицы и поля не может рекомендовать PHP-фреймворк.

Это сомнительно! Однако название очень кричащее и много на себя берущее!

Вещание событий

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

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

Введение

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

Для помощи в создании таких приложений Laravel обеспечивает простую настройку…

Тестирование приложения

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

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

Введение

Laravel предоставляет очень удобный API для создания HTTP-запросов к вашему приложению, проверки вывода, и даже заполнения форм. Например, посмотрим на приведённый тест:

PHP
<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use 
Illuminate\Foundation

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