0

今日は CodeIgniter を使い始め、phpacademy の初心者向けチュートリアルに従っています。今、奇妙な問題が発生しました。次の非常に単純なコントローラーを取得しました。

<?php if ( ! defined('BASEPATH')) exit("No direct script access allowed");

 class Site extends CI_Controller {
 public function index()
 {
 }

 public function home()
 {
     $this->load->view("view_home", $data);
 }

 function about()
 {
     $data['title'] = "About!";
     $this->load->view("view_about", $data);
 }

 function test()
 {
     echo "test";
 }
} 

常にインデックス関数を正常にロードします。テストすると、エコーしたいものは何でもエコーします。しかし、他の関数を呼び出しても何も起こりません。

まだ .htacces を設定していませんが、次のアドレスにアクセスすると、localhost:8899/index.php/site/home にアクセスできます。

ホーム機能をロードしません。他の機能 (「about」と「test」) についても同様です。

index() 関数内から関数 (「home」、「about」、および「test」) の 1 つを呼び出すと、次のように呼び出されます。

class Site extends CI_Controller {
public function index()
{
    $this->home();
}

public function home()
{
    $this->load->view("view_home", $data);
} 

ここで何が問題なのかわかりません。うまくいけば、誰かが私を正しい方向に導くことができます!

私のルート:

<?php if ( ! defined('BASEPATH')) exit("No direct script access allowed");

$route['default_controller'] = "site";
$route['404_override'] = '';
4

2 に答える 2

0

コントローラークラスに、基本コードイグナイター基本クラスをロードするコンストラクターがあることを確認します。

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

各コントローラー クラスで、クラスにコード イグナイター システムを使用するように指示します。これが存在しない場合、これらの関数をロードする方法がわかりません。

明確にするために、url/site/about などで他のメソッドを呼び出していることを確認してください。また、開発サーバーに php エラーが表示されていますか?

于 2013-11-02T08:45:47.817 に答える