laravel

docker-compose 快速部署 laravel-websockets

Backend

安装 # 通过composer安装 composer require beyondcode/laravel-websockets # 发布迁移文件 php artisan vendor:publish --provider="BeyondCode\LaravelWebSockets\WebSocketsServiceProvider" --tag="migrations" # 执行迁移 php artisan migrate # 发布WebSocket配置文件 php artisan vendor:publish --provider="BeyondCode\LaravelWebSock...

Laravel 消息通知

Backend

创建通知 php artisan make:notification InvoicePaid 这个命令会在 app/Notifications 目录下生成一个新的通知类。每个通知类都包含一个 via 方法以及一个或多个消息构建的方法比如 toMail 或 toDatabase,它们会针对特定的渠道把通知转换为对应的消息。 发送通知 使用 Notifiable Trait 该方法默认包含在应用程序的 App\Models\User 模型中: <?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenti...

Laravel 发送邮件

Backend

简单使用 配置 以阿里企业邮为例,修改.env文件 MAIL_MAILER=smtp MAIL_HOST=smtp.mxhichina.com MAIL_PORT=25 MAIL_USERNAME=notifications-noreply@a.com MAIL_PASSWORD=123 MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=notifications-noreply@a.com MAIL_FROM_NAME=notifications-noreply 关于MAIL_ENCRYPTION参数,我查看了源码,它的值只有tls和其他,tls即ssl加密,源...

Laravel 事件

Backend

常用命令 #显示系统注册的事件和监听器的列表 php artisan event:list 生成事件和监听器 一、 手动 1、生成单个事件和监听器 php artisan make:event PublishArticlesEvent php artisan make:listener PublishArticlesListener --event=PublishArticlesEvent 2、手动注册事件和监听器 root@php-fpm:/var/www/laravel-demo# cat app/Providers/EventServiceProvider.php /** * ...

Laravel 任务调度

Backend

过去想给一个脚本创建计划任务,得登陆服务器执行crontab -e,或编辑/etc/crontab,每加一个脚本都得重复此步骤。 现在有了任务调度,你只需在服务器上配置一条 * * * * * cd /你的项目路径 && php artisan schedule:run >> /dev/null 2>&1 后面你再加多少脚本都无需到服务器处理 定义调度 你可以在 App\Console\Kernel 类的 schedule 方法中定义所有的调度任务。 class Kernel extends ConsoleKernel { protected function schedule(Sc...

Laravel 队列

Backend

创建任务 生成任务类 root@php-fpm:/var/www/laravel-demo# php artisan make:job PublishArticles Job created successfully. 编辑一下 class PublishArticles implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public Article $article; public function __construct(Art...

Laravel 编写控制台命令

Backend

Artisan 是 Laravel 附带的命令行接口。 #查看所有可用的 Artisan 命令 php artisan list #查看命令帮助 php artisan help migrate Tinker 命令 (REPL) Laravel Tinker 是为 Laravel 提供的强大的 REPL(交互式解释器),由 PsySH 提供支持。 所有 Laravel 应用都默认包含了 Tinker。如果你之前已经将 Tinker 从应用中删除,可以使用 Composer 进行手动安装: composer require laravel/tinker 通过运行 Artisan 命令 ti...

PHP PHPStan 的使用

Backend

安装 composer require --dev phpstan/phpstan 修改composer.json "scripts": { ... "stan": [ " php -d memory_limit=-1 vendor/bin/phpstan analyse app routes database config tests" ] }, 在项目根目录添加phpstan.neon配置文件 root@php-fpm:/var/www/laravel-demo# vi phpstan.neon ...

Laravel 数据库交互 - 查询构造器

Backend

获取结果 从表中检索所有行 $articles = DB::table('article')->get(); foreach ($articles as $article) { echo $article->title.PHP_EOL; } 从表中检索单行或单列 #通过id字段获取一行 $article = DB::table('article')->find(3); #获取一行 $article = DB::table('article')->where(...

Laravel 数据库交互 - 原生 SQL

Backend

return DB::connection('mysql')->select('SELECT * FROM `article` WHERE `category_id` = ?', [1]); return DB::select('SELECT * FROM `article` WHERE `category_id` = ?', [1]); #使用命名绑定 #除了使用 ? 表示参数绑定外,你还可以使用命名绑定的形式来执行一个查询: return DB::select('select * from `article` ...