我应该包含/ require_once我在
PHP中扩展的父类吗?
例如,我有一个名为Shapes的类
class Shapes { }
然后我创建了一个名为的子类
require_once('shapes.PHP'); class Circle extends Shapes { }
您需要做些什么才能让PHP在处理子类之前看到您的基类定义,否则会发生致命错误.
这个东西可以是基类文件的手动require_once,也可以是autoloading(还有其他自动加载选项,但spl_autoload_register
是你应该使用的选项).
使用哪种方法取决于范围:在编写小型测试项目时,设置自动加载可能是过度的.但随着代码库变得越来越大,自动加载变得更具吸引力,因为:
>它可以隐藏复杂的源文件解析逻辑(例如,如果您有基类的可配置目录;还有更多高级方案)>它可以逐步配置:您可以使用多个自动加载器作为链运行,并且应用程序的每个独立模块都可以注册其独立的自动加载器,与所有其他自动加载器和平共存