I'm in a phase of migrating to 100% OO php and I end up with lots of questions like these. So excuse me if you find it stupid, I'm just trying to make my OO programming practices good in the start so that I don't have to fix them later.
Is it OK to do this?
private function _some_funct($args) {
// Some code here....
if ($something) return;
//Rest of code
}
Basically, there are 2 questions here.
Is it OK to use return with no value after it? I use it a LOT and haven't encoutered any drawbacks, but never saw it in somebody else's code. I only saw return false.
Is stopping functions this way OK generally or should I rethink my program's structure?
Example of using this would be CMS I'm making.
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.......
}
So I let system start session and setup session vars, then check if user is logged in. If user isn't logged in LoginEngine takes care of that and loads 'Login' module. Once Login module is loaded, I don't want other engines to be instantiated since they are not needed. I could have used die or exit but that would stop whole script from executing. Like this, My script finishes executing, and other things that aren't engines, like benchmarks and some other stuff still get executed which is just what I want. Again, should I reconsider my logic here or is this way OK in your opinion?