0

これは私の最初のhmvcの試みであり、うまくいきません...異なるモジュールを介してサイトゾーンを分離しようとしています。私の意図は、hmvcのion_authを使用してアクセスを制御することです。それが私の最初の構造です:

/application
  /modules     <-- hmvc
    /public_zone
       /controller
        public_zone.php
       /view
        ...
    /private_zone
     ...

したがって、これを行うには(コアフォルダーとサードパーティフォルダーにhmvcをインストールする)、「default_controller」「public_zone」コントローラーとしてセットアップしようとしました。彼の使命はルートページ('localhost')をロードすることですが、* 404エラーを返します。*

これは私のpublic_zone.phpファイルです:

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

class Public_zone extends MX_Controller {

   public function index()
    {
      $this->load->view('include/header');
      $this->load->view('frontpage');
      $this->load->view('include/footer');
    }

}

たぶん問題はroutes.php(application / config / routers.php)ファイルにありますか?私はこれを試してみます:

$route['default_controller'] = "public_zone"; 
$route['404_override'] = '';

誰もが私が間違っていることを教えてくれますか?確かに私はいくつかのhmvcの概念を誤解していました...しかし、実際には、なぜそれが機能しないのかわかりません:(

4

1 に答える 1

1

まず、CI構造をそのままにしておくことが重要です。したがって、構造が必要です。

/application
    /controllers
        public_zone.php
    /views
        frontpage.php
        /include
           header.php
           footer.php
    /models

もちろん、CIに付属している他のフォルダーも必要です。

次に、コントローラーを機能させるには、コントローラーにいくつかの変更を加える必要があります。

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

class Public_zone extends CI_Controller {

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

 public function index()
 {
   $this->load->view('include/header');
   $this->load->view('frontpage');
   $this->load->view('include/footer');
 }

}

この変更後は機能するはずです:)ユーザーガイドも必ずお読みください:http://codeigniter.com/user_guide/

読むのに少し時間がかかるかもしれませんが、後でそれはあなたに多くの時間を節約するでしょう。

幸運を!

于 2012-08-22T11:29:12.060 に答える