1

CodeIgniter でモデルを作成していますが、どの関数にもユーザーがアクセスできないようにしたくありません。コントローラーの場合、次のようにします。

private function _myfunction()
{
    dosomething();
}

これがモデルでも機能することはわかっていますが、私の質問は、これが必要ですか? ユーザーが URL 経由でこれらの機能を開始できるとは思いません。私が質問している理由は、ベスト プラクティスに従いたいからですが、可能であれば、呼び出すときにすべての前に「_」を付けるのも避けたいからです。

4

3 に答える 3

3

いいえ、それは必要ありません。ユーザーが URL を介してクラス メソッドにアクセスできるのは異常な状況であり、コントローラの codeigniter でのみ実装されています。

于 2012-06-15T22:44:22.970 に答える
1

これは必須ではありません。実際、PHP 5 以降で「private」および「protected」キーワードを実際に使用すると、プライベート オブジェクトの前に「_」を付けることは価値がなくなります。

于 2012-06-15T22:50:33.407 に答える
0

いいえ、必要ありません。ブラウザーからメソッドにアクセスできないようにするには、メソッドの前にアンダースコアを追加します: _method() 。これは、モジュール (HMVC) として使用/呼び出したい場合に最適です。

于 2012-06-15T22:51:05.790 に答える