私は100%OO phpに移行する段階にあり、このような質問がたくさんあります。ですから、もしあなたがそれをばかげていると思ったら失礼します。私は、後で修正する必要がないように、最初はオブジェクト指向プログラミングの練習を上手くしようとしています。
これをしても大丈夫ですか?
private function _some_funct($args) {
// Some code here....
if ($something) return;
//Rest of code
}
基本的に、ここには2つの質問があります。
その後、値のないリターンを使用しても大丈夫ですか?私はそれをたくさん使っており、欠点はありませんが、他の誰かのコードでは見たことがありません。私はfalseを返すのを見ただけです。
この方法で関数を停止することは一般的に問題ありませんか、それともプログラムの構造を再考する必要がありますか?
これを使用する例は、私が作成しているCMSです。
public function _init_engines() {
$this->_session_engine = $this->_dep['SessionEngine'];
$this->_login_engine = $this->_dep['LoginEngine'];
if ($this->_dep['User'] == false) return;
$this->_security_engine = $this->_dep['SecurityEngine'];
//Other engines go here.......
}
そこで、システムにセッションを開始させ、セッション変数を設定してから、ユーザーがログインしているかどうかを確認します。ユーザーがログインしていない場合は、LoginEngineがそれを処理し、「Login」モジュールをロードします。Loginモジュールがロードされたら、他のエンジンは必要ないため、インスタンス化されたくありません。dieまたはexitを使用することもできますが、それではスクリプト全体の実行が停止します。このように、私のスクリプトは実行を終了し、ベンチマークやその他のいくつかのものなど、エンジンではない他のものはまだ実行されます。これはまさに私が望むものです。繰り返しますが、ここで私の論理を再考する必要がありますか、それともあなたの意見ではこの方法で大丈夫ですか?