Telegram Web Link
Как успешно пройти собеседование на php-программиста? Рассказывает Айгуль Билык, HR-директор компании Hopper IT👇

👉 Заранее подумайте, как будете презентовать себя на интервью. Постарайтесь, чтобы ваша речь была не дольше 2-3 минут.
👉 Подготовьте ответы на самые популярные вопросы HR. Это поможет не теряться во время беседы.
👉 Внимательно ознакомьтесь с вакансией и ее требованиями. Подготовьте пример того, как вы использовали нужные работодателю скиллы на прежнем месте работы и как это помогло компании.
👉 Освежите в памяти нужные знания – и теорию, и практику. Это особенно пригодится на техническом этапе интервью.
👉 Внимательно ознакомьтесь с вакансией и требованиями работодателя. Подготовьте пример того, как вы использовали их раньше в своей работе.
👉 Посмотрите на YouTube записи публичных собеседований на подобные вакансии – это поможет понять, как проходит интервью и что могут спрашивать.

Не бойтесь ходить на собеседования и откликаться на вакансии! Посмотреть, кто прямо сейчас нужен в Hopper IT, можно здесь: https://vk.cc/cmH3yi
👍3👏1
Когда использовать трейты?

Когда использовать трейты? Никогда.
Ну, можно считать, что у трейта есть несколько преимуществ:

Преимущества
Если вы хотите повторно использовать некоторый код между несколькими классами, использование трейта - это альтернатива расширению класса. В этом случае трейты могут быть лучшим вариантом, поскольку они не становятся частью иерархии типов, т. е. класс, использующий трейты, не является "экземпляром этого трейта".
Трейт может избавить вас от ручного копирования/вставки, предлагая вместо этого копирование/вставку во время компиляции.

https://matthiasnoback.nl/2022/07/when-to-use-a-trait/

👉 @php_lib
👍41
Мутации в микросервисах: ставим задачу

Всем привет! Меня зовут Эмин Чернов, я руководитель платформенных команд и архитектор в компании Профи. Сегодня расскажу про то, как мы столкнулись с проблемой консистентных изменений данных в микросервисах и каким образом планируем её порешать.

https://habr.com/ru/articles/770122/

👉 @php_lib
👍4
Мутации в микросервисах: применяем Temporal

В прошлой статье была поставлена задача о надёжных мутациях и транзакциях в архитектуре Профи, в этой статье разберём один из вариантов решения — применить workflow-engine Temporal.

https://habr.com/ru/articles/772084/

👉 @php_lib
🔥2👍1
Совет по PHP

Хотите преобразовать массив в объект?

Просто используйте (object) перед массивом.

https://github.com/laravel/pulse/blob/acd68f8bebd3bc5a66ff74e421f7fd3a0001c582/src/Livewire/Exceptions.php#L47

👉 @php_lib
🤡4👍2😁1🤣1🤪1
Ручная пила для PHP-монолита

Это третья и заключительная часть истории поиска надёжного способа работы с транзакциями в распределённых системах.

В первой части мы поставили задачу, определили критерии оценки и набросали варианты. Во второй части я подробно разобрал решение на Temporal. В этой статье расскажу чем в итоге всё закончилось, а точнее с чего начнётся.

Статья может быть полезна разработчикам и архитекторам, которые задумываются о вынесении части бизнес-логики из монолита, написанного на PHP.

https://habr.com/ru/articles/776794/

👉 @php_lib
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Недокументированная возможность в Phpstorm: нативная консоль php -a с автодополнением из IDE

В прошлой статье я уже рассказывал о том, что можно использовать консоль Xdebug как аналог Python Console в Phpstorm. В комментариях меня спросили, чем не подходит для этого нативная консоль php, которую можно вызвать командой php -a (Php Interactive Shell, далее в тексте будет просто консоль Php). Я тогда ответил, что она не интегрирована с IDE, и у нее нет соответствующих фич, таких как автодополнение. Однако недавно выяснилось, что на самом деле ее можно "интегрировать" с Phpstorm одним хитрым способом. Дело в том, что ее тоже можно запустить в режиме отладки, и тогда в качестве консоли отладки будет она сама. А в консоли отладки уже доступно автодополнение из IDE.

https://habr.com/ru/articles/779548/

👉 @php_lib
👍4🤔2
Выходя за рамки ООП. Разработка расширений для PHP на PHP

Какие есть границы в PHP? Синтаксические они или это рантайм, или же просто ограничения языка, которые нельзя обойти. Почему они существуют? Давайте посмотрим как преодолеть границы живого языка и как взломать его изнутри. Это же всегда интересно?

В этом нам поможет Александр Лисаченко. Он автор аспектно-ориентированного фреймворка Go! AOP и вообще гуру в Enterprise архитектуре.

https://habr.com/ru/companies/oleg-bunin/articles/577658/

👉 @php_lib
👍1🤔1
Защитите свое приложение Laravel от различных атак с помощью этого пакета

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

Поэтому всегда полезно защищать свое приложение от таких атак. И если вы используете Laravel, есть пакет Laravel Firewall, который может помочь вам в этом. Это WAF (Web Application Firewall) для Laravel.

По сути, это пакет, который поможет вам защитить ваше приложение Laravel от различных атак, таких как XSS, SQLi, RFI, LFI, User Agent и т. д. Для этого он блокирует вредоносные запросы к вашему приложению.

Вы защищаете свое приложение от этих атак на уровне маршрутов. Таким образом, вы можете указать, какие маршруты вы хотите защитить от тех или иных атак.

https://www.amitmerchant.com/laravel-firewall/

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

Вместо того чтобы выполнять цикл `foreach` по массиву для поиска значения записи, вы можете использовать метод Laravel Collection `contains()`.

👉 @php_lib
👍14
🚀 Знаете ли вы, как протестировать `redirect back()` в Laravel?

🧪 Используйте простые и понятные тесты для ваших маршрутов. 🌐
🧪 Используйте мощь функции `from` от PestPHP для создания простых и понятных тестов! 🌐

https://github.com/MrPunyapal/basic-crud/blob/main/tests/Feature/Http/Controllers/LocaleControllerTest.php

👉 @php_lib
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Скрытый Трейт В Laravel - ForwardCalls

В этом видео мы рассмотрим скрытый трейт, который присутствует в Laravel, и его название ForwardsCalls. Вы также можете использовать его в своем проекте, если захотите.

👉 @php_lib
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Генерация текста коммита в PhpStorm с помощью ИИ

👉 @php_lib
👍4🗿2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
PHP-разработчики, когда слышат, что PHP умер... 😀

👉 @php_lib
😁11👍3💯2
Простой Trait для улучшения использования объектов в PHP 👌

SomeClass::new()→someMethod();

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

Вам нужно использовать одни и те же правила проверки пароля для разных маршрутов пользователей (например, при регистрации и создании панели администратора)?

Обратите внимание на функцию `Password::defaults()`.

Ознакомьтесь со всеми правилами в документации: https://github.com/illuminate/validation/blob/master/Rules/Password.php

👉 @php_lib
👍5
Лучшие практики использования перечислений в PHP

Хотя перечисления в PHP призваны обеспечить простое и элегантное решение для работы с предопределенным набором значений, эти классы часто используются неправильно, что приводит к отсутствию согласованности из-за внедрения всевозможных методов, которые увеличивают их сложность. В этой статье мы рассмотрим некоторые методы (как хорошие, так и плохие) с целью прояснить понимание этих типов объектов, чтобы помочь вам построить более устойчивую и последовательную кодовую базу.

https://jeffochoa.me/php-enums-best-practices

👉 @php_lib
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
🧪 Советы и рекомендации PhpStorm - Измененные цвета строк

Когда вы изменяете свой код, вы можете увидеть небольшой цветовой индикатор сбоку. Когда вы щелкаете по нему, вы даже видите, что было изменено. (список изменений)

Используемые цвета определяются вашей темой. Но, как и все в PhpStorm, вы можете изменить эти цвета. Проверьте настройки "Color Scheme -> VCS" и "Color Scheme -> Diff & Merge".

👉 @php_lib
👍1
Совет Laravel для чекбоксов в формах

Чтобы сохранить проверенное состояние после ошибок валидации, используйте директиву Blade "checked" с методами `in_array()` и `old()`.

Не забудьте включить пустой массив в качестве запасного варианта.

Пример https://laraveldaily.com/lesson/laravel-array-validation-all-you-need-to-know/validate-single-dimension-array-with-checkboxes

👉 @php_lib
👍4
2025/07/09 20:15:32
Back to Top
HTML Embed Code: