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.PHP-Klassen auf [URL="https://github.com/jspit-de"]github[/URL]
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