__autoload() 是否放在主类中?
我是新来的,如果这是一个邪恶的菜鸟问题,我很抱歉。
JMC
是我的主课。其他类的命名类似于 JMC_files
或 JMC_array
。我想使用自动加载。自动加载函数是在我的主类的内部还是外部?因此,对于视觉效果,我应该这样做:
class JMC {
function __autoload($className) {
include_once($className.'.php');
}
protected function foo() { }
}
class JMC_files extends JMC (){
}
还是这样:
function __autoload($className) {
include_once($className.'.php');
}
class JMC {
protected function foo() { }
}
class JMC_files extends JMC (){
}
I'm new to classes, so sorry if this is a wicked noob question.
JMC
is my main class. Other classes are named like JMC_files
or JMC_array
. I want to use autoload. Does the autoload function go inside my main class or outside of it? So for a visual, should I do this:
class JMC {
function __autoload($className) {
include_once($className.'.php');
}
protected function foo() { }
}
class JMC_files extends JMC (){
}
or this:
function __autoload($className) {
include_once($className.'.php');
}
class JMC {
protected function foo() { }
}
class JMC_files extends JMC (){
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
__autoload()
是一个名称当您尝试引用用户空间中尚不存在的类时,默认情况下会自动调用魔术函数。它是一个函数,而不是一个类方法,因此您可以这样定义它:如果您愿意,您可以使用
spl_autoload_register()
。例如,如果您想为主JMC
类提供一个处理类文件自动加载的静态autoload()
方法,您可以执行如下操作:你的自动加载功能取决于你。您的主
JMC
类听起来是一个合理的位置;我的框架的自动加载方法也位于主类中。__autoload()
is the name of a magic function that is automatically called by default when you attempt to reference a class that doesn't yet exist in userland. It's a function, not a class method, so you define it like this:If you like, you may set your own autoload handler (can be a function or a class method) instead, by using
spl_autoload_register()
. For example, if you want to give your mainJMC
class a staticautoload()
method that handles autoloading of class files, you would do something like this:Where you want to place your autoload function depends on you. Your main
JMC
class sounds like a reasonable place for it; my framework's autoload method lives in the main class too.