- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Zend Framework入门教程之Zend_Registry组件用法详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例讲述了Zend Framework中Zend_Registry组件用法。分享给大家供大家参考,具体如下:
1.对象注册表 。
入门案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?php
require_once
(
"Zend/Loader.php"
);
Zend_Loader::loadClass(
'Zend_Registry'
);
$member
=
array
(
"姓名"
=>
"张三"
,
"性别"
=>
"女"
,
"年龄"
=>
"13"
,
"职业"
=>
"学生"
,
"爱好"
=>
"玩游戏"
,
"血型"
=>
"AB"
);
$registry
=
new
Zend_Registry(
$member
);
echo
"姓名为:"
;
echo
$registry
[
"姓名"
];
echo
"<p>"
;
echo
"性别为:"
;
echo
$registry
[
"性别"
];
echo
"<p>"
;
echo
"年龄为:"
;
echo
$registry
[
"年龄"
];
echo
"<p>"
;
echo
"职业为:"
;
echo
$registry
[
"职业"
];
echo
"<p>"
;
echo
"爱好为:"
;
echo
$registry
[
"爱好"
];
echo
"<p>"
;
|
结果为:
1
2
3
4
5
|
姓名为:张三
性别为:女
年龄为:13
职业为:学生
爱好为:玩游戏
|
2.set()方法和get()方法设置数据、获取数据 。
语法:
设置值Zend_Registry::set('index','value') 获取值Zend_Registry::get('index') 。
案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?php
require_once
(
"Zend/Loader.php"
);
Zend_Loader::loadClass(
'Zend_Registry'
);
$member
=
array
(
"姓名"
=>
"张三"
,
"性别"
=>
"女"
,
"年龄"
=>
"13"
,
"职业"
=>
"学生"
,
"爱好"
=>
"玩游戏"
,
"血型"
=>
"AB"
);
Zend_Registry::set(
"registry"
,
$member
);
$registry
= Zend_Registry::get(
"registry"
);
echo
"姓名为:"
;
echo
$registry
[
"姓名"
];
echo
"<p>"
;
echo
"性别为:"
;
echo
$registry
[
"性别"
];
echo
"<p>"
;
echo
"年龄为:"
;
echo
$registry
[
"年龄"
];
echo
"<p>"
;
echo
"职业为:"
;
echo
$registry
[
"职业"
];
echo
"<p>"
;
echo
"爱好为:"
;
echo
$registry
[
"爱好"
];
echo
"<p>"
;
|
说明:效果等同于new的结果.
3.对象注册表setInstance、getInstance 。
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php
require_once
(
"Zend/Loader.php"
);
Zend_Loader::loadClass(
'Zend_Registry'
);
$registry
=
new
Zend_Registry();
Zend_Registry::setInstance(
$registry
);
$registry
->name =
"Mike"
;
$registry
->age =
"30"
;
$registry
= Zend_Registry::getInstance();
echo
$registry
->name;
echo
"<p>"
;
echo
$registry
->age;
echo
"<p>"
;
$registry
->sex =
"male"
;
echo
$registry
->sex;
|
结果:
1
2
3
|
Mike
30
male
|
说明:通过setInstance方法,就可以用对象的方式设置其中的值了,然后通过getInstance来获取值.
4.isRegistered()来实现索引是否有值的判断.
案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
require_once
(
"Zend/Loader.php"
);
Zend_Loader::loadClass(
'Zend_Registry'
);
Zend_Registry::set(
"name"
,
"张三"
);
if
(Zend_Registry::isRegistered(
"name"
)){
echo
"对象注册表name已经定义"
;
}
else
{
echo
"对象注册表name没有定义"
;
}
echo
"<p>"
;
if
(Zend_Registry::isRegistered(
"age"
)){
echo
"对象注册表age已经定义"
;
}
else
{
echo
"对象注册表age没有定义"
;
}
|
结果:
1
2
|
对象注册表name已经定义
对象注册表age没有定义
|
说明:
如果定义了,可以检测出来.
5.删除静态注册表 。
Zend_Registry::_unsetInstance()方法删除静态注册表 。
案例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<?php
require_once
(
"Zend/Loader.php"
);
Zend_Loader::loadClass(
'Zend_Registry'
);
Zend_Registry::set(
"name"
,
"张三"
);
echo
"执行操作前:"
;
echo
"<p>"
;
if
(Zend_Registry::isRegistered(
"name"
)){
echo
"对象注册表name已经定义"
;
}
else
{
echo
"对象注册表name没有定义"
;
}
echo
"<p>"
;
if
(Zend_Registry::isRegistered(
"age"
)){
echo
"对象注册表age已经定义"
;
}
else
{
echo
"对象注册表age没有定义"
;
}
Zend_Registry::_unsetInstance(
"name"
);
echo
"<p>"
;
echo
"执行操作后:"
;
echo
"<p>"
;
if
(Zend_Registry::isRegistered(
"name"
)){
echo
"对象注册表name已经定义"
;
}
else
{
echo
"对象注册表name没有定义"
;
}
echo
"<p>"
;
if
(Zend_Registry::isRegistered(
"age"
)){
echo
"对象注册表age已经定义"
;
}
else
{
echo
"对象注册表age没有定义"
;
}
|
结果:
1
2
3
4
5
6
|
执行操作前:
对象注册表name已经定义
对象注册表age没有定义
执行操作后:
对象注册表name没有定义
对象注册表age没有定义
|
说明:执行完删除方法之后,之前的注册信息就没有了.
小结:
这就是Zend_Registry的几个常用的方法与案例。通过注册表可以实现很多普通变量无法实现的功能.
希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助.
最后此篇关于Zend Framework入门教程之Zend_Registry组件用法详解的文章就讲到这里了,如果你想了解更多关于Zend Framework入门教程之Zend_Registry组件用法详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我错过了什么,我已完成 的安装指南中要求的所有步骤 native 脚本 运行 tns doctor 给我以下输出... C:\abc\xyz>tns doctor √ Getting environm
尝试从 {addToCart(book)}}/>}> 传递数据至}> 问题: 购物车 ( render={()=> ) 收到 null,但没有收到我尝试发送的对象 已放置“console.log...
这是 _app.tsx 的外观: function MyApp({ Component, pageProps }: AppProps) { return } 我在构建项目时遇到了这个错误: Ty
我的 Laravel Vue 组件收到以下警告: [Vue warn]: Avoid mutating a prop directly since the value will be overwrit
根据这个example更详细this one我刚刚遇到了一件奇怪的事情...... 如果我使用方法作为 addTab(title,icon,component) 并且下一步想使用 setTabComp
目前我有一个捕获登录数据的表单,一个带有 TIWDBGrid 的表单,它应该返回与我从我的 mysql 数据库登录时创建的 user_id 关联的任何主机,以及一个共享数据模块。 下面是我的登录页面代
在我的react-native应用程序中,我目前有一个本地Android View (用java编写)正确渲染。当我尝试将我的react-native javascript 组件之一放入其中时,出现以
我为作业编写了简单的代码。我引用了文档和几个 youtube 视频教程系列。我的 react 代码是正确的我在运行代码时没有收到任何错误。但是这些 react-boostrap 元素没有渲染。此代码仅
几周前我刚刚开始使用 Flow,从一周前开始我就遇到了 Flow 错误,我不知道如何修复。 代码如下: // @flow import React, { Component } from "react
我想在同一个 View 中加载不同的 web2py 组件,但不是同时加载。我有 5 个 .load 文件,它们具有用于不同场景的表单字段,这些文件由 onchange 选择脚本动态调用。 web2py
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
Blazor 有 InputNumber将输入限制为数字的组件。然而,这呈现了一个 firefox 不尊重(它允许任何文本)。 所以我尝试创建一个过滤输入的自定义组件: @inherits Inpu
我在学习 AngularDART 组件时编写了以下简单代码,但没有显示任何内容,任何人都可以帮助我知道我犯了什么错误: 我的 html 主文件:
我想在初始安装组件时或之后为 div 设置动画(淡入)。动画完成后,div 不应消失。我正在尝试使用 CSSTransition 组件并查看 reactcommunity.org 上的示例,但我根本无
我需要一个 JSF 组件来表示甘特图。是否有任何组件库(如 RichFaces)包含这样的组件? 最佳答案 JFreeChart有甘特图和PrimeFaces有一个图像组件,允许您动态地流式传输内容。
从软件工程的角度来看,组件、模块和子系统之间有什么区别? 提前致谢! 最佳答案 以下是 UML 2.5 的一些发现: 组件:该子句指定一组结构,可用于定义任意大小和复杂性的软件系统。特别是,它将组件指
我有使用非托管程序集(名为 unmanaged.dll)的托管应用程序(名为 managed.exe)。到目前为止,我们已经创建了 Interop.unmanaged.dll,managed.exe
我有一个跨多个应用程序复制的 DAL(我知道它的设计很糟糕,但现在忽略它),我想做的是这个...... 创建一个将通过所有桌面应用程序访问的 WCF DAL 组件。任何人都可以分享他们对关注的想法吗?
我有一个 ComboBox 的集合声明如下。 val cmbAll = for (i /** action here **/ } 所有这些都放在一个 TabbedPane 中。我想这不是问题。那么我
使用 VB6 创建一个 VB 应用程序。应用程序的一部分显示内部的闪存。 当我使用 printform它只是打印整个应用程序。我不知道如何单独打印闪光部分。任何帮助,将不胜感激!.. 谢谢。 最佳答案
我是一名优秀的程序员,十分优秀!