free2one / laravel-php-accessor
PHP Accessor SDK for Laravel framework
Installs: 3 472
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 0
Open Issues: 0
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
.
注意事项
跳转 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, ];