free2one / laravel-php-accessor
Laravel框架的PHP访问器SDK
0.4.0
2023-10-27 06:41 UTC
Requires
- php: >=8.0
- free2one/php-accessor: ~0.5.0
- illuminate/console: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
Requires (Dev)
README
安装
composer require free2one/laravel-php-accessor
发布配置
php artisan vendor:publish --tag=php-accessor
在项目composer.json
文件中配置以下信息:
{ "scripts":{ "php-accessor": "@php vendor/bin/php-accessor generate" } }
使用#[Data]
注解原始类
<?php namespace App; use PhpAccessor\Attribute\Data; #[Data] class Entity { private int $id; private int $sex; }
更多注解的使用说明,详见PHP Accessor。
配置项说明
is_dev_mode
设置为true时,将在每次请求时重新生成访问器代理类,否则将在第一次请求时生成访问器代理类,后续请求将直接使用代理类。
scan_directories
需要扫描的目录,默认为app
目录。
proxy_root_directory
访问器代理类存放目录,默认为.php-accessor
目录。
gen_meta
是否生成访问器元数据,生产环境可设置为no
。
gen_proxy
是否生成访问器代理类
log_level
日志级别,默认为debug
。
注意事项
跳转或查找不生效
需要确保APP_ENV
在本地环境的设置为local
,否则请自行修改配置文件php-accessor.php
中的genMeta
判断。
<?php declare(strict_types=1); use Psr\Log\LogLevel; return [ 'is_dev_mode' => false, 'scan_directories' => [ 'app', ], 'proxy_root_directory' => '.php-accessor', 'gen_meta' => env('APP_ENV') == 'local' ? 'yes' : 'no', 'gen_proxy' => 'yes', 'log_level' => LogLevel::DEBUG, ];