Php 分析错误:语法错误,意外';公共';(T_PUBLIC)在codeifniter中

Php 分析错误:语法错误,意外';公共';(T_PUBLIC)在codeifniter中,php,codeigniter,Php,Codeigniter,我正在从codeigniter教程电影中创建core/MY_Controller.php文件,我的代码是: <?php /** * MY_Controller extends CI_Controller */ class MY_Controller extends CI_Controller { function __construct() { parent::__construct(); public $username;

我正在从codeigniter教程电影中创建
core/MY_Controller.php
文件,我的代码是:

<?php
/**
* MY_Controller extends CI_Controller
*/
class MY_Controller extends CI_Controller
{

    function __construct()
    {
        parent::__construct();
        public $username;
        $slogin = $this->input->cookie('userblog');
        if (!empty($slogin)) 
        {
            $this->load->library('encrypt');
            $login = $this->encrypt->decode($slogin,ENCRYPT_KEY) ;
            echo 'login is : ' .$login ;
            $login_info = explode('_',$login) ;
            $this->username = $login_info[0] ;
            $is_login = $login_info[1];
            if ( $is_login !='islogin')
            {
                redirrect('login');
            }
        }
        $login = $this->session->userdata('login') ;
        if(!empty($login))
        {
            if ($login != true) 
            {
                redirect('login');
            }
        }
        else
        {
            redirect('login');
        }
    }
}

?>

我检查了我的代码好几次,并将其与教师代码进行了比较,但我没有发现它们之间的任何差异,但是jusy他的代码工作得很好

发生此错误是因为您在方法中声明了$username。你不应该。 使用它,它在方法外部和类内部声明它

<?php
/**
* MY_Controller extends CI_Controller
*/
class MY_Controller extends CI_Controller
{

    public $username;

    function __construct()
    {
        parent::__construct();

        $slogin = $this->input->cookie('userblog');
        if (!empty($slogin)) 
        {
            $this->load->library('encrypt');
            $login = $this->encrypt->decode($slogin,ENCRYPT_KEY) ;
            echo 'login is : ' .$login ;
            $login_info = explode('_',$login) ;
            $this->username = $login_info[0] ;
            $is_login = $login_info[1];
            if ( $is_login !='islogin')
            {
                redirrect('login');
            }
        }
        $login = $this->session->userdata('login') ;
        if(!empty($login))
        {
            if ($login != true) 
            {
                redirect('login');
            }
        }
        else
        {
            redirect('login');
        }
    }
}

?>

在类方法之外定义类属性:
public$username应该在构造函数之前定义,而不是在构造函数内部定义
<?php
/**
* MY_Controller extends CI_Controller
*/
class MY_Controller extends CI_Controller
{

    public $username;

    function __construct()
    {
        parent::__construct();

        $slogin = $this->input->cookie('userblog');
        if (!empty($slogin)) 
        {
            $this->load->library('encrypt');
            $login = $this->encrypt->decode($slogin,ENCRYPT_KEY) ;
            echo 'login is : ' .$login ;
            $login_info = explode('_',$login) ;
            $this->username = $login_info[0] ;
            $is_login = $login_info[1];
            if ( $is_login !='islogin')
            {
                redirrect('login');
            }
        }
        $login = $this->session->userdata('login') ;
        if(!empty($login))
        {
            if ($login != true) 
            {
                redirect('login');
            }
        }
        else
        {
            redirect('login');
        }
    }
}

?>