Как стать автором
Поиск
Написать публикацию
Обновить
10.27

Laravel *

Бесплатный веб-фреймворк с открытым кодом

Сначала показывать
Порог рейтинга
Уровень сложности

Дерево разделов неограниченной вложенности и URL

Время на прочтение8 мин
Количество просмотров23K
В данной статье мы рассмотрим один из возможных подходов к генерации полного пути на раздел, у которого может быть неограниченная вложенность в другие разделы, а также быстрое получение нужного раздела по заданному пути.

Представим, что мы программируем интернет-магазин, в котором должно быть дерево различных разделов, а также должны быть "приятные" ссылки на разделы, которые бы включали все подразделы. Пример: http://example.com/catalog/category/sub-category.
Читать дальше →

Создание беспарольной аутентификации в Laravel, используя только email

Время на прочтение6 мин
Количество просмотров17K
Недавно я работал над проектом, где одной из болевых точек был пароль пользователя. Администратор добавлял пользователей в приложение, поэтому они не имеют пароля, а заставлять их придумывать пароль при первом после регистрации входе было крайне неудобно.

Итак, мы решили попробовать метод беспарольного входа. Если Вы никогда не имели возможности работать с этим, мы расскажем как это работает:

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

Начнем творить!

image
Читать дальше →

Предварительный просмотр отправляемого email из Laravel

Время на прочтение2 мин
Количество просмотров5.5K
Как написал Саид в своем канале Твиттера:


«Мой новый пакет для @laravelphp конвертирует отправляемые Вами письма в .html для проверки корректности на стадии разработки.»

Этот пакет представляет новый драйвер для предварительного просмотра почты в Laravel. При необходимости, он будет производить вывод отправленных сообщений электронной почты, сохранив его как HTML-документ, позволяя проверять его внешний вид.

image
Читать дальше →

Декодирование типа данных JSON MySQL

Время на прочтение3 мин
Количество просмотров41K
В этом посте мы собираемся исследовать тип данных JSON в MySQL 5.7 и во время погружения будем использовать фреймворк Laravel для построения запросов.

image
Читать дальше →

Что нового ждет нас в Laravel 5.2.23

Время на прочтение3 мин
Количество просмотров12K
В настоящий момент Laravel насчитывает уже 911 участников на GitHub, многие из них активно добавляют новый функционал. Давайте посмотрим что же ждет нас новенького в Laravel версии 5.2.23, которая уже на пороге.
image
Читать дальше →

«Строгий режим (strict mode)” и другие настройки MySQL в Laravel 5.2

Время на прочтение2 мин
Количество просмотров11K
Если вы помните мой пост Как отключить строгий режим MySQL на Laravel Forge (Ubuntu), вы уже знаете, что MySQL 5.7 представил то, что-то обычно называется «строгий режим», который на самом деле является сочетанием новых режимов. В сумме они заставляют MySQL обрабатывать ваши запросы немного более строго, чем раньше.

В той статье я показал, как отключить его на Ubuntu. Но с тех пор, Adam Wathan добавил функционал к Laravel, который позволяет определить, используете ли вы «строгий режим». А также позволяет настроить, какие точно режимы вы хотите использовать — и все это через код.

Если можно изменить конфиг приложения вместо настройки сервера, без ущерба производительности, я всегда выберу этот вариант. Одной проблемой меньше при деплое в новом окружении. Поэтому я необычайно рад этой новой функции.
Читать дальше →

Пробрасываем роуты Angular 2 через роутер Laravel 5

Время на прочтение3 мин
Количество просмотров18K

После прочтения статьи "Порог вхождения в Angular 2 — теория и практика" у меня появилось желание показать, как можно пробросить все роуты Angular 2 через роутер Laravel 5.

Идея следующая

  • в директории resources/views/backend будет лежать представление, являющееся точкой входа для всех роутов Angular 2. Для каждого роута Angular 2, роутер Laravel 5 будет нас перенаправлять на это представление;
  • под каждый Angular 2 роут в директиве @RouteConfig нам придется создать копию в роутере Laravel;
  • все роуты Angular 2, по которым подтягиваются шаблоны, будут иметь вид вида /templates/SomeComponent.main, и будут запрашиваться роутером Laravel 5 по пути вида resources/views/frontend/SomeComponent/main.blade.php
Читать дальше →

Три мелкие но полезные плюшки в Laravel 5.2.22

Время на прочтение1 мин
Количество просмотров9.1K
Совсем недавно состоялся релиз минорной версии 5.2.22 нашего любимого фреймворка Laravel. Наряду с некоторыми небольшими исправлениями, есть несколько новых функций, давайте посмотрим на них.
Читать дальше →

Порог вхождения в Angular 2 — теория и практика

Время на прочтение16 мин
Количество просмотров124K
Добрый день, дорогие хабра: жители, читатели, писатели, негативно-комментаторы.

В качестве вводной части и чтобы снять некоторые вопросы немного расскажу о себе. Меня зовут Тамара. Оужас, я девушка! Кого это пугает — закрывайте статью и не читайте.

Для остальных: у меня за плечам незаконченный лет 10 назад МИРЭА, факультет кибернетики. Но все эти 10 лет практики сложились таким образом, что по большей части я занималась рекламой и в перерывах случалось работать в различных стартапах, связанных с интернетом и не только.

image

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

Как мы делали Linux-пингвинов к Новому году

Время на прочтение2 мин
Количество просмотров4.6K


Почему пингвины?


Всё просто! Рано или поздно, но каждому IT-шнику хочется иметь некий талисман или атрибут, который бы своеобразно демонстрировал себе самому и окружающим, какую IT-религию ты исповедуешь. Так же как и с шаманскими бубнами, настало время и мягких игрушек. Я сам лично, хотел Linux-пингвина, но всё что было найдено — было мягко говоря «не совсем пингвин» :) Поэтому, нами было принято решение самим делать его.
Читать дальше →

Краткий обзор нововведений в Laravel 5.2

Время на прочтение2 мин
Количество просмотров19K
image

В самом начале этой недели, в понедельник, состоялся официальный релиз Laravel 5.2.
В новой версии были улучшены такие вещи, как авторизация, «связывание» модели с route и другие.
Более подробно под катом.

Читать дальше →

Гексагональная архитектура

Время на прочтение31 мин
Количество просмотров182K
На недавнем Laracon NYC я читал доклад о гексагональной архитектуре. Несмотря на то, что я получил позитивную реакцию слушателей, мне кажется, что остались люди, которые хотели бы получить чуть более полное представление о том, что это такое. Разумеется, с примерами. Это моя попытка расширить тот доклад.

  1. Видео с доклада
  2. Слайды


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



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



Гексагональная архитектура, ни в коем случае не новый подход к разработке с применением фреймворков. Напротив, это всего лишь обобщение «лучших практик» — практик новых и старых. Я обернул эти слова в кавычки, чтобы люди не воспринимали их совсем буквально. Лучшие практики, которые работают для меня, могут не работать для вас — все зависит от задачи и преследуемых целей.



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


Читать дальше →

Реализация многоязычности на Laravel 5 силами фреймворка

Время на прочтение3 мин
Количество просмотров27K
Не так давно я решил поближе познакомиться с набирающим популярность фреймворком Laravel, благо документации и статей по нему достаточно. Но какое обучение без практики? Решено было перенести на него довольно простенький самописный сайт, который спокойно себе висел на хостинге и бед не приносил.

Одной из особенностей сайта было переключение языка интерфейса, реализованный путем yaml файла словаря и простого парсера. Перенести его на логику фреймворка было делом скорее механическим, чем творческим, а вот заставить его запоминать выбранный язык оказалось чуть сложнее. Ниже я представляю свой вариант реализации этой задачи.
Читать дальше →

Ближайшие события

Важность API сериализации вывода

Время на прочтение5 мин
Количество просмотров11K
Я рассказывал про API *лионы раз за последний год. Множество отзывов и вопросов возникли в тот момент, когда я говорил о сериализации, как о "добавлении слоя представления вашим данным".

MSDN говорит об этом так:
Сериализация — это процесс преобразования объекта в поток байтов для того, чтобы сохранить объект или передать его в память, базу данных или файл. Основной целью является сохранение состояния объекта, чтобы иметь возможность восстановить его при необходимости. Обратный процесс называется десериализацией.

Читать дальше →

DevConf::PHP уже в эту пятницу — программа сформирована, в кулуарах расскажем как переносили сайт конференции на Laravel 5

Время на прочтение1 мин
Количество просмотров6.1K
Релиз PHP7 — что нас ждет в октябре 2015

imageДмитрий Стогов — Лидер проекта PHPNG и один из основных разработчиков PHP; ведущий инженер в Zend Technologies.

PHPNG успешно добрался до основной ветки PHP, и релиз PHP7 уже не за горами. Помимо производительности, появилось множество нововведений призванных сделать PHP более пригодным для написания больших проектов и избавиться от «детских болезней». Помимо несомненных плюсов, новшества несут головную боль связанную с переходом на новую версию. Доклад содержит обзор основных нововведений и некоторые рецепты по портированию.

Полная программа секции PHP
Читать дальше →

Laravel 5.1

Время на прочтение2 мин
Количество просмотров24K
image

Laravel объявили о выпуске версии 5.1. Это первый релиз в истории Laravel, предлагающий получение долгосрочной поддержки. Давайте рассмотрим некоторые из новых возможностей фреймовика.
Читать дальше →

Загрузка моделей, трейтов

Время на прочтение2 мин
Количество просмотров13K
Итак, узнал сегодня небольшую фитчу Laravel/Eloquent, которая практически не описана и лишь вскользь упомянута в документации фреймовика.
Читать дальше →

Переезд KodiCMS с фреймворка Kohana на Laravel 5

Время на прочтение5 мин
Количество просмотров19K


При написании статей на Хабре я заметил, что многим не по душе умерший Kohana framework, и слышал много критики в адрес проекта по этой причине и задумался над вопросом: « Как быть и что делать с Kohana?», ведь фреймворк совершенно не способствует развитию CMS на протяжении года.
Читать дальше →

Не мамонт ли Вы? (пятничный тест; который ложь, да в ней намек)

Время на прочтение4 мин
Количество просмотров72K
PHP развивается стремительно. И сам язык, и его реализация, и, особенно, сообщество. PHP перестаёт быть языком для быстрого клепания сайтиков и всё больше движется в сторону языка общего назначения, хотя путь этот будет долог — слишком много врожденных недостатков тянется с доисторических времён.

Как грибы растут стандарты, фреймворки, развивается и становится всё слаще синтаксис, растут разнообразные инструменты.

И это здорово!

Не совсем здорово то, что мы с вами, обычные разработчики, в массе своей всё больше отстаём от стремительного потока. История знает аналогичный пример — мамонты тоже отстали от стремительно меняющейся среды. И вымерли. Ну, или, по другой гипотезе — были съедены своими конкурентами за экологическую нишу — людьми. Неважно. Конец бедных гигантов в любом случае был печален.

image

Попробуйте пройти несложный тест и определить — не мамонт ли Вы в мире PHP? Не грозит ли Вам, как специалисту, вымирание в ближайшее время?

Тест, разумеется, пятничный и шуточный. Но в нём всё-таки есть доля истины.
Проверить степень своего оволосения и размер бивней

Мини API на Lumen

Время на прочтение4 мин
Количество просмотров35K
image

Цель этой публикации — создание простого API на Lumen и рассмотрение его отличий от старшего брата. Весь код доступен здесь.
Читать дальше →