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

Статьи

Проверка массива формы в Laravel 5.2

перевод

Самое время начать писать о новых возможностях Laravel 5.2! Вы наверняка заметите, что многие нововведения просты как в изучении, так и в использовании. Может даже показаться, что этот релиз меньше предыдущего. Но многие функции версии 5.2 сильно отразятся на простоте и удобстве повседневной работы.

Это одна из статей о новых функциях Laravel 5.2. Скоро будут ещё, не пропустите.

agma

не работает этот метод он пишет -что первый аргумент($request->all(),) должен быть экземпляром класса Illuminate\Http\Request и все в таком роде только 2 дня зря потерял легче по старому вручную сделать

Создание беспарольной системы аутентификации по email в стиле Medium

перевод

/packages/proger/habravel/uploads/353-log-in-now-838x275.png

Недавно я работал над проектом, где одной из главных трудностей были пользовательские пароли. Пользователей завели в систему администраторы, поэтому для них не были заданы пароли. А если бы пришлось вынуждать их вводить и запоминать пароли, то это серьёзно снизило бы юзабилити проекта.

Поэтому мы решили попробовать беспарольный вход в стиле Medium/Slack. Если вы с таким не сталкивались, то в двух словах это работает так: вводите свой email на странице входа в систему, получаете письмо со ссылкой на вход, щёлкаете по ссылке и входите…

Helldar

Дак это ж от меня перевод статьи) На Хабре выложил 14 марта.
Вот пруф: https://habrahabr.ru/post/279173/

Настройка вашего первого сайта на Vue.js с помощью Laravel Elixir и Vueify

перевод

/packages/proger/habravel/uploads/352-vue-elixir-963x401.png

Складывается ощущение, что каждый день появляется новый JavaScript фреймворк. Мы в Tighten не успели поработать с каждым из них, но опробовали достаточно большое количество, и наряду с такими, в которых нам чего-либо не хватает, мы нашли один, поистине превосходный — Vue.js. На самом деле он не новый, но недавно он начал набирать обороты, и он отлично подошёл для многих наших проектов.

Знакомьтесь, Vue.js

Так что же такое Vue.js?

Это JavaScript…

Ilgam

Снимаю шляпу! Настроил по этому примеру сборку Vue на Slim

Как вливать в проект отдельные коммиты из pull request

перевод

Сегодня вечером я просматривал запросы на включение изменений (pull request) для всех своих открытых репозиториев. И среди них был один изначально отличный pull request, но он был испорчен автором из-за чьего-то плохого совета. Позже я спросил его: «Не мог бы ты переотправить pull request с изначальными коммитами?» Но на тот момент их уже было не вернуть.

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

sait4seo

А что если нужно наоборот слить из родителя не все новые коммиты а выборочно?

Событийная модель Laravel: эвенты в Eloquent и всей системы в целом

Event Observer События Eloquent Laravel 4.x

Сразу хочу предупредить, что весь материал есть в документациях под тем или иным соусом. Я же постарался скомпоновать всю информацию по событиям в одном месте.

Вообще, что такое событие в программировании? И вот что говорит википедия:

Событие это сообщение которое возникает в различных участках исполняемого кода при выполнении определенных условий.

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

В базах данных существует такое понятие как триггер. Т.е. некая хранимая процедура вызываемая при наступлении определенных событий. Например, добавление, удаление…

skv

Крутая статья, большое спасибо!!!

Аффтар ацкей сотона пешы ищщо )))

Hello world, I am Laravel (5)

перевод Hello World


Примечание переводчика
Я новичок в PHP, но при этом очень давно и серьезно занимаюсь разработкой баз данных — на «low level» (только хардкор, только SQL)
Много проектов реализуются по шаблону проектирования —"глупый GUI" в силу разных причин (Например — интерфейс пишет субподряд, и требуется гибкость системы без изменения кода приложения).
Настал момент когда я решил — пора попробовать перейти на «светлую» сторону!
Лара — это то, что должно мне помочь сделать это легко и перестать наконец писать всё на SQL!!!111

likemusic

(Странно, но по моему мнению мы опять получили сверхсвязанные классы. Ведь сколько методов используют принудительно указанный тип параметра, в стольких местах и понадобится переименование — разве нет? Примечание переводчика)

По-моему, тут просто не очень удачный пример в коде, т.к. объект класса Responce используется в большинстве методов контроллера UsersController. Внедрение через методы удобно использовать когда метод использует объект не используемый в большинстве других методов. Например, если в контроллере пользователей UsersController есть метод для приглашения на сайт по e-mail другого пользователя inviteByEmail(), который работает через объект реализующий интерфейс IMailer:

class UsersController extends BaseController
{
    public function inviteByEmail(IMailer $mailer)
    {
        return $mailer->send('Join us!');
    }
}

Класс реализующий интерфейс IMailer может работать через сторонний сервис, для инициализации работы с которым в конструкторе класса может происходить долгая авторизация на сервисе и т.д, что нет смысла делать, при вызове всех других методов класса UsersController.

Т.е. если интерфейс используется в большинстве методов класса, то лучше использовать внедрение через конструктор. Если только в нескольких методах, то лучше делать его внедрение через метод.

Предварительная обработка входящих данных

laravel 5 request input middleware

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

Наше расширение будет обрабатывать любые входящие данные (за исключением указанных). Оно будет обрезать лишние пробелы и символы табуляции у строк, а также преобразовывать пустые строки в null значение.

Я…

Конструктор таблиц

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

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

Данная статья документации актуальна только для версии 5.0 и была удалена в версии 5.1.

Введение

В Laravel, класс PHPSchema представляет собой независимый от БД интерфейс манипулирования таблицами. Он хорошо работает со всеми СУБД, поддерживаемыми Laravel, и предоставляет унифицированный API для любой из этих систем…

yoda_code

Здравствуйте «Данная статья документации актуальна только для версии 5.0 и была удалена в версии 5.1» значит ли это, что Schema Builder устарел и больше не рекомендуется использовать в Laravel старше 5.1? И если нет, почему документации по Schema Builder нет в версиях выше 5.1?

Eloquent ORM

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

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

Введение

Система объектно-реляционного отображения (

exbatek

Иногда бывают случаи, когда вам может понадобится не только pivot-таблица, но и pivot-модель, для того чтобы из родительской модели по цепочке ($parentModel->pivot->foo) получить не только поля таблицы, но и созданные в pivot-модели акцессоры(accessors). При работе только с pivot-таблицей обычно мы сначала создаем отношение «многие ко многим» и добавляем функцию withPivot(), в параметрах которой перечисляем поля из pivot-таблицы, иначе у нас будет доступ только к ключам этой таблицы, но если нам вдруг понадобится какая-то преобработка этих полей или какие-нибудь акцессоры, то для этого необходимо создать pivot-модель, объявить в ней акцессоры, а затем там где мы создавали отношение «многие ко многим» вызвать метод using() в параметрах которого передать название класса pivot-модели (PivotModel::class), после этого акцессоры станут доступными.

Более подробно написано тут: https://github.com/laravel/docs/commit/19679d47f9688facaea77ca1875d6c7577def6d9

Проверка ввода

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

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

Введение

Laravel предоставляет несколько разных подходов к проверке входящих в ваше приложение данных. По умолчанию базовый класс контроллера использует типаж ValidatesRequests, который предоставляет удобный метод проверки…

Strotten

Сделал на своем сайте, не хочет работать. Что-то я видимо не так намудрил

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