使用 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
    

应该可以完成工作