Php codeigniter';什么是负载工作?
我在理解codeigniters加载是如何工作的方面遇到了一些困难 首先你有一个自动加载,看起来很简单,每次都会加载。这听起来很适合我一直用的东西 其次,您可以在线加载所有内容。但我的问题是:它能装载多久 假设我在控制器中加载表单验证库,然后加载模型,我可以在模型中使用表单验证,还是必须重新加载它? 继续,假设我加载了一个视图和另一个控制器,我可以使用表单验证吗?还是我需要加载? 在重定向之后? 如果我加载一个模型或助手而不是库,怎么样? 假设我想在另一个模型中使用一个模型,在哪里加载该模型Php codeigniter';什么是负载工作?,php,codeigniter,load,Php,Codeigniter,Load,我在理解codeigniters加载是如何工作的方面遇到了一些困难 首先你有一个自动加载,看起来很简单,每次都会加载。这听起来很适合我一直用的东西 其次,您可以在线加载所有内容。但我的问题是:它能装载多久 假设我在控制器中加载表单验证库,然后加载模型,我可以在模型中使用表单验证,还是必须重新加载它? 继续,假设我加载了一个视图和另一个控制器,我可以使用表单验证吗?还是我需要加载? 在重定向之后? 如果我加载一个模型或助手而不是库,怎么样? 假设我想在另一个模型中使用一个模型,在哪里加载该模型 因
因此,基本的问题是,在我需要重新加载之前,加载需要多长时间,或者更确切地说,要加载多长时间?在编写自己的模型或帮助程序时加载一些内容,例如:
$ci = get_instance();
$ci->load->library('user_agent');
$ci->load->database();
关于所有其他问题,我认为您应该加载每个控制器所需的内容。它一直保持在那里,直到时间结束(即,当您的脚本完成并且宇宙崩溃时)正如@yi_H正确指出的,加载将持续当前脚本的整个生命周期。也就是说,当您调用控制器的方法时,将加载资源。如果在另一个方法中调用相同的资源,则该方法不再可用 这是因为控制器在每次请求时都会初始化,所以当您访问
index.php/mycontroller/method1
控制器已初始化(您可以启用日志并清楚地看到这一点)。在您的方法中,您可以加载html助手。
如果您随后访问index.php/mycontroller/method2,
,并且它也需要html帮助程序,但是您没有将其加载到方法中,您将得到一个错误,即function not found
因此,基本上,如果您想让相同的资源始终可用,您有3种选择:
好吧,如果是这样的话,为什么我不能自动加载我知道我将要使用的所有东西呢?因为如果自动加载总是重新加载所有内容,那就没有意义了。还是我没有理解剧本结尾的意思?脚本是否在用户离开我的网站或页面加载完成时结束?页面生成完成时结束。对于深奥的答案:)维杰托:对于下一个请求,脚本将开始和结束。现在我明白了:D谢谢大家!
function __construct()
{
parent::__construct();
$this->load->library('whateveryouwant');
}