loadsys/cakephp-libregistry

LibRegistry 提供了一种加载和存储非 CakePHP 库实例的机制。它的工作方式与 Cake 3 的 TableRegistry 非常相似。可以通过名称请求对象实例并自动实例化,或者手动将它们加载到注册表中。

安装量: 11,923

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 10

分支: 0

开放问题: 0

类型:cakephp-plugin

1.0.2 2016-09-29 16:20 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:09:36 UTC


README

Packagist Version Software License Build Status Coverage Status Total Downloads

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

许可

MIT

版权

Loadsys Web Strategies 2016