loadsys / cakephp-libregistry
LibRegistry 提供了一种加载和存储非 CakePHP 库实例的机制。它的工作方式与 Cake 3 的 TableRegistry 非常相似。可以通过名称请求对象实例并自动实例化,或者手动将它们加载到注册表中。
1.0.2
2016-09-29 16:20 UTC
Requires
- php: >=5.4
Requires (Dev)
- cakephp/cakephp: ~3.0
- loadsys/loadsys_codesniffer: ~3.0
- phpunit/phpunit: ~4.7
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-09-14 18:09:36 UTC
README
LibRegistry 提供了一种加载和存储非 CakePHP 库实例的机制。它的工作方式与 Cake 3 的 TableRegistry
非常相似。可以通过名称请求对象实例并自动实例化,或者手动将它们加载到注册表中。
要求
- CakePHP 3.0+
安装
Composer
$ composer require loadsys/cakephp-libregistry:~1.0
用法
-
静态调用 LibRegistry
<?php namespace App\Whatever; use LibRegistry\LibRegistry; class MyController extends Controller { public function index() { $myObj = LibRegistry::get('MyObj', ['configs' => 'here']); // (Where the class `src/Lib/MyObj.php` exists.) $myObj->doSomethingNeat(); } }
-
还提供了一个特质,用于将库加载到现有类中
<?php namespace App\Whatever; use LibRegistry\LibRegistryTrait; class MyController extends Controller { use LibRegistryTrait; public function index() { $this->loadLib('MyObj', ['configs' => 'here']); $this->MyObj->doSomethingNeat(); // Works like loadComponent() in this context. } }
库类
-
必须存在于你的 Cake 应用或插件中的
src/Lib/
目录中,并且必须适当地命名空间。 -
必须接受一个包含配置值的单一数组作为
__construct()
方法的唯一参数。不遵循此接口的库不能通过LibRegistry::get()
实例化,尽管它们可以通过::set()
手动存储在注册表中。
贡献
行为准则
本项目已采用贡献者公约作为其 行为准则。所有贡献者都应遵守此准则。 有可用的翻译。
报告问题
请使用 GitHub Issues 列出任何已知缺陷或问题。
开发
请将代码分叉并针对 master
分支提出 PR,以进行任何新开发。
可以通过以下命令运行插件的完整测试套件
$ vendor/bin/phpunit
代码必须符合基于 CakePHP 编码标准的 Loadsys 编码标准
$ vendor/bin/phpcs --config-set installed_paths vendor/cakephp/cakephp-codesniffer,vendor/loadsys/loadsys_codesniffer $ vendor/bin/phpcs -p --standard=Loadsys src