laravel-php-accessor maintained by free2one
快速入门
安装
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.
注意事项
跳转 or 查找不生效
需要确保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,
];