April 19, 2012
23.6. Zend Framework 带有的标准表单元素
"23.6. Zend Framework 带有的标准表单元素 Zend Framework 带有的具体元素类涵盖了大部分的 HTML 表单元素。其中大部分当装饰元素时,指定了特定的视图助手来用,但有一些还提供了另外的功能。下面是这些类的列表,还有它们提供的功能的描述。\n23.6.1. Zend_Form_Element_Button 用来生成 HTML 按钮元素, Zend_Form_Element_Button 继承 Zend_Form_Element_Submit,并派生它的定制功能。它为装饰指定 ‘formButton’ 视图助手。\n像提交元素一样,它使用元素的标签作为元素的值来显示,还句话说,通过设置元素的值来设置按钮上的文字。如果有翻译适配器,标签将显示翻译后的文字。\n因为标签用作元素的一部分,但按钮元素只用 ViewHelper 和 DtDdWrapper 装饰器。\n在组装和校验表单之后,我们可用 isChecked() 方法来检查是否给定的按钮被点击。\n23.6.2. Zend_Form_Element_Checkbox HTML checkboxes 让你返回一个特定的 …"
April 19, 2012
Zend_Form 之定制表单
"23.4.10. 定制表单 一个使用基于配置的表单的替代方法是继承 Zend_Form 类,有若干优点:\n可以容易进行单元测试来确保校验和解析如愿执行。\n精细地控制每个元素。\n重使用表单对象,最大化可移植性(不需要跟踪配置文件)。\n实现定制功能。\n最典型的用例是使用 init() 方法来设置指定的表单元素和配置:\n\u0026lt;?php class My_Form_Login extends Zend_Form { public function init() { $username = new Zend_Form_Element_Text(\u0026#39;username\u0026#39;); $username-\u0026gt;class = \u0026#39;formtext\u0026#39;; $username-\u0026gt;setLabel(\u0026#39;Username:\u0026#39;) -\u0026gt;setDecorators(array( array(\u0026#39;ViewHelper\u0026#39;, array(\u0026#39;helper\u0026#39; =\u0026gt; \u0026#39;formText\u0026#39;)), …"
April 19, 2012
Zend_Form 的方法大全,按类分组
"23.4.8. 方法 下面是 Zend_Form 的方法大全,按类分组:\n配置和选项:\nsetOptions(array $options)\nsetConfig(Zend_Config $config)\n插件加载器和路径:\nsetPluginLoader(Zend_Loader_PluginLoader_Interface $loader, $type = null)\ngetPluginLoader($type = null)\naddPrefixPath($prefix, $path, $type = null) addPrefixPaths(array $spec)\naddElementPrefixPath($prefix, $path, $type = null)\naddElementPrefixPaths(array $spec)\naddDisplayGroupPrefixPath($prefix, $path)\n元数据:\nsetAttrib($key, $value)\naddAttribs(array $attribs)\nsetAttribs(array $attribs) …"
April 19, 2012
zend_form 之定制表单元素
"23.3.9. 定制元素 通过继承 Zend_Form_Element 类,你可以生成自己的定制元素,这样做的原因是:\n共享通用的校验器和/或过滤器的元素\n有定制装饰器功能的元素\n有两个方法一般用来扩展元素: init() 可为元素添加定制的初始化逻辑; loadDefaultDecorators() 可用于设置一个用于元素的缺省装饰器的列表。\n用例子来说明,你在一个表单里生成的所有文本元素需要用 StringTrim 来过滤、用通用的规则表达式来校验,并且你想用你生成的定制的装饰器来显示它们,’My_Decorator_TextItem’。另外,你有许多想指定的标准属性,包括 ‘size’、 ‘maxLength’ 和 ‘class’。你可以定义这样的元素如下:\n\u0026lt;?php class My_Element_Text extends Zend_Form_Element { public function init() { $this-\u0026gt;addPrefixPath(\u0026#39;My_Decorator\u0026#39;, \u0026#39;My/Decorator/\u0026#39;, …"
April 19, 2012
Zend_Form中的元数据和属性
"Zend_Form_Element 处理广泛的属性和元素元数据,基本属性包括:\nname: 元素名,使用 setName() 和 getName() 访问器。\nlabel: 元素标签,使用 setLabel() 和 getLabel() 访问器。\norder: 在表单中出现的元素的索引,使用 setOrder() 和 getOrder() 访问器。\nvalue: 当前元素的值,使用 setValue() 和 getValue() 访问器。\ndescription: 元素的描述,常用于提供工具提示或 javascript 上下文提示,描述元素的意图,使用 setDescription() 和 getDescription() 访问器。\nrequired: 当执行表单校验时,指示元素是否必需的标志,使用 setRequired() 和 getRequired() 访问器,缺省为 false。\nallowEmpty: 指示可选的元素是否应该校验空值的标志,当为 true,并且要求的标志为 false,空值就不传递给校验器链,并假定为 true。使用 setAllowEmpty() …"
April 19, 2012
zend_form 基础使用方法示例
"public function indexAction() { $form = new Zend_Form(); if ($form-\u0026gt;isValid($_POST)) { // success! $values = $form-\u0026gt;getValues(); } else { // failure // deubg $this-\u0026gt;view-\u0026gt;form = $form; return $this-\u0026gt;render(\u0026#39;form\u0026#39;); } $form-\u0026gt;setAction(\u0026#39;/members/index/register\u0026#39;) -\u0026gt;setMethod(\u0026#39;post\u0026#39;); $form-\u0026gt;setAttrib(\u0026#39;id\u0026#39;, \u0026#39;login\u0026#39;); // create and confirure username element //$username = new Zend_Form_Element_Text(\u0026#39;username\u0026#39;); $username = …"
April 9, 2012
MongoDB update数据语法
"在前面的文章“ mongodb 查询的语法”里,我介绍了Mongodb的常用查询语法,Mongodb的update操作也有点复杂,我结合自己的使用经验,在这里介绍一下,给用mongodb的朋友看看,也方便以后自己用到的时候查阅:\n注:在这篇文章及上篇文章内讲的语法介绍都是在mongodb shell环境内的,和真正运用语言编程(如java,php等)使用时,在使用方法上会有一些差别,但语法(如查询条件,$in,$inc等)是一样的。\n本文是参考官方文档来介绍的,之所以有官方文档还要在这介绍,一方面是就当翻译,毕竟每次要用时去看英文文档比较累,第二是官方文档讲解比较简单,有时光看官方文档不好理解,我在实际操作的情况下可以做些补充。\n好了,不多说了,下面正式开始:\nmongodb更新有两个命令:\n1).update()命令\ndb.collection.update( criteria, objNew, upsert, multi )\ncriteria : update的查询条件,类似sql update查询内where后面的 objNew : update的对象和一些更新的操作符( …"
April 9, 2012
教你如何利用MySQL学习MongoDB之授权和权限
"在上文中,我们了解了 教你如何利用MySQL学习MongoDB之SQL语法,本文中我们继续我们的学习之旅,学习两者的授权和权限。\n数据库的安全性是每一个DBA重点关注的部分,在数据库建立之后,数据的安全就显得尤为重要。\n对于一个数据库管理员来说,安全性就意味着他必须保证那些具有特殊数据访问权限的用户能够登录到数据库服务器,并且能够访问数据以及对数据库对象实施各种权限范围内的操作;同时,DBA还要防止所有的非授权用户的非法操作。\n1、MySQL授权和权限\nMySQL中有两种级别的权限:管理和用户。所有权限都可分别使用 GRANT 和 REVOKE 语句授予和收回。可以授予用户create、select、update、delete、insert、execute、index 等权限,也可授予alter、drop和shutdown等系统权限。根用户root在默认情况下具有所有权限。\n2、MongoDB授权和权限\n官方文档开启MongoDB 服务时不添加任何参数时,可以对数据库任意操作,而且可以远程访问数据库,所以推荐只是在开发是才这样不设置任何参数。如果启动的时候指定–auth参数,可以从阻止 …"
April 9, 2012
MongoDB的安全和授权机制
"先把官方文档的地址贴上来,所有的内容都来自这里:\n最近项目需要mongodb,简单试了下,一直都没找到安全验证的机制,在linux下很简单就用mongo命令登进去了,也没有指定用户名和密码,也没有host和port,直接就进去了。当时还感觉蛮方便的,但是事后想想,完全没有安全机制和验证的,还是有点不放心啊。后来仔细看了下文档,原来还是有的,只是不太好找而已。\n官方文档的说法是:目前mongodb的安全机制还是比较简陋的,主要是表现在权限方面,一个用户只要被授权了,那么他就直接拥有了全部的读写权限。mongodb也可以创建只读用户,只有读取的权限。\n授权需求的开启\n默认的mongodb进程启动之后是不需要授权验证的,需要手动打开,做法是在启动命令中添加–auth参数。\ndebian下的默认启动参数是:\n/usr/bin/mongod –dbpath /var/lib/mongodb –logpath /var/log/mongodb/mongodb.log –config /etc/mongodb.conf run\n我们需要做的是编辑/etc/init.d/mongodb, …"
April 7, 2012
perl首次安装Can’t locate CPAN.pm in @INC的解决办法
"perl -MCPAN -e ‘install “模块名称”\n我在在线安装perl 模块时,发现有这样的问题。应该是说没有安装CPAN这个服务吧。\n1、执行perl -MCPAN -e shell出错,提示如下:\n[root@GM ~]# perl -MCPAN -e shell\nCan’t locate CPAN.pm in @INC (@INC contains:……省略\n2、到cpan的官方站点下载CPAN模块\nhttp://search.cpan.org/search?query=CPAN\u0026amp;mode=all\n[root@GM ~]#wget http://cpan.communilink.net/authors/id/A/AN/ANDK/CPAN-1.9600.tar.gz\n3、解压,编绎,安装\n[root@GM ~]# tar -zxvf CPAN-1.9600.tar.gz [root@GM ~]#cd CPAN-1.9600 [root@GM CPAN-1.9600]# perl Makefile.PL [root@GM CPAN-1.9600]# make …"