form_validation类不加载(codeigniter)

时间:2011-07-15 14:11:47

标签: php codeigniter validation autoloader

我的脚本无法加载form_validation类。

我是从autoload.php,控制器的_ 构造方法和我打算使用的方法(即.login()方法)中调用它的。

autoload.php

$autoload['libraries'] = array('database', 'Login', 'Template', 'form_validation', 'session');

控制器

<?php
class Login extends CI_Controller
{
function __construct()
{
    parent::__construct();
    $this->load->model('user_model');
    $this->load->library('form_validation');
}

function logmein()
{       
    $this->load->library('form_validation');
    $this->form_validation->set_rules('userEmail', 'email', 'trim|required|valid_email|callback__check_login');
    $this->form_validation->set_rules('userPassword', 'password', 'trim|required');

请注意,我没有尝试从所有三个地方加载课程,我单独尝试了每个,并且组合,但没有成功。我在本地主机上运行 PHP版本5.3.5 ,在 Windows 7 上使用 XAMPP 。我真正的服务器是Linux,所以如果它在Linux上运行良好,我可以忍受=)

更新:我有var_dumped并检查了资源,_user_model_和_form_validation_似乎都运行良好。但是,当我var_dump($this->user_model)var_dump($this->form_validation)返回NULL时。

2 个答案:

答案 0 :(得分:1)

我的所有代码实际上都没有错误。

但是在我的一个库类中,我扩展了一个控制器类来加载另一个导致我所有错误的库。

我已将其删除并使用$CI =& get_instance();方法加载其他类,现在一切正常。

答案 1 :(得分:0)

您有两个同时加载的Login个类。我敢打赌他们造成了碰撞。将Library类的名称更改为LoginTools或类似的东西,这将有所帮助。