Свежая подборка со ссылками на новости и материалы. В выпуске: CakePHP 3.6.0 и другие релизы, расширение php-ffi, порция полезных инструментов, и многое другое.
Приятного чтения!
Рубрика «php» - 58
PHP-Дайджест № 129 (8 – 22 апреля 2018)
2018-04-22 в 20:26, admin, рубрики: async, drupal, laravel, Magento, php, php-дайджест, symfony, yii, zend, Блог компании Zfort Group, дайджест, Разработка веб-сайтов, ссылкиEloquent ORM кажется простой, но под капотом существует много полускрытых функций и менее известных способов. В этой статье я покажу вам несколько трюков.
Видео с первого Badoo PHP Meetup 7.04.2018
2018-04-20 в 9:23, admin, рубрики: meetup, php, Блог компании Badoo, высокая производительность, митап, Программирование
Привет!
7 апреля мы впервые собрали PHP-сообщество в офисе Badoo. Спасибо всем, кто пришел пообщаться, и тем, кто был с нами онлайн!
Похоже, пэхэпэшники изголодались по митапам. Встреча получилась ну очень душевной — разговоры за жизнь и PHP из afterpaty переместились в afterchat, который до сих пор активен (ни смотря ни на что).
Но вернемся к нашим докладам. Под катом — записи выступлений, слайды, комментарии гостей и фотоотчет.
Читать полностью »
Книга «Безопасность в PHP» (часть 5). Нехватка энтропии для случайных значений
2018-04-17 в 11:11, admin, рубрики: entropy, php, security, Анализ и проектирование систем, Блог компании Mail.Ru Group, информационная безопасность, никто не читает теги, ПрограммированиеКнига «Безопасность в PHP» (часть 1)
Книга «Безопасность в PHP» (часть 2)
Книга «Безопасность в PHP» (часть 3)
Книга «Безопасность в PHP» (часть 4)
Случайные значения в PHP повсюду. Во всех фреймворках, во многих библиотеках. Вероятно, вы и сами написали кучу кода, использующего случайные значения для генерирования токенов и солей, а также в качестве входных данных для функций. Также случайные значения играют важную роль при решении самых разных задач:
- Для случайного выбора опций из пула или диапазона известных опций.
- Для генерирования векторов инициализации при шифровании.
- Для генерирования непредсказуемых токенов или одноразовых значений при авторизации.
- Для генерирования уникальных идентификаторов, например ID сессий.Читать полностью »
Управляем браузером с помощью PHP и Selenium
2018-04-16 в 13:53, admin, рубрики: Behat, docker, Mink, php, seleniumИнтро
Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium.
Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер.
В большинстве случаев используется для тестирования Web-приложений, но этим не
ограничивается. В частности, реализация Selenium WebDriver для браузера phantomjs
часто используется как веб-граббер.»
Мы рассмотрим следующие нюансы:
Docker-образы с поддержкой ГОСТ-сертификатов в openssl, curl, php, nginx
2018-04-15 в 9:43, admin, рубрики: curl, docker, gost-engine, nginx, open source, openssl, php, SSL, TLS, гост, гост 34.10-2001, ГОСТ 34.10-2012, ГОСТ 34.11-2012В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении задачи, дам ссылки на готовое решение и покажу несколько примеров их использования.
Внедрение предметно-ориентированного проектирования в PHP
2018-04-13 в 17:08, admin, рубрики: DDD, php, Блог компании Отус, ооп, ПрограммированиеИ снова здравствуйте!
Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу — «Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку.
А счас пока давайте посмотрим на одну интересную статью.
Поехали.
В этой статье вы узнаете, как использовать PHP для управления следующим DDD-проектом вашей компании и эффективно моделировать реальные ситуации, чтобы помочь определить вашу бизнес-логику.
Предметно-ориентированное проектирование (Domain-Driven Design, в дальнейшем — DDD) — это методология разработки программного обеспечения для проектирования сложных программных проектов с целью доставки конечного продукта, который отвечает задачам организации. Фактически, DDD способствует фокусированию проекта на развивающейся базовой модели.
DDD научит вас эффективно моделировать реальный мир в вашем приложении и использовать ООП для инкапсуляции бизнес-логики организации.
Предыстория
Когда года два назад мне понадобилось прочитать описание одной из функций, я открыл гугл, вбил имя этой функции и по ссылке перешел на русское описание на сайте php.net. В глаза сразу же бросилось, что описание некорректное — банально отсутствовал третий параметр, добавленный в далеко не последних релизах PHP. Пожав плечами я переключился на английскую версию, где все было правильно и соответствовало текущему положению вещей.
Однако заноза в памяти осталась и, через некоторое время, я решил изучить вопрос и выяснить, как именно происходит локализация документации. Буквально третья строка поисковой выдачи привела на довольно древнюю статью на хабре, прочитав которую возникло желание присоединиться к проекту.
Собственно дальше будет довольно сумбурный рассказ про то, как сейчас обстоят дела с русской локализацией, с какими проблемами пришлось столкнуться и какие выводы можно из всего этого сделать.
Читать полностью »
Введение
Я уже писал подобную статью, но она была очень не полной и не снабженной примерами, поэтому я решил взять вторую попытку и попытаться раскрыть данный вопрос наиболее полно!
В данной статье, не будут рассматриваться все тонкости разработки на фреймворках, поскольку это не возможно уложить в рамках одной статьи. Однако, можно достаточно подробно разъяснить те нюансы, которые помогут в выборе для изучения или реализации конкретного проекта. Сравнивать будет Yii2 и Laravel. Я понимаю, что это достаточно холиварная тема, результат которой обычно гласит, что каждый хорош по своему. Я, как человек работавший с обеими, попробую разъяснить свой подход к выбору фреймворка, и постараюсь наиболее объективно показать их минусы и плюсы.
Читать полностью »
Книга Безопасность в PHP (часть 4). Недостаток безопасности на транспортном уровне (HTTPS, TLS и SSL)
2018-04-13 в 9:36, admin, рубрики: php, security, Анализ и проектирование систем, Блог компании Mail.Ru Group, информационная безопасность, никто не читает теги, Программирование
Книга «Безопасность в PHP» (часть 1)
Книга «Безопасность в PHP» (часть 2)
Книга «Безопасность в PHP» (часть 3)
Связь через интернет между участниками процесса сопряжена с рисками. Когда вы отправляете платёжное поручение в магазин, используя онлайн-сервис, то совершенно точно не хотите, чтобы злоумышленник мог его перехватить, считать, изменить или заново повторить HTTP-запрос к онлайн-приложению. Только представьте себе последствия того, что атакующий считает куку вашей сессии или изменит получателя платежа, товар, платёжный адрес. Или внедрит в разметку, отправляемую магазином в ответ на запрос пользователя, свой HTML или JavaScript.