README.en.md 4.2 KB

初始化

#生成APP_KEY
php artisan key:generate

#生成JWT KEY
php artisan jwt:secret

# 目录 初始化 软连接
php artisan storage:link

# 目录权限
chmod -R 777 storage

# composer 初始化
composer update -o -vvv --no-dev --classmap-authoritative  --ignore-platform-reqs

# 禁用相关函数
putenv proc_open

# 
composer require symfony/symfony:5.4.x -w --ignore-platform-reqs
# 启动调度器
crontab -u www -e

# 生产
00 01 * * * /usr/bin/php /mnt/www.xxx.com/artisan schedule:run >> /mnt/www.xxx.com/storage/logs/schedule.log 2>&1

# 本地
* * * * * /usr/local/bin/php /Users/Nova/Projects/cloud/artisan schedule:run >> /Users/Nova/Projects/cloud/storage/logs/schedule.log 2>&1

# 测试
00 01 * * * /usr/bin/php /mnt/umiu/artisan schedule:run >> /mnt/umiu/storage/logs/schedule.log 2>&1

生产环境优化

配置信息缓存#:php artisan config:cache
路由缓存#:php artisan route:cache
类映射加载优化#:php artisan optimize --force (清除命令:php artisan clear-compiled)
自动加载优化:composer dumpautoload -o
使用 Memcached 来存储会话:SESSION_DRIVER=memcached
使用专业缓存驱动器:CACHE_DRIVER=redis

缓存清理

php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

Composer 扩展包

1、alibabacloud/client               阿里云sdk
2、catlane/chunk-file-upload         单文件上传
3、dingo/api                         框架接口
5、encore/laravel-admin              laravel-admin
5、fruitcake/laravel-cors            跨域
6、intervention/image                image 扩展
7、jpush/jpush                       极光推送
8、maatwebsite/excel                 excel 扩展
9、overtrue/easy-sms                 短信功能
10、overtrue/laravel-wechat           微信
11、overtrue/wechat                  微信
12、simplesoftwareio/simple-qrcode   二维码
13、spatie/laravel-activitylog       日志
14、tymon/jwt-auth                   jwt
15、yansongda/laravel-pay            支付功能

规范

html:id、name  命名用"-"分割
css:命名用"-"分割

Jobs:将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和相应的时间。

响应

错误:
Http Status Code 非200
Response {"code":0,"msg":"","data":{}}

fix

composer overtrue/wechat
/Users/Nova/Projects/cloud/vendor/overtrue/wechat/src/Kernel/ServerGuard.php
line 323
if (0 === stripos($content, '<')) {
fix
if (0 === stripos(trim($content), '<')) {

其他

忽略PHP版本更新  composer update --ignore-platform-reqs

自定义artisan

目前的系统都是继承自基类,基本的方法都已经实现,需要开发新的功能的时候,只需要建立新的类即可,可以通过artisan来自动创建需要的类
路由:{name}s
控制层:{Name}Controller extends BaseController
表单验证层:{Name}Request
逻辑层: {Name}Service
模型层:{Name}
转换成:{Name}Transform
管理端gird类:{Name}Grid
管理端form类:{Name}Form
管理端控制层:{Name}Controller
机构端控制层:{Name}Controller


使用命令  php artisan make:api User --title=用户
1、会在 api路由中增加 $api->resource('users', UserController::class); 注意该文件是在路由文件最后,需要移动到对应的位置
2、会在 app\Http\Api\V1\Controllers    创建 controller 文件    UsersController
3、会在 app\Models                     创建 model 文件         User
4、会在 app\Services                   创建 service 文件       UserService
5、会在 app\Transformers               创建 transformer 文件   UserTransformer
6、会在 app\Http\Requests              创建 request 文件       UserCreateRequest 和 UserUpdateRequest
7、会在 app\Policies                   创建 policy 文件        UserPolicy
8、会在 app\Admin\Grids                创建 grid 文件          UserGrid
9、会在 app\Admin\Forms                创建 form 文件          UserForm
10、会在 app\Admin\Controllers         创建 controller 文件    UsersController
10、会在 app\Agency\Controllers        创建 controller 文件    UsersController