Ja, hab ich übersehen -> siehe Edit in meinem Post über Dir!
Ankündigung
Einklappen
Keine Ankündigung bisher.
Konstruktor weißt Eigenschaft keinen Wert zu
Einklappen
Neue Werbung 2019
Einklappen
X
-
Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
-
Zitat von Arne Drews Beitrag anzeigenJa, hab ich übersehen -> siehe Edit in meinem Post über Dir!
MfG.Dir gefällt mein Beitrag, ich habe Dir geholfen?
Bewerte mich doch einfach!
Kommentar
-
Adhoc würden mir drei Möglichkeiten einfallen:
1. In testModel ein Objekt vom parent (Model) erzeugen
2. testModel eine Instanz von Model übergeben
3. Model statisch machen
Alle haben Vor- und Nachteile. Aber wenn Du die Instanz benötigst, wirst Du Dich für eine der drei entscheiden müssen...Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Joa... hast schon recht, aber das Szenario sähe ich in 1. implementiert...
Aber gut, kann man erwähnen...Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
<klugschei.. on>
Mit 4. existiert nur eine Instanz von testModel und auch intern kein "Objekt vom parent (Model) "
<klugschei.. off>
Erzeugt er im testModel ein Objekt vom parent (Model), hat er Zugriff auf die Methoden von Model und
'extends Model' ist dann mehr als überflüssig. So sehe ich das jedenfalls.
Kommentar
-
Das stimmt allerdings, dafür kriegst Du ein Bienchen...Competence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenAdhoc würden mir drei Möglichkeiten einfallen:
1. In testModel ein Objekt vom parent (Model) erzeugen
Anderes Problem, wenn ich $this->getConnection()->query("SELECT xxx"); mache, bekomme ich halt folgenden Error:
Fatal error: Call to undefined method Model::query() in /Applications/XAMPP/xamppfiles/htdocs/sc/models/testModel.php on line 22
MfG.Dir gefällt mein Beitrag, ich habe Dir geholfen?
Bewerte mich doch einfach!
Kommentar
-
Cool, hat mir echt weiter geholfen!
Obwohl getConnection() nur einen return von der Eigenschaft _connection macht. Sollte doch eig. funktionieren. OoCompetence-Center -> Enjoy the Informatrix
PHProcks! • Einsteiger freundliche Tutorials • PreComposed Packages
Kommentar
-
Zitat von Arne Drews Beitrag anzeigenDie bessere Variante hat jspit allerdings angegeben!
Sofern die Methode query() im entsprechenden Objekt existiert, ja.
Und eig. im getConnection() nur die Connection (Eigenschaft _connection) zurück gegeben.
Wieso wird query() als Methode von Model angesehen?
PHP-Code:class testModel extends Model {
public function __construct($connection) {
parent::__construct($connection);
}
public function test() {
$test = $this->getConnection()->query("SELECT * FROM users");
//echo $test->num_rows;
//var_dump($this->getConnection());
}
}
Aber danke für eure Hilfe!
MfG.Dir gefällt mein Beitrag, ich habe Dir geholfen?
Bewerte mich doch einfach!
Kommentar
-
PHP-Code:abstract class Model {
private $_connection;
private $_controller;
public function __construct(Controller $controller, mysqli $connection) {
$this->_connection = $connection;
$this->_controller = $controller;
}
public function getController() {
return $this->_controller;
}
public function getConnection() {
return $this->_connection;
}
}
class TestModel extends Model{
public function test(){
$result = $this->getConnection()->query('SELECT * FROM users');
}
}
PHP-Code:require 'config.php';
require 'sc/lib/Bootstrap.php';
require 'sc/lib/Controller.php';
require 'sc/lib/View.php';
require 'sc/lib/Model.php';
$connection = new MySQLi("localhost", "root", "***", "**") or die($connection->error);
$connection->set_charset('utf-8');
$controller = new Controller($connection);
$model = new TestModel($controller, $connection);
$model->test();
apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]
Kommentar
Kommentar