3

これが「当然」の質問である場合、または回答するためにさらに情報が必要な場合は、許してください。私はCodeIgniterを初めて使用し、ベストプラクティスなどでいくつかのことをまだ理解していません...

routes.phpI have $route['default_controller'] = "home";so myはdefault_controller明らかに「家」です。

私のhome.phpコントローラーの中に私は持っています:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
    function __construct() {
        // blah
    }
    function index(){
        // blah
    }
    function login(){
        // blah
    }
}

これは問題なく動作し、問題はありません。私が理解できない唯一のことは、機能にアクセスしたいかどうかですlogin。現在、www.blah.com/home/login にアクセスする必要があります。新しいコントローラーを作成せずに、www.blah.com/login に移動するように変更するにはどうすればよいです か (これらの 1 つのタイムベース URL のいくつかをデフォルトのコントローラーにすべて保持したいと思います)。? それは可能ですか、それとも新しいコントローラーを作成する必要がありますか?

新しいコントローラーを作成する必要がある場合、コントローラーの数などのベスト プラクティスはありますか?

4

3 に答える 3

4

ドキュメントには次のように書かれています:このルートは、URL で提供された URI セグメントが有効なルートと一致しない場合に、どの URI セグメントを使用するかをルーターに伝えます。

だから使う$route['login'] = 'home/login';

于 2012-12-04T15:02:38.920 に答える
0

application/config/routes.phpファイルに行を追加する必要があります

$route['login'] = "home/login";
于 2012-12-04T15:12:06.267 に答える
0

私が設定した方法は、index機能をゲートキーパーとして機能させることです。ログインしていない場合はログインフォームを表示し、ログインしているview場合は(保護された)ホームページにリダイレクトします。この関数は、ユーザーが login/pwd を送信し、ログイン ロジックを実行するときに、login経由でのみアクセスされます。post

于 2012-12-04T15:05:27.910 に答える