我正在研究Kohana框架,并试图通过代码来更好地理解框架是如何工作的。
因此,我们从index.php加载:
require SYSPATH.'base'.EXT;
require SYSPATH.'classes/kohana/core'.EXT;
require APPPATH.'bootstrap'.EXT;在core.php文件中,我们执行以下操作:
public static $environment = Kohana::DEVELOPMENT;我们称之为Kohana::发展指的是什么?根据我的理解-通过使用::我们应该从kohana类获得静态常数。-对吧?但是,在代码中的那个时刻,我找不到加载的Kohana类。那么-谁能解释一下这里发生了什么:)?谢谢
决议:
不要紧。我没有按照密码走得足够远。Kohana类扩展了Kohana_Core类。嗯。遗憾的是,没有办法从StackOverflow中删除愚蠢的问题。
发布于 2010-12-27 15:29:58
Kohana (可能和其他任何框架一样)使用“自动加载”机制。这允许您使用类而不包括手工定义的文件。自动加载程序将自动包含/要求Kohana类所在的文件。
因此,当您键入Kohana::DEVELOPMENT或new Kohana ();时,自动加载程序将加载包含Kohana类的文件。你应该知道这并不神奇。您必须为您的框架编写自己的自动加载程序代码。
您可以阅读有关自动加载这里的更多信息。
发布于 2015-01-29 11:28:45
有关更多信息,请查看此链接:自动寄存器。Kohana使用自己的实现,可以在bootstrap.php文件中设置。您可以在Core.php文件中找到这个函数。
/**
* Enable the Kohana auto-loader.
*
* @link http://kohanaframework.org/guide/using.autoloading
* @link http://www.php.net/manual/function.spl-autoload-register
*/
spl_autoload_register(array('Kohana', 'auto_load'));https://stackoverflow.com/questions/4539665
复制相似问题