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

По всем вопросам @evgenycarter
Download Telegram
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
The Laravel Survival Guide
DevDojo

Почему именно эта книга? На самом деле, это не совсем книга, а скорее руководство, которое поможет вам и другим не стать "зомби-разработчиками".
Что же такое "зомби-разработчик"? Это такой же разработчик, как и мы, который бездумно ковыряется в PHP-приложениях, повторяя одни и те же задачи снова и снова. Эти повторяющиеся задачи могут быть невероятно утомительными и в конечном итоге превращают мозг в кашицу. Когда это происходит, разработчики повсеместно превращаются в бездумных зомби с жаждой крови и желанием убивать.
Однако есть средство: фреймворк Laravel, предназначенный для быстрой разработки приложений. Освоив Laravel, вы сможете заново открыть в себе страсть к написанию кода и побороть в себе "зомби". Это руководство призвано сохранить ваше здравомыслие, сделав работу над кодом снова приятной. И да, это может спасти жизнь!
Освоив основы Laravel, вы сможете уберечь себя и, возможно, других от превращения в бездумного зомби-разработчика.
Не позволяйте внутреннему зомби процветать, держите под рукой руководство по выживанию Laravel.

👉 @php_lib
👍4👎3
Docker

Докер с нуля - практический пример. Как запустить docker nginx, php-fpm, mysql, phpmyadmin
Yii2 в Docker: настройка веб-сервера, установка Yii в контейнер
Самый быстрый способ поднятия проекта на Yii2 с помощью Docker
Подключение к базе данных и выполнение миграций Yii2 в Docker
Исправляем ошибку подключения к MySQL при выполнении миграций Yii2 в контейнере Docker

источник

👉 @php_lib
👍8
Портирование PHP в браузер с помощью WebAssembly

Разве не было бы здорово, если бы вы могли запускать PHP в браузере и при этом ничего не устанавливать на свой компьютер? Технология под названием WebAssembly позволяет вам сделать именно это.

По сути, WebAssembly - это формат двоичных инструкций для виртуальной машины на основе стека. Он разработан как переносимая цель для компиляции языков высокого уровня, таких как C/C++/Rust, что позволяет развертывать в Интернете клиентские и серверные приложения.

Мы можем использовать WebAssembly для использования возможностей PHP в браузере. Давайте посмотрим, как это сделать.

<script type = "text/php" data-stdout = "#output" data-stderr = "#error">
<?php
echo "Hello World!";
?>
</script>

<div id="output"></div>


https://www.amitmerchant.com/portable-php-in-the-browser-using-webassembly/

👉 @php_lib
👍4
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
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по Laravel 💡

Один из моих любимых недокументированных советов, который я регулярно использую. Используйте "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
👍3
Советы по Laravel

Если вы создаете 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
👍3