Привет. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании очередей, Eloquent или контейнера — добро пожаловать под кат.
Рубрика «php» - 34
Сообщения и оповещения на Android через JSON
2019-11-07 в 13:57, admin, рубрики: android, json, php, web-разработка, мессенджер, оповещения, Разработка веб-сайтов, сообщенияДля получения коротких сообщений, можно использовать электронную почту, SMS, push-уведомления или создать бота для мессенджера.
Предлагаю рассмотреть еще один простой способ:
1. Создаем на стороне веб-сервиса источник данных в JSON.
{
"refl.me":true,
"message":"Hello!",
"refresh":96
}
«refl.me» указываем обязательно true.
«message» задает текст сообщения, пустые сообщения игнорируются.
«refresh» задает, сколько раз нужно проверять источник в течении 24 часов (0 — ручное обновление, 288 — максимум).
Читать полностью »
Как добавить проверки в NoVerify, не написав ни строчки Go-кода
2019-11-07 в 9:58, admin, рубрики: Go, golang, linter, noverify, open source, php, Блог компании ВКонтакте, Вконтакте, Совершенный кодВ статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода.
Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции:
/** @warning duplicated sub-expressions inside boolean expression */
$x && $x;
Эта инспекция находит все выражения логического &&, где левый и правый операнд идентичны.
NoVerify — статический анализатор для PHP, написанный на Go. Почитать о нём можно в статье «NoVerify: линтер для PHP от Команды ВКонтакте». А в этом обзоре я расскажу о новой функциональности и том, как мы к ней пришли.

Здравствуй, Habr. Недавно я согласился на ревью сайта, заказанного на фрилансе. Я ожидал увидеть контроллеры, которые делают вообще все и занимают 200+ строк (и прочие проявления плохого кода), но все было вполне прилично. Валидация не лежала в контроллере, что встречается достаточно часто. Иногда, конечно, встречались некоторые несоответствия PSR-2, но все выглядело нормально, пока я не заглянул в файл с маршрутами. Он занимал несколько экранов и имел комментарии о группах маршрутов. Я связался с разработчиком и он сказал, что все немного «разрослось» и согласился поправить. В следующей версии я увидел, что он создал несколько классов со статическими методами, в которые переложил код и вызвал их, как это обычно делается, с авторизацией. Тут я вспомнил, что уже сталкивался с подобным и встречал такую аргументацию: «В документации ничего не говорится о вынесении маршрутов в разные файлы». Буквально через пару минут я нашел статью и отправил разработчику. Через пол часа я получил маршруты в нормальном виде и принял решение, что многим новичкам эта статья будет полезна. Так родился этот вольный перевод.
Если вы ни разу не правили файл RouteServiceProvider, добро пожаловать под кат.
Читать полностью »
РНР-безопасность: где и как хранить пароли. Часть 1
2019-11-06 в 13:18, admin, рубрики: argon2, bcrypt, php, Блог компании OTUS. Онлайн-образование, информационная безопасностьКаждый год в мире происходит все больше хакерских атак: от краж кредитных карт до взломов сайтов онлайн-магазинов. Уверены, что ваши скрипты по настоящему защищены? В преддверии старта курса «Backend-разработчик на PHP» наш коллега подготовил интересную публикацию на тему безопасности в PHP...

Читать полностью »
Что будет с PHP через 5 лет: мы спросили докладчиков ближайшего московского митапа
2019-11-06 в 11:46, admin, рубрики: cqrs, doctrine, php, ReactPHP, symfony, Блог компании Skyeng, митапы, предсказание будущего, Программирование, Разработка веб-сайтовХэллоуин прошел, а страх остался. Страх и ненависть в pcntl_fork(). Боязнь CSQR. И опасения насчет удаленной работы. Если тоже хотите поговорить об этом, встречаемся вечером 21 ноября на Таганке или на этом ютуб-канале (ссылка на эфир появится за 2 дня до ивента).

А пока — есть время познакомиться. Мы попросили докладчиков рассказать про самое страшное событие в их карьерах разработчиков, а также включить нострадамус-mode и дать свой прогноз о развитии языка. У одного докладчика вышла Java. Детали и остальные ответы — под катом.
Читать полностью »
PHP-Дайджест № 167 (22 октября – 4 ноября 2019)
2019-11-04 в 0:15, admin, рубрики: Laminas, laravel, php, PHP 7.4, php-дайджест, symfony, yii, zend, дайджест, Разработка веб-сайтов
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC5, Xdebug 2.8, критическая уязвимость в PHP-FPM, новости из PHP Internals, порция полезных инструментов, подкасты, стримы и многое другое.
Приятного чтения!
Разработка с Docker на Windows Subsystem for Linux (WSL)
2019-11-03 в 15:03, admin, рубрики: devops, docker, nginx, php, ubuntu 18.04, widnows 10, WSL, Разработка под Linux, разработка под windows
Для полноценной работы с проектом на docker'е в WSL необходима установка WSL 2. На момент написания заметки ее использование возможно только в рамках участия в программе предварительной оценки Windows (WSL 2 доступна в сборках 18932 и выше). Так же отдельно стоит упомянуть, что необходима версия Windows 10 Pro для установки и настройки Docker Desktop.
Архитектура проекта или какие компоненты должны присутствовать. Часть 1. PHP
2019-11-02 в 17:38, admin, рубрики: php, Анализ и проектирование систем, оопПредисловие
За всё время работы программистом, я сталкивался с различными задачами по доработке сайтов. И отметил одно: функций много, по разных файлам разбросанно, общей картины пространства имён не видно, где то (например в yii) нужно ещё инициировать проект, чтобы через phpmyadmin увидеть актуальные таблицы… я не говорю уже о контроле созданного проекта, который не централизован вовсе (if,elseif где попало). А перевод на git технологии перевёл код на уровень: построили из того что было под рукой.
Не желавши такого, совсем, тянувшись к геометрии и балансу, я начал восстанавливать исконный подход к программированию, да так, чтобы можно было легко сдать сайт другому программисту на доработку, со всем необходимым.
Читать полностью »
Генерация OpenAPI спецификации на основе функциональных тестов
2019-10-30 в 15:54, admin, рубрики: api, openapi, php, swagger, велосипед, Локализация продуктов
Разрабатывая API, наверняка не раз появлялись сложности с документацией: то её нет, то она не отображает поведение, описанное в коде.
С точки зрения разработчика, написание документации (одной только внутренней) занимает не меньше времени, чем написание самого кода. Знакомо? Тогда добро пожаловать под кат.
Читать полностью »
