Ce que vous utilisez est évidemment très irrégulier. Bien sûr, commençons par le point Pour ajuster la méthode non statique de la classe parent, vous devez d'abord obtenir l'instance de classe S'il y a un cache, récupérez simplement. directement, sinon, créez-en un
$instance = new self();
$totalCount = $instance->get_one_bysql($sqlstr);
Ouvrez les commentaires et jouez pour le découvrir
<?php
class a{
public $ab = NULL;
public function d(){
var_dump($this->ab);
}
public function c($a,$b){
var_dump($a+$b);
}
}
class b extends a{
public static function t(){
// $this->d(); //Fatal error: Using $this when not in object context in D:\phpStudy\WWW\index.php on line 14
// $this->c(1,2); //Fatal error: Using $this when not in object context in D:\phpStudy\WWW\index.php on line 15
// self::d(); //Strict Standards: Non-static method a::d() should not be called statically in D:\phpStudy\WWW\index.php on line 16
//Fatal error: Using $this when not in object context in D:\phpStudy\WWW\index.php on line 5
// self::c(1,2); //Strict Standards: Non-static method a::c() should not be called statically in D:\phpStudy\WWW\index.php on line 18
// int(3)
// parent::d(); //Strict Standards: Non-static method a::d() should not be called statically in D:\phpStudy\WWW\index.php on line 20
// Fatal error: Using $this when not in object context in D:\phpStudy\WWW\index.php on line 5
// parent::c(1,2); //Strict Standards: Non-static method a::c() should not be called statically in D:\phpStudy\WWW\index.php on line 22
//int(3)
}
}
b::t();
Résumé : ceci est utilisé pour les appels d'instance. self, parent sont utilisés pour appeler des propriétés ou des méthodes statiques. Le dernier phénomène étrange est que même si vous obtiendrez une erreur lorsque vous appellerez statiquement la méthode non statique de la classe parent pour traiter les données, int(3) est toujours affiché
self::get_one_by_sql
Assurez-vous d'abord que le get_one_bysql de la classe parent est statique
À propos de l'utilisation de https://stackoverflow.com/que...
Ce que vous utilisez est évidemment très irrégulier. Bien sûr, commençons par le point
Pour ajuster la méthode non statique de la classe parent, vous devez d'abord obtenir l'instance de classe
S'il y a un cache, récupérez simplement. directement, sinon, créez-en un
Ne peut pas être appelé.
Les méthodes non statiques doivent avoir l'objet $this, et cet objet ne peut pas être fourni lors de l'appel à partir de méthodes statiques.
Ouvrez les commentaires et jouez pour le découvrir
Résumé : ceci est utilisé pour les appels d'instance. self, parent sont utilisés pour appeler des propriétés ou des méthodes statiques.
Le dernier phénomène étrange est que même si vous obtiendrez une erreur lorsque vous appellerez statiquement la méthode non statique de la classe parent pour traiter les données, int(3) est toujours affiché