Автозагрузка классов в языке PHP

До версии PHP 5 обычной практикой было использование функций require, require_once, include, include_once для загрузки файлов, содержащих нужные классы. Пример использования функций:

  Проблема такого подхода в том, что: Необходимо указывать каждый файл в котором содержится необходимый класс. Использование обращения к объекту не подгруженного класса вызывало ошибку. Плюс, указанные файлы подгружались всегда, независимо от…

Строим SQL-запросы на вывод повторяющихся строк таблицы

Сегодня поступил запрос на вывод повторяющихся строк в таблице. В старой версии портала, который мы используем для заявок, из-за отсутствия проверки была возможность несколько раз оценивать одну заявку. Это давало возможность для манипуляции статистикой. Подобное недопустимо, так как прямо противоречит критериям работы системы оценок. На старом сервере установлен PHP5.6, поэтому нет возможности установить PhpMyAdmin. На…

Проблема с подключением к icloud в OS Big Sur

На днях я стал счастливым обладателем Mac mini на процессоре M1. Первая проблема с которой столкнулся при переносе данных с OS Mojave это невозможность авторизоваться в icloud. Причем первых вход был успешным, но после я получил сообщение о том, что для синхронизации необходимо заново авторизоваться. Авторизация не работала. Я сменил пароль, но на ситуацию это…

Команды Artisan Make и их параметры

В Laravel есть потрясающий набор artisan команд, из которых чаще всего используется make:xxx — например, make:model или make:migration и т. Д. Но знаете ли вы их все? Знаете ли их параметры, которые могут помочь сделать код еще быстрее? Команда php artisan list, выдаст нам все команды artisan:

  Но это не даст нам никакой…

Рабочая среда Linux/Ubuntu из под WSL2 в Windows10

Рабочая среда это важно, чем проще и быстрее вы можете развернуть рабочую среду, тем эффективнее будет строится ваша работа. В первое время, я делал много ошибок работая под Linux потому что привык к MacOS. Все дело в том, что я практически не касался серверных конфигураций на своем компьютере, у меня стоял Valet и он решал…

Как установить htop на CentOS 8

Если вы хотите контролировать свою систему в интерактивном режиме, то команда htop должна быть одним из лучших вариантов. Htop — это усовершенствованная версия своей предшественницы top (которая скорее всего уже установлена в вашей системе), она представляет собой интерактивную программу просмотра процессов и системный монитор, отображает метрики использования ресурсов в цвете и позволяет вам легко следить за производительностью вашей системы. Htop отображает…

Установка Percona MySQL на CentOS

Простейшее казалось бы дело — установка сервера Mysql. Но устанавливая новую версию Percona я столкнулся с некоторыми проблемами. Первая проблема это то, что Percona устанавливает пароль по умолчанию. Временный пароль генерируется автоматически и должен показываться при установке, но не показывается. В официальной документации сказано, что это следствие ошибки и пароль сохраняется в /var/log/mysqld.log но и…

Laravel Eloquent — отношения в Laravel

Связи в Laravel и MySQL Если вы совсем новичок и не понимаете, что такое связи в базах данных, то вам лучше прочитать руководство по MySQL. Если коротко обозначить тему, то начать необходимо с разъяснения, что такое реляционные базы данных. Само слово Реляционные (relational -англ.) — обозначает связанные. Освоив связи в базах данных, вы очень быстро…

Переход с NPM на Yarn — выжимаем пакеты досуха

Оба пакетных менеджера похожи как близнецы-братья, разница заключается в том, что Yarn значительно расширил свой функционал и считается более современной версией NPM. Но как уже подчеркивалось оба инструмента во многом похожи и использовать можно любой на выбор. При желании, переход не займет много времени. Начнем с файла конфигурации: package.json — он актуален для каждого приложения.…

Битрикс и его токсичная среда

Среда разработки должна быть удобной и отвечать всем современным стандартам. Увы, Битрикс не обеспечивает ни удобства, ни поддержки стандартов. Битрикс это отличная система, но не без проблем и сейчас будем разбираться с самой известной из них: mbstring.func_overload. Параметр mbstring.func_overload на официальном сайте PHP, уже несколько лет как признан устаревшим и разработчикам рекомендовано не использовать его…