Zend的Registry机制的使用说明_php实例
项目过程中有很多全局变量, 需要全局存储,是否是使用全局变量来进行存储?那就弱爆了。Zend使用Registry机制(注册表)存储对象和值,是一个存储对象和值的容器。
Zend_Registry这个类就是做这个目的
代码示例
Zend_Registry::set('config', $config);
Zend_Registry::get('config');
代码分析
这两个函数是最常用的两个函数。我们来看一下这个类
class Zend_Registry extends ArrayObject
这个类继承自ArrayObject
ArrayObject implements IteratorAggregate , Traversable , ArrayAccess , Serializable , Countable
ArrayObject是一个对象集合,相当于其他语言的泛型集合的概念。
重点了解下void ArrayObject::offsetSet ( mixed $index , mixed $newval ), 这个函数就是hashtable中的设置key,value,只是key,value可以是任何类型的。
好了,回到Zend_Registry, 看看set做了些什么事情
set函数
public static function set($index, $value)
{
$instance = self::getInstance();
$instance->offsetSet($index, $value);
}
一个是实例化Register,另一个是调用offsetSet方法,将index和value设置进去。
offset方法很好理解,但是为什么要使用getInstance方法呢?
这里建议大家好好看看,这个是结合类静态方法的单例模式。
我们一般的单例模式写成:
class A{
private $_instance;
public static function getInstance(){
...
}
protected function __construct(){
...
}
public function setVal(){
...
}
}
$a = A::getInstance();
$a->setVal();
这样在调用之前就需要实例化一个类,虽然这个实例化实际上是单例,但感觉还是不舒服
这边的register就做到了直接使用静态方法调用
A::setVal();
大致的代码思路我写了个demo
class A{
private static $_instance;
public static function getInstance(){
if(self::_instance !==null){
return $this->_instance;
} else {
return new A();
}
}
public function __construct(){
}
public static function setV(){
$a = self::getInstance();
$a->setVal();
}
public function setVal(){
...
}
}
A::setV();
实际上就是直接把__construct()放开成为public,然后实例化它

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)

1. Appuyez et maintenez enfoncée la combinaison de touches de raccourci [Win+R] sur le clavier, ouvrez la fenêtre de commande de dialogue [Exécuter], entrez la commande [services.msc] et cliquez sur [OK] ;. 2. Après avoir ouvert l'interface du service, recherchez l'option [RemoteRegistry] et double-cliquez avec le bouton gauche pour ouvrir sa fenêtre de dialogue de propriétés. 3. Dans la fenêtre de dialogue [RemoteRegistry Properties] qui s'ouvre, sélectionnez l'option [Disable] dans l'option de type de démarrage, puis cliquez sur le bouton [Appliquer]--[Stop]--[OK] pour enregistrer les paramètres.

Comment utiliser l'ACL (AccessControlList) pour le contrôle des autorisations dans Zend Framework Introduction : Dans une application Web, le contrôle des autorisations est une fonction cruciale. Il garantit que les utilisateurs ne peuvent accéder qu'aux pages et fonctionnalités auxquelles ils sont autorisés à accéder et empêche tout accès non autorisé. Le framework Zend fournit un moyen pratique d'implémenter le contrôle des autorisations, en utilisant le composant ACL (AccessControlList). Cet article explique comment utiliser l'ACL dans Zend Framework.

Framework d'implémentation PHP : tutoriel d'introduction à ZendFramework ZendFramework est un framework de site Web open source développé par PHP et actuellement maintenu par ZendTechnologies. ZendFramework adopte le modèle de conception MVC et fournit une série de bibliothèques de code réutilisables pour servir l'implémentation d'applications Web2.0 et Web Serve. ZendFramework est très populaire et respecté par les développeurs PHP et propose une large gamme de

PHP ne reconnaît pas ZendOptimizer, comment le résoudre ? Dans le développement PHP, vous pouvez parfois rencontrer une situation dans laquelle PHP ne peut pas reconnaître ZendOptimizer, ce qui entraînera un mauvais fonctionnement de certains codes PHP. Dans ce cas, nous devons prendre certaines mesures pour résoudre le problème. Certaines solutions de contournement possibles sont décrites ci-dessous, ainsi que des exemples de code spécifiques. 1. Confirmez si ZendOptimizer est installé correctement : Tout d'abord, nous devons confirmer que ZendOptimizer

Le package d'installation de Windows 2003 comprend Zend, PHP5.2.17, PHPWind8.7 et PHPMyadmin3.5.2. Vous pouvez télécharger le package d'installation directement pour gagner du temps dans la recherche de ressources. Cependant, comme MySQL a dépassé la limite de téléchargement, vous devez vous rendre sur le site officiel de MySQL pour télécharger. Ensuite, décompressez et copiez sur le lecteur D, comme indiqué ci-dessous : MySQLinDdisk Installez et configurez WindowsIIS+FTP Cliquez sur Démarrer>Panneau de configuration>Ajouter ou supprimer des programmes.Ajout ou suppression d'un PG Cliquez sur Ajouter/Supprimer des composants Windows (A). Ajout d'une commande

Registry fait référence à « éditeur de registre » et est un programme système. Le registre est une base de données importante dans le système Microsoft Windows. Il est utilisé pour stocker les informations sur les paramètres du système et des applications, y compris les informations de configuration et d'état sur les logiciels et le matériel informatique de l'utilisateur, ainsi que les conditions initiales des shells d'application et du gestionnaire de ressources, ainsi que les préférences. et les données de désinstallation, les paramètres généraux du système de l'ordinateur et diverses autorisations, l'association des extensions de fichiers avec les applications, la description, l'état et les propriétés du matériel, etc.

Avec le développement rapide des technologies de l’information, de plus en plus d’entreprises commencent à prendre conscience de la nécessité de gérer l’information. La plate-forme de gestion ERP (Enterprise Resource Planning) est un outil important pour la gestion d'entreprise moderne, qui peut aider les entreprises à réaliser la planification, la collaboration, le contrôle, l'optimisation et la gestion des ressources. Parmi eux, le framework PHP Zend est un excellent outil de développement qui peut aider les développeurs à développer des systèmes ERP rapidement et efficacement. Cet article présentera comment utiliser Zend pour développer une plateforme de gestion ERP efficace. 1. Déterminer l'analyse des besoins avant de commencer le processus de développement

Avec le développement continu des applications Internet, la demande de développement d’applications à grande échelle augmente également. Dans ce contexte, il est particulièrement important de choisir un cadre de développement qui vous convient. Laravel et Zend sont deux frameworks PHP largement utilisés. Ils ont chacun leurs propres avantages, mais lequel est le plus adapté au développement d'applications à grande échelle ? Laravel est un framework de développement populaire qui est devenu l'un des frameworks préférés des développeurs PHP. Il adopte un concept de design moderne et dispose d'une variété de fonctions et d'outils intégrés puissants, tels qu'EloquentOR.
