Библиотека PHP программиста 👨🏼‍💻👩‍💻
2.17K subscribers
346 photos
169 videos
7 files
345 links
Полезные материалы по PHP, Laravel, Symfony, CodeIgniter, CakePHP, Phalcon

По всем вопросам @evgenycarter
Download Telegram
💡Знал ли вы, что…

Метод Number::abbreviate в Laravel преобразует сложные числа в удобочитаемый формат:

👉 @php_lib
👍111
💡Совет по Laravel

Определение языка пользователя

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

👉 @php_lib
👍5
Совет по Laravel💡

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

#Laravel

👉 @php_lib
👍8
🚫 Хватит бороться с монолитом!
Узнайте, как создавать масштабируемые и гибкие приложения на 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

👉 @php_lib
👎8👍4🤷‍♂3
🚀 Если производительность является приоритетом в вашем проекте, возможно, стоит полностью отключить lazy loading.

Eloquent выбросит огромное исключение, если вы попытаетесь обратиться к связи, которая не была загружена заранее (eager-loaded).

👉 @php_lib
👍2😁1
🔥 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
Совет по Laravel💡

Знаете ли вы .... tap() = Tweak and Return 🪄

Да, в Laravel метод tap() позволяет изменить объект и вернуть его обратно — идеально для чистого и читаемого кода.

👉 @php_lib
👍9
Совет по Laravel💡

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

👉 @php_lib
👍6🤔2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🐘 Ваш PHP-код «ест» слишком много ресурсов и работает медленнее, чем хотелось бы? Это частая проблема даже у опытных разработчиков.

Алгоритмы не всегда решают задачу. Чтобы ускорить код, нужно понимать, как работает память и что происходит «под капотом» PHP. Именно это и будет темой нашего открытого урока курса.

🚀 Вместе мы разберём как PHP хранит данные, и освоим простые приёмы оптимизации, которые реально сокращают время выполнения кода и экономят ресурсы.

🔴 Присоединяйтесь к открытому вебинару 15 октября в 20:00 (МСК): https://vk.cc/cQm0EF

Урок проходит в преддверии старта курса «PHP Developer. Professional».

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Сегодня хочу поговорить о теме, которая часто мешает PHP-разработчикам писать красивый и устойчивый код - магические методы.

Да, те самые __get, __set, __call, __toString и компания. Они вроде бы удобные: можно ловко обращаться к несуществующим свойствам, вызывать методы, которых нет, и всё работает. Но вот вопрос — а как это тестировать и поддерживать?

Когда код полагается на магию, отладка превращается в игру «угадай, откуда взялось это значение». IDE не подсказывает типы, автодополнение не работает, а дебаггер видит лишь хаос. Я не говорю, что магические методы нужно запретить. Они бывают полезны, например, в паттерне Proxy или для ленивой загрузки. Но использовать их стоит осознанно, с понятным контрактом.

👉 Советы от меня:

- Если хочешь гибкости — лучше внедри __call через интерфейс или трейт с чёткой логикой.
- Если используешь __get / __set — документируй все «виртуальные» свойства в phpdoc.
- И главное - не прячь логику под магию. Пусть код говорит сам за себя.

👉 @php_lib
👍7
Оптимизация скорости работы 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
👍5🙈1
🔥 От PHP-разработчика к эксперту по Битрикс24! Старт набора в группу курса “Разработчик Битрикс24" в OTUS. Открыт прием заявок

Разработка на Битрикс24 — востребованная компетенция для автоматизации бизнес-процессов. Отправьте заявку на обучение и получите спеццену при поступлении в группу.

Вы научитесь:

Разворачивать Битрикс24 на собственном сервере

Создавать компоненты, модули и REST-приложения

Автоматизировать процессы с помощью бизнес-процессов

Интегрировать Битрикс24 с внешними системами

🎓 Подробности уточняйте у менеджера

🚀 Не упустите шанс стать экспертом по Битрикс24 и повысить свою квалификацию!

👉 Оставить заявку https://vk.cc/cQqXs9

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
💩3