使用 composer 自动加载嵌套 类
autoloading nested classes with composer
我创建了一个非常基本的验证器 class。
我的基本代码在我的 src/ 文件夹中,它使用
获取自动加载器
"kevdotbadger\Validator\": "src/"
这很好用,所以当我实例化一个 new "kevdotbadger\Validator\ Validator
时,我得到了 src/Validator.php
我的 Validator.php class 然后在我的 src/Rules
目录中加载一堆子 classes。这些是通过使用 __call
神奇地加载的,所以 ->between()
应该寻找 src/Rules/between.php
。但是,由于某些原因,尽管它已在我的 composer.json 文件中设置,但它通常不会加载。
我的整个代码库可在 https://github.com/kevdotbadger/validator/
我是否正确设置了命名空间?我认为问题可能出在 php 5.3 版,但我需要使用 5.3 版。
谢谢。
好吧,在使用它自动加载时,您需要遵守 psr-4 的准则。
- 将文件夹名称 "rules" 更改为 "Rules"
将 类 的所有文件名大写,例如:
between.php --> Between.php
应该可以完成工作
我创建了一个非常基本的验证器 class。
我的基本代码在我的 src/ 文件夹中,它使用
获取自动加载器"kevdotbadger\Validator\": "src/"
这很好用,所以当我实例化一个 new "kevdotbadger\Validator\ Validator
时,我得到了 src/Validator.php
我的 Validator.php class 然后在我的 src/Rules
目录中加载一堆子 classes。这些是通过使用 __call
神奇地加载的,所以 ->between()
应该寻找 src/Rules/between.php
。但是,由于某些原因,尽管它已在我的 composer.json 文件中设置,但它通常不会加载。
我的整个代码库可在 https://github.com/kevdotbadger/validator/
我是否正确设置了命名空间?我认为问题可能出在 php 5.3 版,但我需要使用 5.3 版。
谢谢。
好吧,在使用它自动加载时,您需要遵守 psr-4 的准则。
- 将文件夹名称 "rules" 更改为 "Rules"
将 类 的所有文件名大写,例如:
between.php --> Between.php
应该可以完成工作