Тестировщики не у дел, штат сокращается, а пробиться через сотню откликов нереально – что делать?
Леся Набока и Карьерный Цех (https://careerfactory.ru/career-support?utm_source=telegram&utm_medium=laravel_it&utm_campaign=native_support_07102025&erid=2W5zFGAmXTN) уже много лет держат руку на пульсе и помогают тестироващикам сохранять свои позиции на рынке. За КЦшниками выстраивается очередь, а все потому, что они умеют в самопрезентацию и точно знают, что главный продукт в их жизни — это собственная карьера.
Кроме этого, их выпускники:
— жестко качают нетворк и обзаводятся нужными подвязами;
— умеют в переговоры (знают, что это не они продают себя, а компания предлагает им свою вакансию)
— получают пожизненный навык трудоустройства (а значит никакой шторм на рынке им больше не страшен).
Их выпускники повсюду, они работают во всех топовых компаниях нашей страны.
Хотите перестать паниковать перед сотнями откликов? Приходите на бесплатную консультацию (https://careerfactory.ru/career-support?utm_source=telegram&utm_medium=laravel_it&utm_campaign=native_support_07102025&erid=2W5zFGAmXTN) и узнавайте подробнее о программе.
@php_be1
Леся Набока и Карьерный Цех (https://careerfactory.ru/career-support?utm_source=telegram&utm_medium=laravel_it&utm_campaign=native_support_07102025&erid=2W5zFGAmXTN) уже много лет держат руку на пульсе и помогают тестироващикам сохранять свои позиции на рынке. За КЦшниками выстраивается очередь, а все потому, что они умеют в самопрезентацию и точно знают, что главный продукт в их жизни — это собственная карьера.
Кроме этого, их выпускники:
— жестко качают нетворк и обзаводятся нужными подвязами;
— умеют в переговоры (знают, что это не они продают себя, а компания предлагает им свою вакансию)
— получают пожизненный навык трудоустройства (а значит никакой шторм на рынке им больше не страшен).
Их выпускники повсюду, они работают во всех топовых компаниях нашей страны.
Хотите перестать паниковать перед сотнями откликов? Приходите на бесплатную консультацию (https://careerfactory.ru/career-support?utm_source=telegram&utm_medium=laravel_it&utm_campaign=native_support_07102025&erid=2W5zFGAmXTN) и узнавайте подробнее о программе.
@php_be1
Сегодня хочу поговорить о теме, которая часто мешает PHP-разработчикам писать красивый и устойчивый код - магические методы.
Да, те самые __get, __set, __call, __toString и компания. Они вроде бы удобные: можно ловко обращаться к несуществующим свойствам, вызывать методы, которых нет, и всё работает. Но вот вопрос — а как это тестировать и поддерживать?
Когда код полагается на магию, отладка превращается в игру «угадай, откуда взялось это значение». IDE не подсказывает типы, автодополнение не работает, а дебаггер видит лишь хаос. Я не говорю, что магические методы нужно запретить. Они бывают полезны, например, в паттерне Proxy или для ленивой загрузки. Но использовать их стоит осознанно, с понятным контрактом.
👉 Советы от меня:
- Если хочешь гибкости — лучше внедри __call через интерфейс или трейт с чёткой логикой.
- Если используешь __get / __set — документируй все «виртуальные» свойства в phpdoc.
- И главное - не прячь логику под магию. Пусть код говорит сам за себя.
👉 [|@php_be1]
Да, те самые __get, __set, __call, __toString и компания. Они вроде бы удобные: можно ловко обращаться к несуществующим свойствам, вызывать методы, которых нет, и всё работает. Но вот вопрос — а как это тестировать и поддерживать?
Когда код полагается на магию, отладка превращается в игру «угадай, откуда взялось это значение». IDE не подсказывает типы, автодополнение не работает, а дебаггер видит лишь хаос. Я не говорю, что магические методы нужно запретить. Они бывают полезны, например, в паттерне Proxy или для ленивой загрузки. Но использовать их стоит осознанно, с понятным контрактом.
👉 Советы от меня:
- Если хочешь гибкости — лучше внедри __call через интерфейс или трейт с чёткой логикой.
- Если используешь __get / __set — документируй все «виртуальные» свойства в phpdoc.
- И главное - не прячь логику под магию. Пусть код говорит сам за себя.
👉 [|@php_be1]
Сегодня хочу показать вам, как магические методы в 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_be1]
Многие знают о __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_be1]
🚀 Не стройте ракету, пока не собрали бумажный самолёт
Один из главных рисков в запуске IT-продукта — застрять в бесконечной доработке и не выйти на рынок.
В комьюнити Короче, Капитан делают по-другому.
Челлендж: 12 запусков за 12 месяцев.
✅ Разработка и запуск — за 1 месяц
✅ Минимальные вложения (средний бюджет на продвижение — $150)
✅ Честный разбор: что получилось, а что — нет
Формула проста:
1 запуск = 1 функция = решение 1 проблемы
Три главных правила:
⚡️Проверенный спрос, а не догадки
⚡️ Быстрый запуск без перфекционизма
⚡️ Только США и ЕС — там платят за удобство
Канал Короче, Капитан показывает запуск, продвижение и доход по каждому продукту в реальном времени.
Без иллюзий, без теорий — только работающие подходы и реальные цифры.
👉 Подписаться: @its_capitan
@php_be1
Один из главных рисков в запуске IT-продукта — застрять в бесконечной доработке и не выйти на рынок.
В комьюнити Короче, Капитан делают по-другому.
Челлендж: 12 запусков за 12 месяцев.
✅ Разработка и запуск — за 1 месяц
✅ Минимальные вложения (средний бюджет на продвижение — $150)
✅ Честный разбор: что получилось, а что — нет
Формула проста:
1 запуск = 1 функция = решение 1 проблемы
Три главных правила:
⚡️Проверенный спрос, а не догадки
⚡️ Быстрый запуск без перфекционизма
⚡️ Только США и ЕС — там платят за удобство
Канал Короче, Капитан показывает запуск, продвижение и доход по каждому продукту в реальном времени.
Без иллюзий, без теорий — только работающие подходы и реальные цифры.
👉 Подписаться: @its_capitan
@php_be1
Отказоустойчивый драйвер очередей в Laravel 12.34
@php_be1
https://benjamincrozat.com/laravel-failover-queue-driver
@php_be1
https://benjamincrozat.com/laravel-failover-queue-driver
Benjamincrozat
The Laravel failover queue driver: stop losing jobs
Learn how to set up the Laravel failover queue driver so you don’t lose jobs when Redis, SQS, or another queue goes down. I walk you through a copy-paste setup, simple tests, and small gotchas.
This media is not supported in your browser
VIEW IN TELEGRAM
Nimbus — браузерный API-клиент для Laravel
Традиционные инструменты тестирования API требуют ручной настройки для каждой конечной точки. Nimbus устраняет эту проблему, автоматически обнаруживая маршруты Laravel, генерируя схемы на основе правил валидации и обрабатывая аутентификацию, файлы cookie и тестовые данные. Всё это можно сделать, не выходя из среды разработки.
https://github.com/sunchayn/nimbus
@php_be1
Традиционные инструменты тестирования API требуют ручной настройки для каждой конечной точки. Nimbus устраняет эту проблему, автоматически обнаруживая маршруты Laravel, генерируя схемы на основе правил валидации и обрабатывая аутентификацию, файлы cookie и тестовые данные. Всё это можно сделать, не выходя из среды разработки.
https://github.com/sunchayn/nimbus
@php_be1
📕Делаем тонкие контроллеры на Symfony. Валидация - PHP-разработчикам; Junior/Middle разработчикам, строящим API на Symfony; начинающим специалистам в асинхронной архитектуре
На открытом уроке 5 ноября в 20:00 мск мы разберёмся в принципах и методах разработки тонких контроллеров:
📗 На вебинаре:
1. Получите практические примеры построения эффективной архитектуры приложения.
2. Познакомитесь с базовыми механизмами валидации.
📘 В результате на практике изучите и освоите создание собственных constraint, а также сможете централизованно обрабатывать ошибки с помощью EventDispatcher/EventListener.
👉 Регистрация на урок и подробности о курсе Symfony Framework: https://clck.ru/3Q8Pq5
Все участники открытого урока получат скидку на курс "Symfony Framework"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом уроке 5 ноября в 20:00 мск мы разберёмся в принципах и методах разработки тонких контроллеров:
📗 На вебинаре:
1. Получите практические примеры построения эффективной архитектуры приложения.
2. Познакомитесь с базовыми механизмами валидации.
📘 В результате на практике изучите и освоите создание собственных constraint, а также сможете централизованно обрабатывать ошибки с помощью EventDispatcher/EventListener.
👉 Регистрация на урок и подробности о курсе Symfony Framework: https://clck.ru/3Q8Pq5
Все участники открытого урока получат скидку на курс "Symfony Framework"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Совет по Laravel💡
Schedule Shell Commands
Знаете ли вы, что Laravel Scheduler позволяет выполнять команды в операционной системе?
📲 Мы в MAX https://max.ru/php_be1
👉 [|@php_be1]
Schedule Shell Commands
Знаете ли вы, что Laravel Scheduler позволяет выполнять команды в операционной системе?
📲 Мы в MAX https://max.ru/php_be1
👉 [|@php_be1]
Большие проекты на Laravel
https://github.com/LaravelDaily/Large-Laravel-PHP-Project-Examples
@php_be1
https://github.com/LaravelDaily/Large-Laravel-PHP-Project-Examples
@php_be1
Профилирование PHP (Laravel) приложений с xhprof. Учимся искать ботлнеки
Вам знакомо то чувство, когда ваш PHP-код отрабатывает за дофига миллисекунд, а иногда и секунд, и вы не можете понять, в чём дело и где тот говнокод, который я (или не я, а мой коллега) когда-то написал? В этой статье хочу немного рассказать на примере профайлинга PHP-кода, как перестать гадать и начать выявлять боттлнеки, которые всё тормозят. Короче, помочь поискать говнокод. После этого у многих из вас появится понимание, как дать своему приложению прирост производительности с помощью крутых инструментов профайлинга, таких как xhprof и Buggregator.
https://habr.com/ru/articles/823156/
📲 Мы в MAX https://max.ru/php_be1
👉 [|@php_be1]
Вам знакомо то чувство, когда ваш PHP-код отрабатывает за дофига миллисекунд, а иногда и секунд, и вы не можете понять, в чём дело и где тот говнокод, который я (или не я, а мой коллега) когда-то написал? В этой статье хочу немного рассказать на примере профайлинга PHP-кода, как перестать гадать и начать выявлять боттлнеки, которые всё тормозят. Короче, помочь поискать говнокод. После этого у многих из вас появится понимание, как дать своему приложению прирост производительности с помощью крутых инструментов профайлинга, таких как xhprof и Buggregator.
https://habr.com/ru/articles/823156/
📲 Мы в MAX https://max.ru/php_be1
👉 [|@php_be1]
Совет по Laravel💡
Знаете ли вы, что метод whereAny(), может осуществлять поиск по нескольким столбцам, используя логику OR.
📲 Мы в MAX https://max.ru/php_be1
👉 [|@php_be1]
Знаете ли вы, что метод whereAny(), может осуществлять поиск по нескольким столбцам, используя логику OR.
📲 Мы в MAX https://max.ru/php_be1
👉 [|@php_be1]