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

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

رفتن به کانال در Telegram

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

نمایش بیشتر
2 095
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-27 روز
-930 روز
آرشیو پست ها
Совет по Laravel💡 Уникальные идентификаторы запросов Вам когда-нибудь требовалось создать код уникального идентификатора для
Совет по Laravel💡 Уникальные идентификаторы запросов Вам когда-нибудь требовалось создать код уникального идентификатора для запроса, например, для целей кэширования? Laravel поставляется с методом «fingerprint», который позволяет вам генерировать уникальный идентификатор для ваших запросов 🚀 #laravel 📲 Мы в MAX 👉 @php_lib

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

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

Совет по Laravel💡 Знаете ли вы, что метод whereAny(), может осуществлять поиск по нескольким столбцам, используя логику OR.
Совет по Laravel💡 Знаете ли вы, что метод whereAny(), может осуществлять поиск по нескольким столбцам, используя логику OR. 📲 Мы в MAX 👉 @php_lib

Профилирование PHP (Laravel) приложений с xhprof. Учимся искать ботлнеки Вам знакомо то чувство, когда ваш PHP-код отрабатыва
Профилирование PHP (Laravel) приложений с xhprof. Учимся искать ботлнеки Вам знакомо то чувство, когда ваш PHP-код отрабатывает за дофига миллисекунд, а иногда и секунд, и вы не можете понять, в чём дело и где тот говнокод, который я (или не я, а мой коллега) когда-то написал? В этой статье хочу немного рассказать на примере профайлинга PHP-кода, как перестать гадать и начать выявлять боттлнеки, которые всё тормозят. Короче, помочь поискать говнокод. После этого у многих из вас появится понимание, как дать своему приложению прирост производительности с помощью крутых инструментов профайлинга, таких как xhprof и Buggregator. https://habr.com/ru/articles/823156/ 📲 Мы в MAX 👉 @php_lib

Совет по 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