xp-framework / uses
此包已被废弃,不再维护。没有推荐替代包。
使用 BC
v0.2.0
2016-01-09 15:01 UTC
Requires
- php: >=5.5.0
- xp-framework/core: ^6.4
Requires (Dev)
- xp-framework/unittest: ^6.5
This package is auto-updated.
Last update: 2020-08-29 04:55:30 UTC
README
对于 XP 6.4.0+ 加载类使用 uses()
的向后兼容性
动机
在 XP 6.4.0 中,为了支持 PHP 7.0,框架移除了通过 uses()
加载类的支持。 不幸的是,并不是每个人都能及时地适应整个代码库的修改。然而,他们可能仍然希望使用包含所需错误修复的新版本框架。 这个库可以在这种短暂的过渡状态下提供帮助。
背景
在 XP 框架完全迁移到 PHP 命名空间之前,类的声明如下
<?php uses('util.Filter'); class Filters extends Object implements Filter { // ... } ?>
注意
- 类存在于全局命名空间中,它们的名称由存储关联长名称 => 文字映射的
xp::$cn
映射推断。 Object
可以通过其短名称引用。这是因为它属于一组无处不在的类。Filter
接口可以通过其短名称引用。这是因为它在上方被显式加载,并且无论它是否声明为命名空间,都会发生。
此库的作用
此库
- 添加了一个
uses()
函数。它负责加载类,为命名空间类创建短名称别名和处理导入。 - 在类加载链中注入一个类加载器,它增加了对旧类声明的支持。它确保类名 / 文字映射被正确注册。
如果成功安装,您将看到 UsesCL
行出现
$ xp -v XP 6.9.3-dev { PHP 7.0.0 & ZE 3.0.0 } @ Windows NT SLATE 10.0 build 10586 (Windows 10) i586 Copyright (c) 2001-2016 the XP group UsesCL(cached: 0) FileSystemCL<~/devel/xp/core/src/main/php> # ...