Maison développement back-end tutoriel php Zend的Registry机制的使用说明_PHP

Zend的Registry机制的使用说明_PHP

Jun 01, 2016 pm 12:06 PM
registry zend

项目过程中有很多全局变量, 需要全局存储,是否是使用全局变量来进行存储?那就弱爆了。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,然后实例化它

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Le processus opérationnel de fermeture du processus de registre dans WIN10 Le processus opérationnel de fermeture du processus de registre dans WIN10 Mar 27, 2024 pm 05:51 PM

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.

Framework d'implémentation PHP : Tutoriel de mise en route de Zend Framework Framework d'implémentation PHP : Tutoriel de mise en route de Zend Framework Jun 19, 2023 am 08:09 AM

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

Comment utiliser l'ACL (Access Control List) pour le contrôle des autorisations dans Zend Framework Comment utiliser l'ACL (Access Control List) pour le contrôle des autorisations dans Zend Framework Jul 29, 2023 am 09:24 AM

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.

PHP ne reconnaît pas ZendOptimizer, comment le résoudre ? PHP ne reconnaît pas ZendOptimizer, comment le résoudre ? Mar 19, 2024 pm 01:09 PM

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

Comment configurer l'environnement Window2003 IIS+MySQL+PHP+Zend Comment configurer l'environnement Window2003 IIS+MySQL+PHP+Zend Jun 02, 2023 pm 09:56 PM

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

Quel programme est le registre ? Quel programme est le registre ? Feb 24, 2023 pm 05:21 PM

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.

Développer un moteur de recherche performant en utilisant le framework PHP Zend Développer un moteur de recherche performant en utilisant le framework PHP Zend Jun 27, 2023 am 08:36 AM

Avec la croissance explosive de l’information sur Internet, les moteurs de recherche sont devenus l’un des moyens privilégiés pour obtenir des informations. Aujourd'hui, alors que le nombre de sites Web continue d'augmenter, la rapidité de réponse et la précision des moteurs de recherche sont devenues de plus en plus importantes, ce qui nécessite des moteurs de recherche très performants. Dans cet article, je vais vous présenter comment utiliser le framework PHP Zend pour développer un moteur de recherche performant. 1. Pourquoi utiliser Zend Framework ? Zend Framework est un framework PHP hautes performances offrant d'excellentes performances et évolutivité.

Comment utiliser le framework PHP Zend pour développer une plateforme de gestion ERP efficace Comment utiliser le framework PHP Zend pour développer une plateforme de gestion ERP efficace Jun 26, 2023 pm 11:00 PM

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

See all articles