Fremde Kallse in Klasse verwenden

Radioaktivman

Grünschnabel
Fremde Klasse in Klasse verwenden

Hallo , ich stehe vor einem kleinem Problem, ich habe eine Klasse geschrieben mit der ich Formulare bearbeiten will. Ich möchte aber in einer Methode der Klasse gleich mein Html Template parsen. Das Templatesystem befindet sich aber in einer anderen Klasse. Diese habe ich schon vorher initialisiert.

Meine Idee war es einfach den Pointer der template-Klasse an die post-Klasse zu übergeben um in der Methode post damit zuarbeiten.

Aber bei dem Ausdruck:
PHP:
$this->TP->set()
wurde ich stutzig.
Im einem normalen Phpscript würde ich die Templateklasse so aufrufen:
PHP:
$TP= new Template;
$TP->set();


PHP:
class post{
var $TP; //Fremd Pointer auf eine Templateklasse

function templateparse($post=""){  		
if($this->$TP="" or $post=""){  			
echo "Error: Klasse \"formcheck\", Methode \"templateparse\", es wurden nicht alle benötigten Parameter eingeben!";  			
die;  		}  		  		

foreach ($post as $varname => $varvalue) {  		$this->TP->set($varname,$varvalue);  		
}  		
$this->TP->parse();  		  		

return true;  	}

}
}

Danke für eure Hilfe
 
Zuletzt bearbeitet:
Hi also entweder so:

PHP:
$TP= new Temp
$post = new post($TP);
$post-> templateparse($yourPostContent);

PHP:
class post{
var $TP; //Fremd Pointer auf eine Templateklasse

function post($tp){     // Default Konstruktor überschreiben
  $this->TP = $tp;
}
function templateparse($post=""){          
if($this->TP="" or $post=""){              
echo "Error: Klasse \"formcheck\", Methode \"templateparse\", es wurden nicht alle benötigten Parameter eingeben!";              
die;          }                    

foreach ($post as $varname => $varvalue) {          $this->TP->set($varname,$varvalue);          
}          
$this->TP->parse();                    

return true;      }

oder ohne Klassenmember TP:

PHP:
$TP= new Template;
$post = new post;
$post->templateparse($yourPostContent,$TP)

PHP:
class post{ //Klasse ohne Klassenmember $TP

function templateparse($post="", $TP){          //dafür aber zusätzlicher Übergabeparameter $TP
if($TP="" or $post=""){              
echo "Error: Klasse \"formcheck\", Methode \"templateparse\", es wurden nicht alle benötigten Parameter eingeben!";              
die;          }                    

foreach ($post as $varname => $varvalue) {          
$TP->set($varname,$varvalue);          
}          
$TP->parse();                    

return true;      }

Für den Code geb ich in anbetrachtet dessen das es schon so spät ist,
und da er nicht getestet ist keine Gewähr, soll nur als Denkstütze dienen.

Gruß

RedWing
 
Zuletzt bearbeitet:
PHP:
function templateparse($post="", $TP){          //da

Das dürfte nicht funktioniern, da vordefinierte Parameter von rechts nach links druchgängig sein müssen, was hier eindeutig nicht der Fall ist....
 
Zurück