Несколько слов о типизации в PHP

PHP_Deep_31.1_site-5020-77aa97.png

По виду типизации, языки программирования делятся на языки с динамической (dynamic typing) и статической типизацей (static typing). Статическая типизация — когда тип переменной точно известен в compile-time, например в Clang int a = 1; и в run-time тип перемен

Стандарт оформления кода

PHP_Deep_Last_23.07_2_site.png

В любой сфере или области существуют определённые стандарты. Стандарты конструкций, размеров, технических процессов. Например, в России и большинстве стран СНГ при строительстве железной дороги используют установленный стандарт ширины колеи – 1520 мм. А теперь представьте, что было бы, если каждая строительная бригада использовала бы свой стандарт. На таких рельсах далеко бы мы не уехали…

Используем Phing

PHP_Deep_Last_23.07_Site.png

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

Одним из таких инструментов является Phing, который может быть интересен как раз PHP-разработчикам, так как сам написан на PHP и позволяет расширять свой функционал.

На помощь приходят виртуальные машины

PHP_Deep_LAST_20.07_site.png

Ни для кого не секрет, что язык PHP имеет довольно низкий порог вхождения, что делает его как одним из самых удобных языков для быстрого создания веб-приложений, так и самым уязвимым для неоптимизированного кода. Зачастую разработчики даже Middle-уровня ограничиваются в своей работе тем, что используют среды разработки, такие, как OpenServer или XAMPP.

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

Используем CodeSniffer

PHP_Deep_LAST_10.07_3_site.png

Сейчас большинство команд разработки принимает на вооружение стандарты кодирования и организовывает процедуры следования им. Самый лучший способ следить за соблюдением принятых стандартов, конечно же, это code review. Но постоянное возвращение кода из-за незамеченного тобой отступления от правил кодирования, к примеру, отсутствия отступа перед оператором return, не добавляет популярности данной процедуре. Чтобы уменьшить объём подобных небрежностей, для PHP-программистов существует инструмент CodeSniffer.

Кто виноват и как с этим бороться: о безопасности веб-приложений

PHP_Deep_LAST_10.07_2_Site.png

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

Yii2: первое знакомство

PHP_Deep_LAST_10.07_site.png

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

Внедрение предметно-ориентированного проектирования в PHP

Перевод статьи Как использовать PHP для управления следующим DDD-проектом вашей компании и эффективно моделировать реальные ситуации, чтобы помочь определить вашу бизнес-логику? Предметно-ориентированное проектирование (Domain-Driven Design, в дальнейшем - DDD) – это методология разработки программного обеспечения для проектирования сложных программных проектов с целью доставки конечного продукта, который отвечает задачам организации. Фактически, DDD способствует фокусированию проекта на развивающейся базовой модели.

Прибавляем два часа рабочего времени на PHP

PHP_Deep_29.06_SITE.png

Представим: за час до конца рабочего дня, 29 декабря 2017 года, вам поручили срочное двухчасовое задание – рассчитать на PHP время его окончания. Казалось бы, что тут сложного? Добавить 2*3600 секунд к текущему времени и всё!