ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Библиотека PHP программиста 👨🏼‍💻👩‍💻

Библиотека PHP программиста 👨🏼‍💻👩‍💻

Открыть в Telegram

Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon По всем вопросам @evgenycarter

Больше
2 041
Подписчики
-124 часа
-97 дней
-1830 дней
Архив постов
Совет по Laravel💡 Schedule Shell Commands Знаете ли вы, что Laravel Scheduler позволяет выполнять команды в операционной сис
Совет по Laravel💡 Schedule Shell Commands Знаете ли вы, что Laravel Scheduler позволяет выполнять команды в операционной системе? 📲 Мы в MAX 👉 @php_lib

Когда вы заменяете кучу проверок isset() на optional chaining (?->): Это умное решение или удар по читаемости? 👉 @php_lib
Когда вы заменяете кучу проверок isset() на optional chaining (?->): Это умное решение или удар по читаемости? 👉 @php_lib

Пишете на PHP, но чувствуете, что застряли на одном уровне? На практическом курсе от OTUS вы разберёте реальные продуктовые з
Пишете на PHP, но чувствуете, что застряли на одном уровне? На практическом курсе от OTUS вы разберёте реальные продуктовые задачи, научитесь применять принципы DDD, Clean Architecture, Layered Architecture на практике, освоите автоматическое тестирование и деплой в продакшн, поймёте, как оценивать производительность и строить отказоустойчивые системы. ❗️ Программа составлена практикующими экспертами, а диплом OTUS востребован у ведущих IT-компаний. Вас ждет особый упор на инфраструктуру: Docker, облака, очереди, базы данных и современные инструменты командной работы. Это последний шанс попасть в поток. • Живые лекции от экспертов; • Реальная практика; • Востребованный диплом. ✅ Пройдите короткое вступительное тестирование, получите скидку по промокоду PHP_PROF_10 и закрепите за собой место: https://vk.cc/cQBAUG Срок действия промокода с 25.10 по 10.11 подробности уточняйте у менеджеров! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Сегодня хочу показать вам, как магические методы в PHP могут упростить жизнь, если использовать их с умом. Многие знают о __construct() и __destruct(), но PHP предлагает целый арсенал магических методов - от __get() и __set() до __invoke() и __callStatic(). Например, рассмотрим кейс с динамическими свойствами:

class Config {
    private array $data = [];

    public function __get($name) {
        return $this->data[$name] ?? null;
    }

    public function __set($name, $value) {
        $this->data[$name] = $value;
    }
}

$config = new Config();
$config->appName = 'MyApp';

echo $config->appName; // MyApp
Мы не определяли свойство appName, но с помощью __get() и __set() сделали объект гибким, почти как массив. Это удобно для конфигов, DTO и API-ответов. Но! ⚠️ Если переусердствовать - код становится магическим не только для PHP, но и для вас самого 😄 Отладка, автодополнение и читаемость страдают. Поэтому правило простое: используйте магию осознанно. 👉 @php_lib

Ты используешь ?? или остаёшься на isset()? Удобное сокращение или запутанный синтаксис? Что думаешь... 👉 @php_lib
Ты используешь ?? или остаёшься на isset()? Удобное сокращение или запутанный синтаксис? Что думаешь... 👉 @php_lib

⚡️ Laravel-разработчики, готовы вывести работу с иерархиями на новый уровень? Бесплатный вебинар «Использование Nested Sets в Laravel» 🗓 22 октября, 20:00 На вебинаре вы: • Погрузитесь в необычную структуру данных Вложенные множества • Разберёте плюсы и минусы этой структуры • Увидите, как применять её на практике в Laravel-приложении 🎯 Кому будет полезно: • Веб-разработчикам, работающим с иерархическими или древовидными структурами в своих проектах ⚠️ Это редкий шанс увидеть реальный пример использования Nested Sets в Laravel. Кто придёт первым - получит навыки, которые обычно осваивают месяцы! ❗️Напоминаем, что до 24 октября действует скидка 15% при полной оплате на курс «Framework Laravel». Не упустите возможность прокачать свои проекты и навыки! Записаться на вебинар: https://vk.cc/cQwaJN Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Вы предпочитаете отправлять почту напрямую в коде или использовать класс Mailable? 👉 @php_lib
Вы предпочитаете отправлять почту напрямую в коде или использовать класс Mailable? 👉 @php_lib

Совет по Laravel💡 Знал ли ты… что можно импортировать несколько классов из одного пространства имён вот так☝️ 👉 @php_lib
Совет по Laravel💡 Знал ли ты… что можно импортировать несколько классов из одного пространства имён вот так☝️ 👉 @php_lib

🔥 От PHP-разработчика к эксперту по Битрикс24! Старт набора в группу курса “Разработчик Битрикс24" в OTUS. Открыт прием заяв
🔥 От PHP-разработчика к эксперту по Битрикс24! Старт набора в группу курса “Разработчик Битрикс24" в OTUS. Открыт прием заявок Разработка на Битрикс24 — востребованная компетенция для автоматизации бизнес-процессов. Отправьте заявку на обучение и получите спеццену при поступлении в группу. Вы научитесь: ✅ Разворачивать Битрикс24 на собственном сервере ✅ Создавать компоненты, модули и REST-приложения ✅ Автоматизировать процессы с помощью бизнес-процессов ✅ Интегрировать Битрикс24 с внешними системами 🎓 Подробности уточняйте у менеджера 🚀 Не упустите шанс стать экспертом по Битрикс24 и повысить свою квалификацию! 👉 Оставить заявку https://vk.cc/cQqXs9 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Оптимизация скорости работы PHP кода 🏎️ Сегодня я покажу вам несколько простых, но эффективных способов ускорить выполнение PHP-скриптов. Оптимизация кода – важная часть работы разработчика, ведь никто не любит медленные сайты. 🚀 🔥 1. Избегайте лишних запросов к БД Частая ошибка – несколько одинаковых запросов к базе данных в одном запросе. Используйте кэширование (Redis, Memcached), а если данные редко меняются – сохраняйте их в файл. 🔥 2. Используйте isset() вместо array_key_exists() Функция isset() работает быстрее, чем array_key_exists(), потому что она не только проверяет наличие ключа, но и сразу его значение.

// Медленный вариант
if (array_key_exists('key', $array)) { }

// Быстрый вариант
if (isset($array['key'])) { }
🔥 3. Не злоупотребляйте foreach при больших объемах данных Если у вас массив с десятками тысяч элементов, попробуйте array_map() или array_walk() – они работают быстрее за счет встроенной оптимизации в C. 🔥 4. Подключайте файлы правильно Разница между require, include, require_once и include_once может сильно повлиять на производительность. require_once проверяет, был ли уже подключен файл, что замедляет выполнение. Если точно знаете, что файл не дублируется – используйте require. 🔥 5. Включите OPCache OPCache кэширует байт-код PHP и ускоряет его выполнение в разы. Включите его в php.ini:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
🔥 6. Используйте json_encode() вместо serialize() Функция json_encode() работает быстрее, чем serialize(), и при этом генерирует более компактные данные.

$data = ['name' => 'John', 'age' => 25];

// Медленный вариант
$serialized = serialize($data);

// Быстрый вариант
$json = json_encode($data);
👉 @php_lib

Сегодня хочу поговорить о теме, которая часто мешает PHP-разработчикам писать красивый и устойчивый код - магические методы. Да, те самые __get, __set, __call, __toString и компания. Они вроде бы удобные: можно ловко обращаться к несуществующим свойствам, вызывать методы, которых нет, и всё работает. Но вот вопрос — а как это тестировать и поддерживать? Когда код полагается на магию, отладка превращается в игру «угадай, откуда взялось это значение». IDE не подсказывает типы, автодополнение не работает, а дебаггер видит лишь хаос. Я не говорю, что магические методы нужно запретить. Они бывают полезны, например, в паттерне Proxy или для ленивой загрузки. Но использовать их стоит осознанно, с понятным контрактом. 👉 Советы от меня: - Если хочешь гибкости — лучше внедри __call через интерфейс или трейт с чёткой логикой. - Если используешь __get / __set — документируй все «виртуальные» свойства в phpdoc. - И главное - не прячь логику под магию. Пусть код говорит сам за себя. 👉 @php_lib

🐘 Ваш PHP-код «ест» слишком много ресурсов и работает медленнее, чем хотелось бы? Это частая проблема даже у опытных разработчиков. Алгоритмы не всегда решают задачу. Чтобы ускорить код, нужно понимать, как работает память и что происходит «под капотом» PHP. Именно это и будет темой нашего открытого урока курса. 🚀 Вместе мы разберём как PHP хранит данные, и освоим простые приёмы оптимизации, которые реально сокращают время выполнения кода и экономят ресурсы. 🔴 Присоединяйтесь к открытому вебинару 15 октября в 20:00 (МСК): https://vk.cc/cQm0EF Урок проходит в преддверии старта курса «PHP Developer. Professional». Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Совет по Laravel💡 Если вы хотите автоматически удалять старые записи, используйте трейт Prunable. Нет необходимости писать с
Совет по Laravel💡 Если вы хотите автоматически удалять старые записи, используйте трейт Prunable. Нет необходимости писать собственные команды. 👉 @php_lib

Совет по Laravel💡 Знаете ли вы .... tap() = Tweak and Return 🪄 Да, в Laravel метод tap() позволяет изменить объект и вернут
Совет по Laravel💡 Знаете ли вы .... tap() = Tweak and Return 🪄 Да, в Laravel метод tap() позволяет изменить объект и вернуть его обратно — идеально для чистого и читаемого кода. 👉 @php_lib

🔥 PHP-разработчики, готовы прокачать Laravel до уровня, на который другие тратят годы? Онлайн курс «Framework Laravel» - ваш
🔥 PHP-разработчики, готовы прокачать Laravel до уровня, на который другие тратят годы? Онлайн курс «Framework Laravel» - ваш шанс за 3 месяца освоить фреймворк, который делает разработку проще, быстрее и интереснее. Какие преимущества обучения по Laravel: • Laravel ускоряет разработку за счет элегантного синтаксиса, богатой экосистемы и инструментов Artisan. • Интуитивный ORM Eloquent упрощает работу с данными и повышает читаемость кода. • Фреймворк масштабируется от MVP до высоконагруженных систем, имеет встроенные средства оптимизации, легко интегрируется с Vue/React/Angular, поддерживается активным сообществом и подтвержден практикой крупных компаний. Также приглашаем вас на бесплатный вебинар «Advanced Eloquent Relations в Laravel» 🗓 7 октября, 20:00 На вебинаре: • Кастомные отношения в Laravel Eloquent — от Post до Comment и Author • Использование отношений за пределами реляционных БД • Практика на реальных примерах Кто придёт первым - освоит секреты продвинутого Laravel и научится создавать отношения там, где другие даже не думают их строить. Записаться на вебинар: https://vk.cc/cQ0xUP Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

🚀 Если производительность является приоритетом в вашем проекте, возможно, стоит полностью отключить lazy loading. Eloquent в
🚀 Если производительность является приоритетом в вашем проекте, возможно, стоит полностью отключить lazy loading. Eloquent выбросит огромное исключение, если вы попытаетесь обратиться к связи, которая не была загружена заранее (eager-loaded). 👉 @php_lib

Вы когда-нибудь импортировали несколько классов из одного пространства имён вот так? Это изящный ход или грязная ошибка? Дели
Вы когда-нибудь импортировали несколько классов из одного пространства имён вот так? Это изящный ход или грязная ошибка? Делись мнением в комментариях! #Laravel 👉 @php_lib

🚫 Хватит бороться с монолитом! Узнайте, как создавать масштабируемые и гибкие приложения на PHP и Symfony. 🎯 На открытом ур
🚫 Хватит бороться с монолитом! Узнайте, как создавать масштабируемые и гибкие приложения на PHP и Symfony. 🎯 На открытом уроке разберем современную event-driven архитектуру: — Symfony Messenger: обработка событий синхронно и асинхронно. — CQRS: разделение команд и запросов для производительности. — Event Sourcing: как хранить историю всех изменений состояния. ✅ Поймем, в каких проектах эти подходы действительно необходимы, и посмотрим на живой код. 💡 Вебинар будет полезен: — PHP и Symfony-разработчикам, растущим до уровня мидл+ и сеньоров. — Тимлидам и архитекторам, планирующим устойчивые к нагрузкам системы. — Начинающим специалистам, чтобы увидеть перспективы развития. 📅 Регистрируйтесь на бесплатный вебинар «Event-driven архитектура в PHP и Symfony» 1 октября в 20:00!: https://vk.cc/cPQvA3 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Совет по Laravel💡 Знаете ли вы... В Laravel есть метод `withProgressBar()`, который позволяет добавлять прогресс-бары к конс
Совет по Laravel💡 Знаете ли вы... В Laravel есть метод `withProgressBar()`, который позволяет добавлять прогресс-бары к консольным командам. #Laravel 👉 @php_lib

💡Совет по Laravel Определение языка пользователя Laravel использует компонент HttpFoundation из Symfony, который предоставля
💡Совет по Laravel Определение языка пользователя Laravel использует компонент HttpFoundation из Symfony, который предоставляет полезные возможности. Если вы работаете с локализацией и нужно определить предпочитаемый язык пользователя, просто вызовите метод getPreferredLanguage 🚀 👉 @php_lib