terminal42 / contao-namespace-class-loader
此包已被废弃,不再维护。未建议替代包。
Contao开源CMS的命名空间类加载器
1.0.3
2018-04-18 07:13 UTC
Requires
- php: >=5.3.2
- contao-community-alliance/composer-plugin: 2.*
- contao/core: >=3.2,<4
Replaces
- contao-legacy/_autoload: 1.0.3
README
此扩展实现了Contao 3的有效PSR-0类加载器。实现基于Composer\Autoload\ClassLoader
。
此扩展已过时,请参阅升级信息!
使用方法
将所有文件放置在您的Contao安装中的system/modules/_autoload
目录。
使用方法与Contao类加载器类似,但如果你遵循PSR-0标准,则不需要包含每个类文件。使用以下示例在您的config/autoload.php
中实现类加载器
<?php /** * Register namespace */ NamespaceClassLoader::add('Isotope', 'system/modules/isotope/library');
升级到Contao 4
在Contao 4中,安装扩展的唯一方法是使用Composer。因此,你将不需要此扩展,而应使用Composer的类加载器。
为了与Contao 3扩展仓库和Contao 4兼容,你需要至少要求Contao 3.3,并按以下方式设置
-
在
composer.json
中定义您的命名空间或类。 -
从您的
composer.json
中删除对terminal42/contao-namespace-class-loader
的依赖。 -
在旧扩展仓库中保留依赖关系。
-
将
_autoload
在您的autoload.ini
中设置为可选依赖项,如下所示requires[] = "*_autoload"
-
只有当类实际可用时,才在您的
autoload.php
中调用NamespaceClassLoader
if (class_exists('NamespaceClassLoader')) { NamespaceClassLoader::add( ... ); }
如果通过Composer安装扩展,类将由Composer自动加载器加载。当使用旧扩展仓库安装时,将添加_autoload
扩展,并且类将像以前一样工作。
有关如何在Isotope eCommerce中实现此操作的详细信息,请参阅我们的提交。