gisostallenberg/velpon-loader

该软件包最新版本(0.1.0)没有提供许可信息。

用于堆栈中类的动态粘合剂

0.1.0 2018-10-29 17:12 UTC

This package is auto-updated.

Last update: 2024-09-24 04:54:50 UTC


README

Velpon loader 将变量堆栈中定义的类粘合在一起。关于名称的起源,请参阅 https://nl.wikipedia.org/wiki/Ceta-Bever

请注意,该软件包可以为变量堆栈初始化任意类堆栈。但它 无法更改 已经初始化(已构建)的类。

该软件包旨在以BC方式用于实现此类加载方式的现有项目。警告:强烈不建议用于任何新项目。请使用服务、事件等来能够“插入”行为。

安装

composer require gisostallenberg/velpon-loader

使用示例

use GisoStallenberg\VelponLoader\VelponLoader;

// Note that the stack order is reversed (ClassToPlug extends ClassToPlugPluginOne extends ClassToPlugPluginTwo)
VelponLoader::register([
    'plugin_two' => [
        'ClassToPlug' => 'ClassToPlugPluginTwo'
    ],
    'plugin_one' => [
        'ClassToPlug' => 'ClassToPlugPluginOne'
    ],
]);

文件

// ClassToPlug.php
class ClassToPlugPluggable {}

// ClassToPlugPluginOne.php
class ClassToPlugPluginOne extends ClassToPlugPluginOneVelpon {} 

// ClassToPlugPluginTwo.php
class ClassToPlugPluginTwo extends ClassToPlugPluginTwoVelpon {} 

待办事项

保护抽象类免于在没有非抽象父类的情况下构建