用单例模式来设计一个PHP数据库类_PHP教程
最近感觉网站的数据库压力比较大,造成网站的速度下降得很厉害。因为有相当一部分的页面是直接连接数据库读数据的,所以把这部分的页面也改为使用数据库单例类来实现。现在基本都统一使用下面这个类来连接数据库了。
<?php class nmdb { private $link; static private $_instance; // 连接数据库 private function __construct($host, $username, $password) { $this->link = mysql_connect($host, $username, $password); $this->query("SET NAMES 'utf8'", $this->link); //echo mysql_errno($this->link) . ": " . mysql_error($link). "n"; //var_dump($this->link); return $this->link; } private function __clone(){} public static function get_class_nmdb($host, $username, $password) { //$connector = new nmdb($host, $username, $password); //return $connector; if( FALSE == (self::$_instance instanceof self) ) { self::$_instance = new self($host, $username, $password); } return self::$_instance; } // 连接数据表 public function select_db($database) { $this->result = mysql_select_db($database); return $this->result; } // 执行SQL语句 public function query($query) { return $this->result = mysql_query($query, $this->link); } // 将结果集保存为数组 public function fetch_array($fetch_array) { return $this->result = mysql_fetch_array($fetch_array, MYSQL_ASSOC); } // 获得记录数目 public function num_rows($query) { return $this->result = mysql_num_rows($query); } // 关闭数据库连接 public function close() { return $this->result = mysql_close($this->link); } } ?>
这个类的使用如下:
$connector = nmdb::get_class_nmdb($host, $username, $password); $connector -> select_db($database);
下面的类也可以参考下:
<?php /* * mysql 单例 */ class mysql{ private $host ='localhost'; //数据库主机 private $user = 'root'; //数据库用户名 private $pwd = ''; //数据库用户名密码 private $database = 'imoro_imoro'; //数据库名 private $charset = 'utf8'; //数据库编码,GBK,UTF8,gb2312 private $link; //数据库连接标识; private $rows; //查询获取的多行数组 static $_instance; //存储对象 /** * 构造函数 * 私有 */ private function __construct($pconnect = false) { if (!$pconnect) { $this->link = @ mysql_connect($this->host, $this->user, $this->pwd) or $this->err(); } else { $this->link = @ mysql_pconnect($this->host, $this->user, $this->pwd) or $this->err(); } mysql_select_db($this->database) or $this->err(); $this->query("SET NAMES '{$this->charset}'", $this->link); return $this->link; } /** * 防止被克隆 * */ private function __clone(){} public static function getInstance($pconnect = false){ if(FALSE == (self::$_instance instanceof self)){ self::$_instance = new self($pconnect); } return self::$_instance; } /** * 查询 */ public function query($sql, $link = '') { $this->result = mysql_query($sql, $this->link) or $this->err($sql); return $this->result; } /** * 单行记录 */ public function getRow($sql, $type = MYSQL_ASSOC) { $result = $this->query($sql); return @ mysql_fetch_array($result, $type); } /** * 多行记录 */ public function getRows($sql, $type = MYSQL_ASSOC) { $result = $this->query($sql); while ($row = @ mysql_fetch_array($result, $type)) { $this->rows[] = $row; } return $this->rows; } /** * 错误信息输出 */ protected function err($sql = null) { //这里输出错误信息 echo 'error'; exit(); } } //用例 $db = mysql::getInstance(); $db2 = mysql::getInstance(); $data = $db->getRows('select * from blog'); //print_r($data); //判断两个对象是否相等 if($db === $db2){ echo 'true'; } ?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le modèle JS singleton est un modèle de conception couramment utilisé qui garantit qu'une classe n'a qu'une seule instance. Ce mode est principalement utilisé pour gérer les variables globales afin d'éviter les conflits de noms et les chargements répétés. Il peut également réduire l'utilisation de la mémoire et améliorer la maintenabilité et l'évolutivité du code.

Modèle Singleton : fournissez des instances singleton avec différents paramètres via une surcharge de fonctions. Modèle d'usine : créez différents types d'objets grâce à la réécriture de fonctions pour dissocier le processus de création des classes de produits spécifiques.

Dans le développement de logiciels, nous rencontrons souvent des situations où plusieurs objets doivent accéder à la même ressource. Afin d'éviter les conflits de ressources et d'améliorer l'efficacité du programme, nous pouvons utiliser des modèles de conception. Parmi eux, le modèle singleton est un moyen couramment utilisé pour créer des objets, qui garantit qu'une classe n'a qu'une seule instance et fournit un accès global. Cet article explique comment utiliser PHP pour implémenter le modèle singleton et fournit quelques suggestions de bonnes pratiques. 1. Qu'est-ce que le mode singleton ?Le mode singleton est un moyen couramment utilisé pour créer des objets. Sa caractéristique est de garantir qu'une classe n'a qu'une seule instance et fournit.

Le modèle Singleton garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global. Il garantit qu'un seul objet est disponible et sous contrôle dans l'application. Le modèle Singleton fournit un moyen d'accéder directement à son objet unique sans instancier l'objet de la classe. Exemple<?php classdatabase{ publicstatic$connection;

Introduction Les modèles de conception PHP sont un ensemble de solutions éprouvées aux défis courants du développement de logiciels. En suivant ces modèles, les développeurs peuvent créer un code élégant, robuste et maintenable. Ils aident les développeurs à suivre les principes SOLID (responsabilité unique, ouvert-fermé, remplacement de Liskov, isolation d'interface et inversion de dépendance), améliorant ainsi la lisibilité, la maintenabilité et l'évolutivité du code. Types de modèles de conception Il existe de nombreux modèles de conception différents, chacun ayant son propre objectif et ses avantages. Voici quelques-uns des modèles de conception PHP les plus couramment utilisés : Modèle Singleton : garantit qu'une classe n'a qu'une seule instance et fournit un moyen d'accéder à cette instance de manière globale. Modèle d'usine : crée un objet sans spécifier sa classe exacte. Il permet aux développeurs de conditionnellement

Scénarios d'application et processus de sécurité des threads du mode singleton dans les systèmes distribués PHP Introduction : Avec le développement rapide d'Internet, les systèmes distribués sont devenus un sujet brûlant dans le développement de logiciels modernes. Dans les systèmes distribués, la sécurité des threads a toujours été un problème important. Dans le développement PHP, le modèle singleton est un modèle de conception couramment utilisé, qui peut résoudre efficacement les problèmes de partage de ressources et de sécurité des threads. Cet article se concentrera sur les scénarios d'application et les processus de sécurité des threads du modèle singleton dans les systèmes distribués PHP, et fournira des exemples de code spécifiques. 1. Mode singleton

1. Que sont les modèles de conception PHP ? Les modèles de conception PHP sont des modèles de code prédéfinis conçus pour résoudre les problèmes courants de développement de logiciels. Ils fournissent des solutions éprouvées qui améliorent la réutilisabilité, la maintenabilité et l’évolutivité du code. 2. Types de modèles de conception PHP Il existe de nombreux modèles de conception différents en PHP, et chaque modèle a son objectif spécifique. Les modèles les plus courants incluent : Modèle Singleton : garantit qu'il n'y a qu'une seule instance d'une classe. Modèle d'usine : crée des objets de différents types en fonction des données qui leur sont transmises. Mode stratégie : permet à un programme de modifier son comportement au moment de l'exécution. Modèle d'observateur : permet aux objets de s'abonner aux événements et d'être avertis lorsque des événements se produisent. 3. Exemple de mode Singleton classSingleInstance{private

Présentation de l'analyse des scénarios d'application courants du modèle singleton en PHP : Le modèle singleton (SingletonPattern) est un modèle de conception créationnel qui garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global pour accéder à l'instance. En PHP, l'utilisation du mode singleton peut limiter efficacement le nombre d'instanciations et l'utilisation des ressources d'une classe, et améliorer les performances et la maintenabilité du code. Cet article analysera des scénarios d'application courants et donnera des exemples de code PHP spécifiques pour illustrer l'utilisation et les avantages du modèle singleton. Canal de connexion à la base de données
