webForumDet fria alternativet

Hjälp mig förstå classer

PHP

0 svar · 173 visningar · startad av Jaan

Medlem sedan feb. 200340 inlägg
Frågan#1

Kan någon hjälpa en PHP nybörjare förstå varför inte följande fungerar. Labbar lite med classer. Varför blir $context och $title i ModuleAdapter hela tiden tomt?

require_once("ModuleAdapter.class.php");
require_once("ModuleBroker.class.php");
require_once("News.class.php");

$_moduleAdapterObject = new ModuleAdapter();
$_newsModuleObject = new News();
$_moduleBrokerObject = new ModuleBroker( '1', 'News', $_newsModuleObject );

$test = $_moduleBrokerObject->getRenderedModule();
echo $test;

class ModuleBroker extends ModuleAdapter {
	
	function ModuleBroker( $_moduleId, $_moduleName, $_moduleObject ) {
		
		$_moduleObject->title( $_moduleName );
		$_moduleObject->view( $_moduleName );
	}
	
	function getRenderedModule() {
		
		$_renderedModule = '<table>';
		$_renderedModule .= '<tr><td>'.parent::getTitle().'</td></tr>';
		$_renderedModule .= '<tr><td>'.parent::getContext().'</td></tr>';
		$_renderedModule .= '</table>';
		
		return $_renderedModule;
	}
}

class News extends ModuleAdapter {
	
	function news() {}
	
	function title( $response ) {
		parent::setTitle( 'myTitle' );
	}
	
	function view( $response ) {
		parent::setContext( $response, 'view.php' );
	}
}

class ModuleAdapter {
	
	var $context;
	var $title;
	
	function moduleAdapter() {}
	
	function setContext( $response, $context ) {
		$this->context = file_get_contents('resources/modules/'.$response .'/'.$context);
		//echo $this->context;
	}
	
	function getContext() {
		echo $this->context;
		return $this->context;
	}
	
	function setTitle( $title ) {
		$this->title = $title;
		//echo $this->title;
	}
	
	function getTitle() {
		echo $this->title;
		return $this->title;
	}
}
254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)