Hallo
Ich versuche gerade mit meinem begrenzten php Wissen einige Extensions zu studieren, damit ich irgendwann selber mal welche schreiben kann.
Und da hätte ich mal ne blöde Frag.
Was macht oder was ist das hier?
this ->
Koomt extrem oft vor und im php manual konnte ich es ebend nicht finden, aber ich hatte auch schon schwierigkeiten den .= Operator zu finden. :o
Kann mir das jemand erklären?
ciao Ande
Hallo,
also zum Thema $this findest du einiges im Internet, hier mal ein Link:
http://www.phpbar.de/w/$this
Zum .= Operator:
$content = "Test";
$content = "Überschreiben";
echo $content;
Hier überschreibt der zweite Wert den ersten, Ergebnis des echos:
Überschreiben
$content = "Test";
$content .= "Überschreiben";
echo $content;
Hier wird der zweite Wert an den ersten angehängt, Ergebnis des echos:
Test Überschreiben
Ich hoffe das ist so verständlich gewesen.
Gruß
Vielen Dank Kilkenny
Das mit .= hab ich ja verstanden, aber bei this wills nicht durchdringen.
Auf der Seite von deinem Link steht
$this ist eine Referenz auf das Objekt, zu welchem die Methode gehört, in der es verwendet wird.
Mittels $this kann man auf Methoden und Eigenschaften des gleichen Objekts zugreifen.
Wie kann ich das auf dieses Beispiel aus der cwt_coomunity_ext ummünzen?
Geht das überhaupt?
class tx_cwtcommunity_pi1 extends tslib_pibase {
var $prefixId = "tx_cwtcommunity_pi1"; // Same as class name
var $scriptRelPath = "pi1/class.tx_cwtcommunity_pi1.php";
var $extKey = "cwt_community"; // The extension key.
var $orig_templateCode = null; //Holds template code.
var $cObj; //Reference to the calling cObj
var $debug = false; //Global debug switch.
/**
* [Put your description here]
*/
function main($content, $conf){
$this -> conf = $conf;
$this -> pi_setPiVarDefaults();
$this -> pi_loadLL();
//Init config flexform, the flexform config can now be overwritten by extensions calling a cwt_community object.
if (!$this->conf['tsFlex']) {
$this->pi_initPIflexForm();
$this->flexform = $this->cObj->data['pi_flexform'];
}
else {
$this->flexform = $this->conf['tsFlex'];
}
}
ciao Ande
Hab jetzt die Lösung, wenn man nach OOP und PHP sucht findet man ganz gute Erklärungen.
Ciao Ande