Список некоторых правил хорошего тона программирования, которые применимы преимущественно для Си-подобных языков программирования. Read more
Параметры вместо разных копий одной и той же программы для разных целей
Случается такое, когда в отдельном модуле надо повторить имеющийся функционал другой программы. В подобных случаях рекомендую не создавать много разных копий одного и того же файла (скрипта) для разных целей т.к. из-за этого сложнее поддерживать общий код, ибо исправления в одном и том же скрипте приходится делать в разных файлах, которые отличаются друг от друга незначительно. Для разного поведения скрипта есть параметры запуска, вот и их надо использовать. Read more
Предварительные настройки PHP-скрипта
Как и в большинстве других скриптовых языков программирования PHP-скрипт не требует описания каких-либо предварительных языковых конструкций, настроек, макросов, директив препроцессора, описаний стандарта, обязательных библиотек, описаний классов и пространств имён и т. д. То есть скрипт можно писать сразу сходу, но приступая к работе рекомендуется всё же сделать некоторые предварительные настройки, чтобы не возникло проблем. Read more
Передача значений HTML форм массивами
Как обеспечить передачу обработчику параметров и значений HTML форм массивами? Примеры на HTML и PHP. Read more
Разгрузка конструктора, внешняя настройка объекта
Поговорим о правильном написание ООП кода, а именно о разгрузке конструктора и внешней настройки объекта. Read more
Как в PDO получить количество строк выбранных запросом SELECT?
Многие разработчики используют расширение PHP Data Objects (PDO) для PHP, предоставляющее разработчику простой и универсальный интерфейс для доступа к различным базам данных. У PDO множество плюсов, однако есть и минусы. PDO не предоставляет метод для узнавания количества полученных строк. Read more
Оператор запятая в цикле for со множественным условием
В Си-подобных языках есть разделитель-запятая как часть синтаксиса, а есть оператор-запятая как малоизвестный, но всё же полноценный бинарный оператор. В цикле for со множеством параметров есть и то и другое, что может ввести в заблуждение. Read more
Подключение интерпретатора PHP к Apache как модуль
Подключение интерпретатора языка программирования PHP к веб-серверу Apache как модуль. Эта статья полностью описывает правильное подключение интерпретатора языка программирования PHP к веб-серверу Apache в качестве модуля. Сперва рассмотрим всё по пунктам, а в конце статьи приведён полный код. Read more
PHP 7 перестал поддерживать старый API MySQL
Случилось то, о чём разработчики PHP давно предупреждали. PHP 7 перестал поддерживать старый API MySQL. Теперь при попытке использовать функции с префиксом «mysql_» будет возникать критическая/фатальная ошибка «PHP Fatal error: Uncaught Error: Call to undefined function mysql_ in file», e.g. «call to undefined function mysql_fetch_array()». Read more
Ошибка незаконченного комментария в PHP
Раньше как-то особо не приходилось с этим сталкиваться, а может я просто этого не замечал, ведь это не критическая ошибка, а просто предупреждение, которое записывается в логи и часто не выводится на рабочих серверах из-за соответствующих настроек PHP. Read more
Уменьшение размера базы данных сайта на CMS MediaWiki
В общем для MediaWiki большой размер БД это типичная проблема ибо все версии страниц сохраняются и база получается тяжёлой. Со временем база данных сильно разрастается и приходится искать способы для того, что бы её уменьшить. Перовое, что приходит на ум это удалить старые версии страниц. Об этом и поговорим. Read more
PHP error: Call-time pass-by-reference has been removed
Ошибка PHP Call-time pass-by-reference has been removed или ранее Call-time pass-by-reference has been deprecated вызывает большую боль в одном месте у многих пользователей и разработчиков, в том числе это не обошло и в частности меня, поэтому стоит про это написать, что бы более не возвращаться. Read more
Использование регулярных выражений в PHP
В последнее время нужно было использовать много регулярных выражений в PHP и после работы сделал для себя некоторые открытия о которых хотел бы рассказать. Read more
Стандартный надёжный механизм шифрования паролей
Для многих данных механизм не секрет, а уж если взять специалистов по сетевой безопасности, так то вообще всем поголовно известно, но всё же считаю нужным описать этот алгоритм дабы всегда можно было быстро вспомнить если вдруг забыл. Скажу сразу, что этот механизм шифрования паролей стар как мир, но при этом весьма надёжен и актуален по сей день, что является доказательством его успешности. Этот механизм шифрования паролей пользователей исторически и по сей день применяется в большинстве дистрибутивов ОС Linux. Read more
Настройка связки веб серверов Nginx и Apache
Несмотря на то, что эта тема изрядно избита и в интернете по этому поводу написано уйму статей, я всё же не могу просто обойти эту тему стороной и ничего про это не сказать и пусть даже мой пост-manual, возможно, будет не самым длинным и подробным, но зато я постараюсь описать ключевые аспекты настройки связки (взаимодействия) веб серверов Nginx и Apache на одном сервере. Read more