En termes simples, un objet (avant d'apprendre les modèles de conception, vous devez comprendre la pensée orientée objet) n'est responsable que d'une tâche spécifique
Classe à instance unique :
1. Elle doit être marquée comme privée (contrôle d'accès : pour empêcher le code externe d'utiliser l'opérateur new pour créer des objets). La classe singleton ne peut pas être instanciée dans d'autres classes et ne peut être instanciée que par elle-même ; Avoir une classe enregistrée Variables membres statiques de l'instance
3. Avoir une méthode statique publique pour accéder à cette instance (la méthode getInstance() est couramment utilisée pour instancier une classe singleton, et l'opérateur instanceof peut être utilisé pour détecter si la classe a été instanciée) )
De plus, la méthode __clone() doit être créée pour empêcher l'objet d'être copié (cloné)
<?php /** * Created by PhpStorm. * User: * Date: 2017/1/2 * Time: 下午3:32 */ class Single { //保存实例的私有静态实例变量 private static $instance; //private标记的构造方法,方式通过其他方式实例化 private function __construct() { echo "this is construct function"; } //创建clone方法防止被克隆 public function __clone() { trigger_error("Clone is not allowed ", E_USER_ERROR); } //单例方法,用户访问实例的公共静态方法 public static function shareInstance() { //instanceof:判断instance是不是self的实例或者子类 if (!(self::$instance instanceof self)){ self::$instance = new self(); } return self::$instance; } }
Création de fonction Message d'erreur au niveau de l'utilisateur. La fonction
trigger_error()
trigger_error()
trigger_error(errormsg,errortype);
参数 | 描述 |
---|---|
errormsg | 必需。规定错误消息。最大长度 1024 字节。 |
errortype | 可选。规定错误类型。可能的值:E_USER_ERRORE_USER_WARNINGE_USER_NOTICE(默认) |
En termes simples, un objet (vous devez comprendre la pensée orientée objet avant d'apprendre les modèles de conception) n'est responsable que d'une tâche spécifique
La fonction
Attachée
<?php /** * Created by PhpStorm. * User: * Date: 2017/1/2 * Time: 下午3:32 */ class Single { //保存实例的私有静态实例变量 private static $instance; //private标记的构造方法,方式通过其他方式实例化 private function __construct() { echo "this is construct function"; } //创建clone方法防止被克隆 public function __clone() { trigger_error("Clone is not allowed ", E_USER_ERROR); } //单例方法,用户访问实例的公共静态方法 public static function shareInstance() { //instanceof:判断instance是不是self的实例或者子类 if (!(self::$instance instanceof self)){ self::$instance = new self(); } return self::$instance; } }
crée des messages d'erreur au niveau de l'utilisateur. La fonction
trigger_error()
peut être associée au gestionnaire d'erreurs intégré, ou une fonction définie par l'utilisateur peut être utilisée comme nouveau gestionnaire d'erreurs (set_error_handler()).
trigger_error()
trigger_error(errormsg,errortype);
参数 | 描述 |
---|---|
errormsg | 必需。规定错误消息。最大长度 1024 字节。 |
errortype | 可选。规定错误类型。可能的值:E_USER_ERRORE_USER_WARNINGE_USER_NOTICE(默认) |