moon 111 Posted March 6, 2008 Share Posted March 6, 2008 First off, I am a total novice to OOP. I read somewhere that instead of simply writing $object->variable = "Something"; you should write a function in the class like so: function set_variable($data) { $this->variable = $data; } and call that instead. Is this true? Why? Quote Link to comment Share on other sites More sharing options...
moon 111 Posted March 6, 2008 Author Share Posted March 6, 2008 *bump*? Quote Link to comment Share on other sites More sharing options...
rhasan_82 Posted March 6, 2008 Share Posted March 6, 2008 This actually depends on what you want to do. Yeah, I also prefer the second one. Think for a code like this class A { public $var; function set_var ( $data) { $this -> var = $data; } } You can simply call the function like $obj -> set_var ( $val ) ; Later you changed your mind to write the set function like this function set_var ( $data) { if ( $data) $this -> var = $data; // or $this -> var = $data * 10; } So though the internal structure of set function has changed, still your calling code will be the same as before and you don't need to change it. But with $object->variable = "Something"; you have to change each place you set the value. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.