zanphp / autoload
此包最新版本(dev-master)没有提供许可证信息。
dev-master / 1.0.x-dev
2017-07-19 05:39 UTC
Requires
- php: >=5.6
- composer-plugin-api: 1.1.0
This package is not auto-updated.
Last update: 2024-09-29 03:58:08 UTC
README
composer 插件,模拟静态初始化
<?php interface StaticInitializer { public static function __static(); }
!! 注意,需要进行静态初始化的类必须通过 composer 加载。
类加载时,public static function __static()
方法会自动执行,必须无参数,必须为静态方法
自行 require、include 功能失效;
使用
在 composer.json 中引入 zanphp/autoload 包
{ "require": { "zanphp/autoload": "dev-master" } }
可选接口实现
<?php namespace ZanPHP\Autoload\Tests; class StaticTest { public static function __static() { echo __CLASS__ . " initialized\n"; } }
或者直接实现接口;
<?php namespace ZanPHP\Autoload\Tests; use Composer\Autoload\StaticInitializer; class StaticInterfaceTest implements StaticInitializer { public static function __static() { echo __CLASS__ . " initialized\n"; } }
测试
<?php require __DIR__ . "/vendor/autoload.php"; class_exists(\ZanPHP\Autoload\Tests\StaticTest::class, true); class_exists(\ZanPHP\Autoload\Tests\StaticInterfaceTest::class, true);
输出
ZanPHP\Autoload\Tests\StaticTest initialized
ZanPHP\Autoload\Tests\StaticInterfaceTest initialized