Hallo,
Ich bin gerade dabei mein aktuelles Projekt OOP zu machen.
Jetzt bin ich schon beim ersten Problem angelangt.
Als erstes mal ein Beispiel Quellcode:
Nun meine Frage: wie kann ich $load in meiner class2 Globalisieren?
Also dass ich nicht immer nochmals die function2 in jeder Funktion nochmals aufrufen muss?
(function2 ist ein SQL-Query - Es wäre unsinnig mit 20 Funktionen 20 Querys zu erzeugen)
So würde es klappen; find ich aber nicht so elegant, da ich die variable zu jeder Funktion immer mitübergeben müsste:
Gibt es da noch eine elegantere Lösung?
Ich hab es noch so funktioniert, hat aber auch nicht geklappt:
Ich bin gerade dabei mein aktuelles Projekt OOP zu machen.
Jetzt bin ich schon beim ersten Problem angelangt.
Als erstes mal ein Beispiel Quellcode:
PHP:
<?php
class class1{
public function load(){
$test = "test";
return $test;
}
}
class class2 extends class1{
public function __construct(){
$load = $this->load();
echo "Construct Echo:" . $load;
$this->function1();
}
public function function1(){
echo "Function1 Echo:" . $load;
}
}
new class2;
?>
Nun meine Frage: wie kann ich $load in meiner class2 Globalisieren?
Also dass ich nicht immer nochmals die function2 in jeder Funktion nochmals aufrufen muss?
(function2 ist ein SQL-Query - Es wäre unsinnig mit 20 Funktionen 20 Querys zu erzeugen)
So würde es klappen; find ich aber nicht so elegant, da ich die variable zu jeder Funktion immer mitübergeben müsste:
PHP:
<?php
class class1{
public function load(){
$test = "test";
return $test;
}
}
class class2 extends class1{
public function __construct(){
$load = $this->load();
echo "Construct Echo:" . $load;
$this->function1($load);
}
public function function1($load){
echo "Function1 Echo:" . $load;
}
}
new class2;
?>
Gibt es da noch eine elegantere Lösung?
Ich hab es noch so funktioniert, hat aber auch nicht geklappt:
PHP:
<?php
class class1{
public function load(){
$test = "test";
return $test;
}
}
class class2 extends class1{
public function __construct(){
$load = $this->load();
echo "Construct Echo:" . $load;
$this->function1();
}
public function function1(){
global $load;
echo "Function1 Echo:" . $load;
}
}
new class2;
?>
Zuletzt bearbeitet: