thinkphp URL 内のアクションが定義されていない場合でも、テンプレートにアクセスできますか?
URL 内のアクションが定義されていない場合でも、thinkphp はテンプレートにアクセスできますか?
最近、thinkphp フレームワークに触り始めたのですが、同社のソース コードを確認したところ、URL 内のアクションに対応する実装メソッドがクラス内にないことがわかりました。
thinkphp には no-ops モジュールと空のモジュールがあります。私は当初、それらは no-ops によって実装されていると考えていました。
最終確認結果: モジュールを一切経由せずに、アクションに対応するテンプレートが直接表示されます。
thinkphp に出会ったばかりですが、理由がわかりません。助けてください。
-----解決策のアイデア---------- ---------- --
設定でルーティング機能が有効になっているかどうかを確認してください。これが現在発生している問題であるかどうかはわかりません。 。
------ソリューションのアイデア----------------------
/**<br /> * 魔术方法 有不存在的操作的时候执行<br /> * @access public<br /> * @param string $method 方法名<br /> * @param array $args 参数<br /> * @return mixed<br /> */<br /> public function __call($method,$args) {<br /> if( 0 === strcasecmp($method,ACTION_NAME.C('ACTION_SUFFIX'))) {<br /> if(method_exists($this,'_empty')) {<br /> // 如果定义了_empty操作 则调用<br /> $this->_empty($method,$args);<br /> }elseif(file_exists_case($this->view->parseTemplate())){<br /> // 检查是否存在默认模版 如果有直接输出模版<br /> $this->display();<br /> }else{<br /> E(L('_ERROR_ACTION_').':'.ACTION_NAME);<br /> }<br /> }else{<br /> E(__CLASS__.':'.$method.L('_METHOD_NOT_EXIST_'));<br /> return;<br /> }<br /> }<br />