我有一个classes.php
文件,在该文件中,我声明一组类将在一系列页面中使用。
然后,在一个页面中,我需要使用另一个类,它在单独的文件中声明。现在,这个单独的类使用位于classes.php
文件中的一些类。
所以,在大多数页面中,我有:
[1]
<?php
require('classes.php');
[page code]
?>
效果很好。问题出在那个特定的页面上,它有:
[2]
<?php
require('classes.php');
require('separate_class.php');
[page code]
?>
这不起作用,因为
separate_class.php
也需要classes.php
。如果我试试这个:
[3]
<?php
require('separate_class.php');
[page code]
?>
然后它就不工作了,因为现在这些类不可用于此页,即使它们是在
separate_class.php
文件中声明的。显而易见的解决方案似乎是在
classes.php
文件中包含单独的类,这很笨拙,因为这个单独的类仅在这一系列页面中才有意义,而文件classes.php
包含通用类并在各种应用程序之间共享。我怎样才能做到这一点,使我能够保持如[2]所示的结构,也就是说,将通用类与特定类分开,而特定类又需要那些通用类,同时仍然能够在页面中使用这些通用类?
最佳答案
一个更合理的解决方案可能是将每个类分离到它自己的文件中,并使用自动加载器…
http://php.net/manual/en/function.spl-autoload.php