2016-08-12 59 views
0

我正在学习codeigniter,但遇到了一些麻烦。我在我的htdocs中创建了一个文件夹,并将其命名为ci_beginning,然后在控制器文件夹中创建了一个名为hello2的控制器,并在view文件夹中创建了一个名为you_view2的控制器。 代码为我的控制器:无法访问我的codeigniter网页

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Beginning Codeigniter</title> 
</head> 
<body> 
    <h1 style="color:<?php echo $color ?>">Hello <?php echo $name; ?></h1> 
</body> 
</html> 

我尝试通过在浏览器中使用此访问它:

http://localhost/ci_beginning/index.php/hello2/you 

它给了我一个404页,我的看法

if(!defined('BASEPATH')) exit('No direct script access allowed'); 

class Hello2 extends CI_Controller{ 

    // declare variables or class properties 
    var $name; 
    $var $color: 

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

     // give default value 
     $this->name = "Hello"; 
     $this->color = "red"; 
    } 

    function you(){ 
     $data['name']=$this->name; 
     $data['color']=$this->color; 

     // define variable sent to views 
     $this->load->view('you_view2', $data); 
    } 
} 

代码未发现错误。请告诉我我做错了什么。如果你能告诉我如何让这件事更容易,我会非常感激。谢谢。

+0

尝试使用访问修饰符的类属性和方法。更多关于这个主题,你可以在这里找到:http://php.net/manual/en/language.oop5.visibility.php。这是一个很好的做法,提高了代码的可读性,并遵循[PSR-2](http://www.php-fig.org/psr/psr-2/) –

回答

3

如果您使用的是Codeigniter 3,请确保您的文件名应以大写字母开头,并确保文件名与您的控制器名称相同,在这种情况下,您的controllers文件夹中的文件名必须为Hello2.php

还存在线路故障,

$var $color: 

应该

var $color; 
+0

感谢您指出这一点,但我仍然可以' t访问you_view2页面。 – Ibanez1408

+0

'http://localhost/ci_beginning/index.php正在工作吗?并有你在ci_beginning文件夹中的任何'htaccess' –

+0

是的。 codeigniter默认。 – Ibanez1408