Предотвращение повторной отправки форм с помощью атомарной блокировки
Дублирование отправленных форм или запросов может быть распространенной проблемой в веб-приложениях, часто приводящей к непредвиденным последствиям. Laravel предлагает простое решение для предотвращения таких дубликатов с помощью атомарных блокировок. В этой статье мы рассмотрим реализацию атомарных блокировок для обеспечения того, чтобы отправка формы обрабатывалась только один раз. Кроме того, мы рассмотрим, как атомарные блокировки могут предотвратить диспетчеризацию одного и того же задания несколько раз.
https://daryllegion.com/preventing-duplicate-form-submissions-using-atomic-locks
👉 @php_lib
Дублирование отправленных форм или запросов может быть распространенной проблемой в веб-приложениях, часто приводящей к непредвиденным последствиям. Laravel предлагает простое решение для предотвращения таких дубликатов с помощью атомарных блокировок. В этой статье мы рассмотрим реализацию атомарных блокировок для обеспечения того, чтобы отправка формы обрабатывалась только один раз. Кроме того, мы рассмотрим, как атомарные блокировки могут предотвратить диспетчеризацию одного и того же задания несколько раз.
https://daryllegion.com/preventing-duplicate-form-submissions-using-atomic-locks
👉 @php_lib
👍7👎1
Media is too big
VIEW IN TELEGRAM
Pest-плагин для стресс-тестирования
Стресс-тестирование - это тип тестирования, который проверяет стабильность и надежность вашего приложения в реалистичных или экстремальных условиях - в зависимости от заданного сценария. Например, вы можете использовать стресс-тестирование для проверки того, что ваше приложение может обрабатывать большое количество запросов или что оно может обрабатывать большой объем данных.
https://pestphp.com/docs/stress-testing
👉 @php_lib
Стресс-тестирование - это тип тестирования, который проверяет стабильность и надежность вашего приложения в реалистичных или экстремальных условиях - в зависимости от заданного сценария. Например, вы можете использовать стресс-тестирование для проверки того, что ваше приложение может обрабатывать большое количество запросов или что оно может обрабатывать большой объем данных.
https://pestphp.com/docs/stress-testing
👉 @php_lib
👍3
Альтернатива Nova: почему решили перейти с самописного решения на Orchid
Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написана переиспользуемая логика на PHP, чтобы оперативно решать задачи. На прошлом же месте я работал с Orchid, и, как мне кажется, он показывал себя с наилучшей стороны, а главное — был прост и удобен как при разработке, так и при масштабировании.
Поэтому я решил привнести немного комфорта и практичности, внедрив новую панель администратора в работу студии. Расскажу, почему Orchid — хорошая альтернатива двум другим решениям.
https://habr.com/ru/companies/pyrobyte/articles/774304/
👉 @php_lib
Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написана переиспользуемая логика на PHP, чтобы оперативно решать задачи. На прошлом же месте я работал с Orchid, и, как мне кажется, он показывал себя с наилучшей стороны, а главное — был прост и удобен как при разработке, так и при масштабировании.
Поэтому я решил привнести немного комфорта и практичности, внедрив новую панель администратора в работу студии. Расскажу, почему Orchid — хорошая альтернатива двум другим решениям.
https://habr.com/ru/companies/pyrobyte/articles/774304/
👉 @php_lib
Хабр
Альтернатива Nova: почему решили перейти с самописного решения на Orchid
Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного...
👍5
Совет по Laravel 💡
Знаете ли вы... Во время итерации в цикле foreach внутри цикла будет доступна переменная
👉 @php_lib
Знаете ли вы... Во время итерации в цикле foreach внутри цикла будет доступна переменная
$loop
. Эта переменная предоставляет доступ к некоторым полезным битам информации.👉 @php_lib
👍5
Совет по Laravel💡
Если вы находитесь во вложенном цикле, вы можете получить доступ к переменной
👉 @php_lib
Если вы находитесь во вложенном цикле, вы можете получить доступ к переменной
$loop
родительского цикла через свойство parent:👉 @php_lib
👍1
Сниппет кода Laravel/MySQL
Запрос предстоящих дней рождения по датам рождения - более сложная задача, чем вы думаете.
Взгляните на этот пример из проекта с открытым исходным кодом Genealogy.
👉 @php_lib
Запрос предстоящих дней рождения по датам рождения - более сложная задача, чем вы думаете.
Взгляните на этот пример из проекта с открытым исходным кодом Genealogy.
👉 @php_lib
👍5👎3
Лучшие практики использования перечислений в PHP
Хотя перечисления в PHP призваны обеспечить простое и элегантное решение для работы с предопределенным набором значений, эти классы часто используются неправильно, что приводит к отсутствию согласованности из-за внедрения всевозможных методов, которые увеличивают их сложность. В этой статье мы рассмотрим некоторые методы (как хорошие, так и плохие) с целью прояснить понимание этих типов объектов, чтобы помочь вам построить более устойчивую и последовательную кодовую базу.
https://jeffochoa.me/php-enums-best-practices
👉 @php_lib
Хотя перечисления в PHP призваны обеспечить простое и элегантное решение для работы с предопределенным набором значений, эти классы часто используются неправильно, что приводит к отсутствию согласованности из-за внедрения всевозможных методов, которые увеличивают их сложность. В этой статье мы рассмотрим некоторые методы (как хорошие, так и плохие) с целью прояснить понимание этих типов объектов, чтобы помочь вам построить более устойчивую и последовательную кодовую базу.
https://jeffochoa.me/php-enums-best-practices
👉 @php_lib
👍4
Совет по Laravel 💡
Eloquent метод
Например, сортировка по разнице между двумя столбцами.
👉 @php_lib
Eloquent метод
orderByRaw()
позволяет нам просто передать необработанный запрос для упорядочивания результатов.Например, сортировка по разнице между двумя столбцами.
👉 @php_lib
👍8😁2
Совет по Laravel 💡
Если вы хотите показать «1 comment», но «2 commentS» с формой множественного числа в зависимости от количества, используйте `
Вы также можете использовать его с помощником `
На ваше усмотрение.
https://laravel.com/docs/11.x/strings#method-str-plural
👉 @php_lib
Если вы хотите показать «1 comment», но «2 commentS» с формой множественного числа в зависимости от количества, используйте `
str()->plural()
`.Вы также можете использовать его с помощником `
str()
` или с классом `Str::
`.На ваше усмотрение.
https://laravel.com/docs/11.x/strings#method-str-plural
👉 @php_lib
❤8👍1
Совет по Laravel 💡
В Laravel есть функции
👉 @php_lib
В Laravel есть функции
oldestOfMany()
, newestOfMany()
и ofMany()
, которые можно использовать для отношений hasMany
.👉 @php_lib
👍6
День релиза! 🚀
Laravel v11.7.0
Folio v1.1.8
Installer v5.8.0
Jetstream v5.1.0
Octane v2.3.10
Pennant v1.7.1
Pulse v1.1.0
Reverb v1.0.0-beta10
Scout v10.9.0
Socialite v5.14.0
Valet v4.6.2
👉 @php_lib
Laravel v11.7.0
Folio v1.1.8
Installer v5.8.0
Jetstream v5.1.0
Octane v2.3.10
Pennant v1.7.1
Pulse v1.1.0
Reverb v1.0.0-beta10
Scout v10.9.0
Socialite v5.14.0
Valet v4.6.2
👉 @php_lib
👍4
Один из самых старых советов и подсказок Laravel, но каждый раз, когда я делюсь им, многие люди говорят: «Вау, я не знал этого, так круто».
Цикл «
👉 @php_lib
Цикл «
forelse
» в Blade.👉 @php_lib
👍15🔥4
Всегда радует этот небольшой рефактор для простых циклов «accumulation». Вы можете сразу же оптимизировать его с помощью встроенной в PHP функции `
👉 @php_lib
array_filter
`. Больше ничего не требуется.👉 @php_lib
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
Я создал прототип за выходне
phpup - однофайловый бинарник для запуска Composer и других инструментов, а также для установки PHP-интерпретатора для каждого проекта.
Для его использования не обязательно иметь установленный PHP на вашей машине.
https://github.com/pronskiy/phpup
👉 @php_lib
phpup - однофайловый бинарник для запуска Composer и других инструментов, а также для установки PHP-интерпретатора для каждого проекта.
Для его использования не обязательно иметь установленный PHP на вашей машине.
https://github.com/pronskiy/phpup
👉 @php_lib
👍8❤2
🚀 Совет по Laravel
Ускорьте миграции с помощью
Простое выполнение файлов данных SQL для заполнения таблиц в Laravel. 🗂️✨
👉 @php_lib
Ускорьте миграции с помощью
DB::unprepared()
! ✔️Простое выполнение файлов данных SQL для заполнения таблиц в Laravel. 🗂️✨
👉 @php_lib
👍3🔥2
🚀 Совет по Laravel
Если ваши маршруты содержат много контроллеров ресурсов, вы можете сгруппировать их и вызвать один
👉 @php_lib
Если ваши маршруты содержат много контроллеров ресурсов, вы можете сгруппировать их и вызвать один
Route::resources()
вместо множества одиночных операторов Route::resource()
.👉 @php_lib
👍5👎1👌1
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
В прошлой статье я уже рассказывал о том, что можно использовать консоль Xdebug как аналог Python Console в Phpstorm. В комментариях меня спросили, чем не подходит для этого нативная консоль php, которую можно вызвать командой php -a (Php Interactive Shell, далее в тексте будет просто консоль Php). Я тогда ответил, что она не интегрирована с IDE, и у нее нет соответствующих фич, таких как автодополнение. Однако недавно выяснилось, что на самом деле ее можно "интегрировать" с Phpstorm одним хитрым способом. Дело в том, что ее тоже можно запустить в режиме отладки, и тогда в качестве консоли отладки будет она сама. А в консоли отладки уже доступно автодополнение из IDE.
https://habr.com/ru/articles/779548/
👉 @php_lib
👍8
Советы по Laravel
Если ваш URL содержит параметры запроса, но вы хотите получить URL без некоторых из них, вы можете использовать метод
Если ваш URL содержит параметры запроса, но вы хотите получить URL без некоторых из них, вы можете использовать метод
fullUrlWithoutQuery().
👉 @php_lib👍5😁1
Сайт с пакетами для Laravel
Научитесь создавать PHP-пакеты для Laravel с нуля, следуя этой открытой документации. Вклад в разработку приветствуется.
https://larapackages.com/
👉 @php_lib
Научитесь создавать PHP-пакеты для Laravel с нуля, следуя этой открытой документации. Вклад в разработку приветствуется.
https://larapackages.com/
👉 @php_lib
🔥5👍1