pedrobcabral Posted September 22, 2006 Share Posted September 22, 2006 [code]<?php$error = new error;$somefeature = new somefeature;class error {var $message;function display() {echo $this->message;}}class somefeature {var $something;function something($error) {$error->message = $error;}}$somefeature->something(errortest);$error->display();[/code]This does not work, how can I have this kind of interaction between classes without having to destroy one of them, and avoiding "class a extends b" ?(Becous in this case all the classes whould be extending the error one. Would be a waste.)Thanks very much. Link to comment https://forums.phpfreaks.com/topic/21654-oop-question/ Share on other sites More sharing options...
.josh Posted September 22, 2006 Share Posted September 22, 2006 you need to use a different argument variable in your something() function. passing the data with the same name as your object will overwrite your object. or the object will overwrite the argument when you declare it, actually. also, you need to declare your $error object as a global variable to be used within the scope of your something() function.working code:[code]<?phpclass error { var $message; function display() { echo $this->message; }}class somefeature { var $something; function something($errormsg) { global $error; $error->message = $errormsg; }}$error = new error;$somefeature = new somefeature;$somefeature->something(errortest);$error->display();?>[/code] Link to comment https://forums.phpfreaks.com/topic/21654-oop-question/#findComment-96658 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.