PHP Quick Tips
Stop Doing This in PHP... | Avoid Nesting If Statements | Better Coding Habits in PHP
List of All Basic PHP Security You Need to Know | PHP Security for Beginners | PHP Security Lesson
3 Beginner Mistakes in PHP When it Comes to Form Data | Common PHP Beginner Mistakes | PHP Tips
Should You Learn Object Oriented PHP?
How to Log Errors in PHP | PHP Error Reporting and Debugging for Beginners | Log Website Errors
Learn Object Oriented PHP for Beginners | With Examples to Help You Understand! | OOP PHP Tutorial
источник
👉 @php_lib
Stop Doing This in PHP... | Avoid Nesting If Statements | Better Coding Habits in PHP
List of All Basic PHP Security You Need to Know | PHP Security for Beginners | PHP Security Lesson
3 Beginner Mistakes in PHP When it Comes to Form Data | Common PHP Beginner Mistakes | PHP Tips
Should You Learn Object Oriented PHP?
How to Log Errors in PHP | PHP Error Reporting and Debugging for Beginners | Log Website Errors
Learn Object Oriented PHP for Beginners | With Examples to Help You Understand! | OOP PHP Tutorial
источник
👉 @php_lib
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по Laravel 💡
Один из моих любимых недокументированных советов, который я регулярно использую. Используйте "
👉 @php_lib
Один из моих любимых недокументированных советов, который я регулярно использую. Используйте "
wasRecentlyCreated
", чтобы проверить, была ли модель создана или найдена в базе данных.👉 @php_lib
👍7
Совет по Laravel 💡
Лично я считаю второй вариант более предпочтительным.
Вот 3 синтаксических способа определения внешнего ключа отношения belongsTo в миграциях. Лично я считаю второй вариант более предпочтительным.
Schema:: create( 'orders', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger( 'user_id');
$table->foreign('user_id')->references( id') ->on('users");
});
// Or
Schema: :create( 'orders', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained();
});
/Or
Schema: :create( 'orders', function (Blueprint $table) {
$table->id();
$table->foreignIdFor (User: :class) ->constrained( ) ;
/
});
👉 @php_lib👍4
Разработка пакетов Laravel : Ключевые шаги к созданию эффективного инструмента
Возможно, вы уже видели или использовали такие пакеты Laravel, как Sanctum, Passport, Nova и многие другие. Но задумывались ли вы когда-нибудь, как можно упаковать и развернуть свою разработку в пакет с любой логикой и поделиться им с другими разработчиками в сообществе Laravel?
Одной из ключевых особенностей фреймворка Laravel является экосистема пакетов, которые предоставляют потрясающие возможности для создания высококачественных приложений.
Пакеты - это основной способ добавления любой функциональности в проекты Laravel. Это может быть что угодно - от набора стилей и скриптов до сложной бизнес-логики и API-интеграций.
Код пакетов может быть как самостоятельным, так и служить дополнением к определенному фреймворку, и может разрабатываться и поддерживаться разными разработчиками.
В этой статье мы сосредоточимся на написании пакетов для фреймворка Laravel.
Концепция разработки пакетов включает в себя такие понятия, как ServiceProvider, Facades, Contracts. Все эти элементы обеспечивают стабильную работу приложений от тестирования до продакшена.
ServiceProvider - это точка контакта между контейнером приложения и вашим пакетом. Через него осуществляется управление всеми ресурсами приложения. Инъекция зависимостей - это лучшее, что можно придумать.
https://dev.to/dnsinyukov/laravel-package-development-key-steps-to-building-an-effective-tool-2a7a
👉 @php_lib
Возможно, вы уже видели или использовали такие пакеты Laravel, как Sanctum, Passport, Nova и многие другие. Но задумывались ли вы когда-нибудь, как можно упаковать и развернуть свою разработку в пакет с любой логикой и поделиться им с другими разработчиками в сообществе Laravel?
Одной из ключевых особенностей фреймворка Laravel является экосистема пакетов, которые предоставляют потрясающие возможности для создания высококачественных приложений.
Пакеты - это основной способ добавления любой функциональности в проекты Laravel. Это может быть что угодно - от набора стилей и скриптов до сложной бизнес-логики и API-интеграций.
Код пакетов может быть как самостоятельным, так и служить дополнением к определенному фреймворку, и может разрабатываться и поддерживаться разными разработчиками.
В этой статье мы сосредоточимся на написании пакетов для фреймворка Laravel.
Концепция разработки пакетов включает в себя такие понятия, как ServiceProvider, Facades, Contracts. Все эти элементы обеспечивают стабильную работу приложений от тестирования до продакшена.
ServiceProvider - это точка контакта между контейнером приложения и вашим пакетом. Через него осуществляется управление всеми ресурсами приложения. Инъекция зависимостей - это лучшее, что можно придумать.
https://dev.to/dnsinyukov/laravel-package-development-key-steps-to-building-an-effective-tool-2a7a
👉 @php_lib
👍3
✨ Советы по Laravel ✨
Если вы создаете API в своем проекте:
🪐 Применяйте версионирование в самом первом релизе
🪐 Поддерживайте чистоту в routes/api.php, создавая разные файлы маршрутов для каждой версии👇
🧹 Более чистый код, 📈 Лучшие результаты
👉 @php_lib
Если вы создаете API в своем проекте:
🪐 Применяйте версионирование в самом первом релизе
🪐 Поддерживайте чистоту в routes/api.php, создавая разные файлы маршрутов для каждой версии👇
🧹 Более чистый код, 📈 Лучшие результаты
👉 @php_lib
👍8
Объекты значений в PHP 8: создание лучшего кода. Часть 1
В мире программирования поддержание качества кода на должном уровне имеет большое значение.
Паттерн Value Object способен значительно улучшить качество вашего кода, сделав его более надежным и удобным для сопровождения.
В этой статье я расскажу о том, как реализовать паттерн и как это позволит добавить немного "сахара" в ваш код, используя последние возможности, представленные в PHP 8.1 и PHP 8.2.
https://dev.to/cnastasi/value-objects-in-php-8-building-a-better-code-38k8
👉 @php_lib
В мире программирования поддержание качества кода на должном уровне имеет большое значение.
Паттерн Value Object способен значительно улучшить качество вашего кода, сделав его более надежным и удобным для сопровождения.
В этой статье я расскажу о том, как реализовать паттерн и как это позволит добавить немного "сахара" в ваш код, используя последние возможности, представленные в PHP 8.1 и PHP 8.2.
https://dev.to/cnastasi/value-objects-in-php-8-building-a-better-code-38k8
👉 @php_lib
👍3
Совет по Laravel 💡
Знаете ли вы, что диапазоны Eloquent можно использовать при определении других отношений?
👉 @php_lib
Знаете ли вы, что диапазоны Eloquent можно использовать при определении других отношений?
👉 @php_lib
👍5
Объекты значений в PHP 8: расширенное использование. Часть 2
В предыдущей статье мы рассмотрели возможности объектов значений в повышении качества кода, надежности системы и минимизации необходимости обширной валидации. Теперь давайте погрузимся глубже, чтобы улучшить понимание и использование этого важнейшего инструмента.
https://dev.to/cnastasi/advanced-value-objects-in-php-8-1lp0
👉 @php_lib
В предыдущей статье мы рассмотрели возможности объектов значений в повышении качества кода, надежности системы и минимизации необходимости обширной валидации. Теперь давайте погрузимся глубже, чтобы улучшить понимание и использование этого важнейшего инструмента.
https://dev.to/cnastasi/advanced-value-objects-in-php-8-1lp0
👉 @php_lib
👍3
Объекты значений в PHP 8: сущности
В предыдущих статьях мы узнали, как создавать фундаментальные объекты ценности, и осознали их роль в повышении стабильности и надежности наших приложений.
В этой статье мы рассмотрим еще один архитектурный паттерн, тесно связанный с объектами ценности: Сущности.
https://dev.to/cnastasi/value-object-in-php-8-entities-1jce
👉 @php_lib
В предыдущих статьях мы узнали, как создавать фундаментальные объекты ценности, и осознали их роль в повышении стабильности и надежности наших приложений.
В этой статье мы рассмотрим еще один архитектурный паттерн, тесно связанный с объектами ценности: Сущности.
https://dev.to/cnastasi/value-object-in-php-8-entities-1jce
👉 @php_lib
👍4
Создание одностраничного приложения с помощью HTMX и Symfony
С появлением множества доступных сегодня Javascript-фреймворков веб-страницы стали более плавными и удобными с точки зрения пользовательского интерфейса, и Symfony тоже старается улучшить эту сферу с помощью таких инициатив, как Symfony UX.
Это прекрасно для пользователей, поскольку обеспечивает им беспроблемный и интуитивно понятный интерфейс, но это означает, что мы должны каждый день менять наш способ создания веб-сайтов, причем совершенно по-новому. Такие решения, как Symfony UX, начали появляться на свет, чтобы упростить разработку UX-ориентированных компонентов/сайтов. Мы уже рассказывали об этом конкретном инструменте в другой статье блога, и он отлично работает! Однако то, что мы используем Symfony, не делает его единственным вариантом!
Эта статья посвящена библиотеке, которая в последнее время набирает обороты в области библиотек, улучшающих UX, - htmx.
https://jolicode.com/blog/making-a-single-page-application-with-htmx-and-symfony
👉 @php_lib
С появлением множества доступных сегодня Javascript-фреймворков веб-страницы стали более плавными и удобными с точки зрения пользовательского интерфейса, и Symfony тоже старается улучшить эту сферу с помощью таких инициатив, как Symfony UX.
Это прекрасно для пользователей, поскольку обеспечивает им беспроблемный и интуитивно понятный интерфейс, но это означает, что мы должны каждый день менять наш способ создания веб-сайтов, причем совершенно по-новому. Такие решения, как Symfony UX, начали появляться на свет, чтобы упростить разработку UX-ориентированных компонентов/сайтов. Мы уже рассказывали об этом конкретном инструменте в другой статье блога, и он отлично работает! Однако то, что мы используем Symfony, не делает его единственным вариантом!
Эта статья посвящена библиотеке, которая в последнее время набирает обороты в области библиотек, улучшающих UX, - htmx.
https://jolicode.com/blog/making-a-single-page-application-with-htmx-and-symfony
👉 @php_lib
👍3
PHP Annotated – January 2024
Добро пожаловать в январский выпуск PHP Annotated! Мы расскажем о самых интересных событиях в PHP-сообществе за последний месяц, представив отобранные новости, статьи, инструменты и видео.
https://blog.jetbrains.com/phpstorm/2024/01/php-annotated-january-2024/
👉 @php_lib
Добро пожаловать в январский выпуск PHP Annotated! Мы расскажем о самых интересных событиях в PHP-сообществе за последний месяц, представив отобранные новости, статьи, инструменты и видео.
https://blog.jetbrains.com/phpstorm/2024/01/php-annotated-january-2024/
👉 @php_lib
👍4
Разработка расширения для PHP на C++. Хуки встроенных функций и методов
PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как создать расширение для PHP на C++ на примере разработки функциональности, позволяющей перехватывать вызовы встроенных функций и методов классов в php.
https://habr.com/ru/articles/779344/
👉 @php_lib
PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как создать расширение для PHP на C++ на примере разработки функциональности, позволяющей перехватывать вызовы встроенных функций и методов классов в php.
https://habr.com/ru/articles/779344/
👉 @php_lib
👍3
Genealogy
Бесплатное приложение с открытым исходным кодом (семейное дерево) для записи членов семьи и их взаимоотношений, созданное на PHP (Laravel 10).
https://github.com/MGeurts/genealogy
👉 @php_lib
Бесплатное приложение с открытым исходным кодом (семейное дерево) для записи членов семьи и их взаимоотношений, созданное на PHP (Laravel 10).
https://github.com/MGeurts/genealogy
👉 @php_lib
👍6
Модифицируйте таблицы и записи в режиме реального времени с помощью Laravel Population
Laravel Population - это пакет Laravel, предназначенный для управления миграциями и записями в базе данных. Он значительно упрощает процесс модификации таблиц, избавляя от необходимости создавать новые миграции и обработчики для этих изменений.
https://capsules.codes/en/blog/fyi/en-fyi-modify-tables-and-records-with-laravel-population
👉 @php_lib
Laravel Population - это пакет Laravel, предназначенный для управления миграциями и записями в базе данных. Он значительно упрощает процесс модификации таблиц, избавляя от необходимости создавать новые миграции и обработчики для этих изменений.
https://capsules.codes/en/blog/fyi/en-fyi-modify-tables-and-records-with-laravel-population
👉 @php_lib
👍1
🚨 Защитите свой код от Zip Bomb! 💣🚨
Защитите свои приложения от сильно сжатых Zip-файлов, предназначенных для DoS-атак
💡 проверка количества файлов в архиве
💡 проверьте общий размер несжатых данных
💡 проверьте степень сжатия
👉 @php_lib
Защитите свои приложения от сильно сжатых Zip-файлов, предназначенных для DoS-атак
💡 проверка количества файлов в архиве
💡 проверьте общий размер несжатых данных
💡 проверьте степень сжатия
👉 @php_lib
👍5
Совет по Laravel💡
Поддерживайте контроллеры, используя ТОЛЬКО 7 методов:
1️⃣ index
2️⃣ create
3️⃣ store
4️⃣ show
5️⃣ edit
6️⃣ update
7️⃣ destroy
Для любых дополнительных методов создайте другой контроллер и используйте эти методы.
👉 @php_lib
Поддерживайте контроллеры, используя ТОЛЬКО 7 методов:
1️⃣ index
2️⃣ create
3️⃣ store
4️⃣ show
5️⃣ edit
6️⃣ update
7️⃣ destroy
Для любых дополнительных методов создайте другой контроллер и используйте эти методы.
👉 @php_lib
🤔8👎5👍3