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? Link to comment https://forums.phpfreaks.com/topic/94710-oop-set-functions/ Share on other sites More sharing options...
moon 111 Posted March 6, 2008 Author Share Posted March 6, 2008 *bump*? Link to comment https://forums.phpfreaks.com/topic/94710-oop-set-functions/#findComment-484869 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. Link to comment https://forums.phpfreaks.com/topic/94710-oop-set-functions/#findComment-484955 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.