php zend framework

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php zend framework相关的知识,希望对你有一定的参考价值。

刚学框架,在手册上看了个例子。
好像是用一个index.php开始启动。
看下面:
<?php
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('./application/controllers);
?>
如果不更改默认设置。就会调用application\controllers\indexCtroller.php 这个文件和application\views\scripts\index\index.phtml

问题:
若application\controllers\的目录下还有一个 index2Ctroller.php ,我希望不调用indexCtroller.php,而是调用index2Ctroller.php,这样我想调哪个控制器就能调用哪个。

我尝试这样写,(不要笑话)
<?php
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('./application/controllers/index2Ctroller.php);

?>

结果是一大堆错误的东东。

问:
如何能调用index2Ctroller.php。

谢谢!

IndexController 是入口,最好不要改名字。
新版本的 Zend Framework 的入口文件 index.php,已经不这样写了。

如果用最新版,以上代码全都可以废了。
参考技术A zendframework 的url规则是 host/控制器名/动作名

你只需要更改URL规则就行了。默认是INDEX
参考技术B host/controller/action

默认的是indexController里的indexAction

比如你要访问 你的index2Controller里的indexAction 那么访问的url就是 host/index2/index

PHP Zend Framework - 验证器示例

$validators = array( 
             'address' =&gt; array('Alnum', new Zend_Validate_Alnum(true), 
                                'messages' =&gt; array( 
                                'Address not valid', // Default error message 
                                // Specific error messages 
                                array(Zend_Validate_Alnum::NOT_ALNUM =&gt; 
                                      'Address contains invalid characters', 
                                      Zend_Validate_Alnum::STRING_EMPTY =&gt; 
                                      'Address field is mandatory'))), 
             'phone'   =&gt; array('Digits', new Zend_Validate_Digits(), 
                                'messages' =&gt; array( 
                                'Wrong phone number format', 
                                array(Zend_Validate_Digits::NOT_DIGITS =&gt; 
                                      'Phone number can only have digits', 
                                      Zend_Validate_Digits::STRING_EMPTY =&gt; 
                                      'Phone number can not be empty'))), 
             'age'     =&gt; array('Digits', new Zend_Validate_Between(16, 59), 
                                'messages' =&gt; array( 
                                'You do not qualify because of your age', 
                                array(Zend_Validate_Between::NOT_BETWEEN =&gt; 
                                      'Age is not between the allowed range'))), 
             'id'      =&gt; array('StringLength', new Zend_Validate_StringLength(8, 10), 
                                'messages' =&gt; array( 
                                'ID not valid', 
                                array(Zend_Validate_StringLength::TOO_LONG =&gt; 
                                      'ID is too long', 
                                      Zend_Validate_StringLength::TOO_SHORT =&gt; 
                                      'ID is too short'))), 
             'date'    =&gt; array('Date', new Zend_Validate_Date(), 
                                'messages' =&gt; array( 
                                'Wrong date', 
                                array(Zend_Validate_Date::INVALID =&gt; 
                                      'Date not recognized as valid', 
                                      Zend_Validate_Date::FALSEFORMAT =&gt; 
                                      'Date format is incorrect', 
                                      Zend_Validate_Date::NOT_YYYY_MM_DD =&gt; 
                                     'Date format must be YYYY-MM-DD'))), 
              'url'      =&gt; $validurl 
           );

以上是关于php zend framework的主要内容,如果未能解决你的问题,请参考以下文章

PHP Zend Framework:设置Zend Navigation

深入理解php内核 编写扩展 I:介绍PHP和Zend

Zend Framework错误:无法打开所需的'Zend / Application.php'

PHP 兼 Zend 联合创始人 Zeev Suraski 宣布从 Zend 离

PHP 兼 Zend 联合创始人 Zeev Suraski 宣布从 Zend 离职

PHP Zend Framework:引导Zend_Log(登录firebug)