Laravel

Создать новый проект на Laravel 5.6: установка и настройка

Заметка для тех, кто хочет программировать с использование PHP фреймворка Laravel, но не знает с чего начать. Для начала нужно инициализировать Laravel с помощью Composer (который должен быть предварительно установлен).

composer create-project --prefer-dist laravel/laravel project
Вместо project можно указать любую другую директорию. На этом можно было бы остановиться, но давайте рассмотрим несколько лайфхаков облегчающих разработку проекта на Laravel. Важно: для версий Laravel отличных от 5.6 выполняемые команды и настройки могут отличаться! (далее…)

Laravel

Использование Telegram Core API (MTProto) на PHP

Эта заметка не про Bot API, а про Core API Telegram, с помощью которого можно создавать полноценные клиенты для месседжера, и конечно же любой другой софт, например для сбора данных из Телеграма. Основная проблема заключается в том, что общение с серверами Telegram осуществляется по специальному протоколу разработанным внутри компании — MTProto. Именно благодаря этому протоколу данный месседжер и славится своей безопасностью и шифрование данных. Вас мучают вопросы: как использовать Telegram Api на PHP? Как вызывать функции? Очень много примеров использования telegram api для бота, а как использовать обычное api telegram? Зарегистрировал приложение, получил api_id и api_hash, как получить все сообщения из телеграм-канала? https://core.telegram.org/method/messages.getHistory Как вызвать этот метод? Как реализовать авторизацию с помощью API Telegram? Тогда эта статья для вас! (далее…)

Laravel

Как в Laravel создать подключение к БД в runtime

Бывают ситуации, например, когда предопределённых в конфиге Laravel подключений к базам данных не достаточно и возникает потребность создавать подключения динамически во время выполнения PHP скрипта. Например, креденшиналы задаются как параметры консольной команды. Иногда это единственный способ проинтегрироваться с посторонним приложением. Далее рассмотрим один из способов решения подобных задач. (далее…)

Laravel

Как в Laravel 5.5 и 5.4 получать select в виде массива, а не объекта

Laravel, как и большинство фреймворков жертвуют производительностью  и потреблением ресурсов ради сомнительных вещей. Как известно, зачастую узким местом приложений становится база данных, фреймворки же это бутылочное горлышко уменьшают до диаметра волоска. По-умолчанию все данные получаемые через фасад DB возвращаются в виде объектов, массива объектов или коллекции объектов, что может до 10 раз увеличивать потребление памяти, по сравнению с обычными массивами. И это всё в добавок к тому, что сам PHP хранит данные в памяти самым расточительным образом! (далее…)

Laravel

Laravel Voyager — плюсы и минусы готовой админки

Недавно наткнулся на очередную админку для Laravel - Voyager. На данный момент она имеет 4 715 звёзд на гитхабе, что в 2-5 раз выше, чем у других аналогичных проектов. Мне понравилась видео-презентация и я решил посмотреть Voyager в деле. Далее я постараюсь убедить вас не использовать её в продакшене особенно при CI подходе. (далее…)