共生体/支持前调用

前调用支持

v1.0.4 2024-06-28 13:44 UTC

This package is auto-updated.

Last update: 2024-09-28 12:11:19 UTC


README

使用魔术方法 __call__callStatic 的最小前调用特性。

此包仍在开发中!

要求

  • php 8.2

安装

composer require symbiont/support-forward-call

用法

ForwardsCall 的简单使用示例。


use Symbiont\Support\ForwardCall\Contracts\ForwardsCalls;
use Symbiont\Support\ForwardCall\ForwardsCall;

use Some\Container;
use Some\Dispatcher;
use Some\SomethingElse;

/**
 * @method methods
 * @method to
 * @method ..  
 */
class Awesome implements ForwardsCalls {

    use Forwardscall;

    protected object $container;
    protected object $dispatcher;
 
    public function __construct() {
        $this->container = new Container;
        $this->dispatcher = new Dispatcher;
        $this->something_else = new SomethingElse;
    }
 
    protected function forwardContainer(): array {
        return [
            'methods', 'to', 'be', 
            'forwarded' // static
        ];
    }
 
    protected function forwardDispatcher(): array {
        return [
            'method' => 'that',
            'can' => 'beBend',
            'mixed', 'with', 'others'
        ]
    }
    
    // converts to property `something_else`
    protected function forwardSomethingElse(): array {
        return [
           // .. methods
        ]       
    }
}

$object = new Awesome;
$object->methods();
// call $this->container->methods()
$object->can();
// calls $this->dispatcher->beBend()
$object::forwarded(); 
// calls $this->container::forwarded()

文档

此文档仅记录此包的技术用法,文字很少。

测试

composer test

许可证

MIT 许可证