有没有办法自动包含同一文件夹的文件?
我在我正在处理的应用程序中看到很多代码都有这种代码。具体的例子是快速邮件(如果有人知道的话(。但这也可以用作一般示例:
Folder: vendorswiftmailerswiftmailerlibclassesSwiftTransport
|
--- File MailInvoker.php
|
--- interface Swift_Transport_MailInvoker
|
--- File SimpleMailInvoker.php
|
--- class Swift_Transport_SimpleMailInvoker implements Swift_Transport_MailInvoker
我无法弄清楚没有任何特定的包含语句或任何自动加载文件中的任何提及,类如何使用接口。
提前感谢您的帮助!
您可以自动加载类。有关官方文档,请参阅 http://php.net/manual/en/language.oop5.autoload.php。
基本上,您创建一个函数来加载类并将其注册到spl_autoload_register('autoloader_function_name');
当尚未包含该类时,将执行该函数。
你可以在 swiftmailer/lib/classes/Swift 中找到 swift autoloader.php 作为public static function autoload($class)
在这里,在stackoverflow上,也有很多例子: 在PHP中自动加载类的最佳方法
Composer 是自动加载文件的最佳工具,所有现代框架都使用 composer。要自动加载文件夹文件,您应该初始化自动加载系统,然后遵循文件命名中的一些标准。您可以阅读本教程以获取有关作曲家的更多信息