Квест → Как хакнуть форму
Прошли: 77
MySQL всегда был основной базой данных для работы с PHP, так сложилось исторически, практически с самого начала. Конечно, некоторые используют PostgreSQL, SQL Server, или Oracle, но для интернет-проектов MySQL обычно является предпочтительной реляционной БД.
Это было связано, в основном, с легкостью внедрения и применения MySQL. Libmysqlclient шел в комплекте с PHP до тех пор, пока эта библиотека не была повторно лицензирована под GPL. После чего она была удалена из-за невозможности распространения вместе с PHP.
Это сделало процесс сборки для PHP немного более сложным, потому что теперь Libmysqlclient должна была быть доступна на хостинге.
Composer является стандартом де-факто для управления зависимостями в PHP. Он прост, эффективен и уже стал вездесущ.
Каждый знает, что при использовании Composer вы просто создаёте файл composer.json
со списком зависимостей и их версий, а после запускаете composer install
и всё готово.
Потом вы коммитите composer.json
в ваш проект и каждый разработчик вашей команды может легко установить все небходимые зависимости запустив composer install
.
Конечно мы знаем и про composer update
, которая обновит установленные пакеты до последний версии (опираясь на указанные версии в composer.json
).
Это действительно просто. Но как насчёт файла composer.lock
, который генерируется в корне проекта? Зачем ? И что нам с ним делать ?
22 февраля вышел релиз такого полезного инструмента разработки, как xDebug. Что же нового и интересного в этом релизе?
Мы спорили, спорили. И, наконец...утвердили!
Php-сообщество с попкорном и колой давно уже наблюдало за баталиями в RFC по поводу возможности явного определения скалярных типов (int, string, float, bool) для аргументов, а также значений функций в грядущем PHP 7.
"PHP RFC: Exceptions in the engine (for PHP 7)" за авторством Никиты Попова был принят. Голосование началось и закончилось в оригинальные числа - 23 февраля и 8 марта .
Если в двух словах, то в RFC предлагается использовать исключения (Exception) на уровне движка, что позволит вместо fatal и recoverable fatal ошибок выбрасывать исключения.
В этом уроке я покажу вам, как можно использовать две малоизвестные функции PHP (metaphone($str) и levenshtein($str1, $str2)) для поиска созвучных слов на PHP. Поставив эти функции, вы получите исключительные результаты при сопоставлении фраз - для поиска орфографических ошибок или просто для нахождения фраз, звучащих одинаково.
Magallanes - это инструмент для выкладки (deploy) PHP приложений, написанный на PHP. Также известен как MagePHP. Очень прост в использовании и управлении и при этом очень мощный в плане возможностей, которые вы должны попробовать, не смотря на то, что уже существует много средств таких, как Phing, Capistrano, Chef или Deployer…
Если вы сталкивались с Composer или просто обычным apt-get (yum), то вы наверняка знаете или слышали о Bower. Ну или хотя бы можете легко представить что это такое - это менеджер зависимостей для js-библиотек (пакетов).
Относительно недавно в свет вышел BowerPHP. Хотя, конечно, это сложно назвать "вышел", т.к. все версии помечены "alfa". И как вы могли уже догадаться, - это всё тот же Bower, только в профиль написаный на PHP.
Основы объектно-ориентированного проектирования — О различии между простыми и сложными решениями.
перевод статьи "Foundations of OO Design"
Для того, чтобы продукт PHP стал успешным, нужно не только содержание в нем полезного кода. Данный чеклист поможет вашему продукту PHP быть быть серьезно воспринятым сообществом PHP.
Перевод этого чеклиста
Трейты - это не только копипаст на уровне компилятора, есть свои нюансы, знание и использование которых может вам очень пригодиться.
Исследуем один из таких нюансов и по возможности его усовершенствование на уровне языка. Посмотрим, как мы можем решить одну проблему во время выполнения, но было бы здорово иметь эту возможность в самом PHP.