新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  zend

摘要:Zend_Acl的误解很多人会误认为ACL的resource和privilege是controller和action,这是错误的。对Zend_Acl而言,resource可以是任何事物-一个controller,一个file,一个module...privilege就像resource一样,也可以是任何与resource相关的事物,例如,如果resource是一个controler,那privilege就可以是一个action,或者如果controller是一个file或者model,那么它就可能是read或者write。创建一个简单的ACL前面提到,Zend_Acl是由资源(resource 阅读全文

posted @ 2012-04-27 00:07 张贺 阅读(1144) 评论(0) 推荐(0)

摘要:利用php的set_error_handler()函数,在zf的引导类文件或初始化类文件中添加如下代码:1 public function __construct($application) {2 parent::__construct($application);33 MyApp_Error_Handler::set();4 }定义MyApp_Error_Handle类 1 class MyApp_Error_Handler { 2 public static function handle($errno, $errstr, $errfile, $errline) 3... 阅读全文

posted @ 2012-04-25 22:03 张贺 阅读(217) 评论(0) 推荐(0)

摘要:Zend Framework 中提供了好几种 MVC 异常处理方式,首先让我们回顾下:1. 默认的交由 Zend_Controller_Plugin_ErrorHandler 插件来处理。2. 通过Zend_Controller_Front::throwExceptions(true) 来处理:$front->throwExceptions(true);try { $front->dispatch();} catch (Exception $e) { // handle exceptions yourself}3. 通过Zend_Controller_Response_Abstra 阅读全文

posted @ 2012-04-19 18:01 张贺 阅读(448) 评论(0) 推荐(0)

摘要:In Zend Framework you can access the current request object from anywhere outside the current controller, for example inside your own base classes. To do so you obtain the singleton instance of the Front Controller Object and access the current request object registered with it.Here is how you do it 阅读全文

posted @ 2012-04-12 23:35 张贺 阅读(208) 评论(0) 推荐(0)

摘要:现在,我们需要一个视图模版用来显示。创建一个index.phtml文件,存储在views/scripts/index文件夹下。每个控制视图模版都有一个指定的文件夹。在index.phtml下键入下面代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&q 阅读全文

posted @ 2012-02-17 09:49 张贺 阅读(306) 评论(0) 推荐(0)

摘要:PHP技术交流群170855791前端控制器会将用户的请求映射到一个包含了特殊controller的指定的成员方法的类中。我们成为路由和分发。controller类有一个严格的命名约定。规则定义了方法名必须为{actionname}Action(),控制器类名{ControllerName}Controller。这个类必须存放在名为{ControllerName}.php的文件中。如果没有规定,index将被默认调用。仍然疑惑?观察下面的例子:在application/controllers文件夹下创建一个名为"IndexController.php"的文件,键入下面的代码 阅读全文

posted @ 2012-02-16 22:51 张贺 阅读(457) 评论(0) 推荐(0)

摘要:PHP技术交流群170855791我们需要将所有的请求都路由到前端控制器中。可以通过使用apache中的"mod_rewrite"模块来实现。在web_root文件夹下创建一个名为".htaccess"文件,键入一下代码RewriteEngin OnRewriteRul .* index.php我们可以看到,第二行中,apache将所有的请求路由到index.php文件中另一个选择,你可以直接在apache的httpd.conf文件中进行配置。当然,如果你没有一台自己的服务器,这很难搬到。因此,在一个本地的apache配置文件.htaccess中配置是一 阅读全文

posted @ 2012-02-16 22:50 张贺 阅读(585) 评论(0) 推荐(0)

摘要:就像你了解的那样,在web的根目录中需要一个index.php文件。这个文件用来处理页面的所有请求。它用来设置应用程序的运行环境,zf的控制系统,然后开始执行程序。这是前端控制模式。在web_root文件夹下创建一个名为"index.php"文件,键入下面的代码 1 <?php 2 error_reporting(E_ALL|E_STRICT); 3 ini_set('display_errors', true); 4 date_default_timezone_set('Europe/London'); 5 6 $rootDir = 阅读全文

posted @ 2012-02-16 22:17 张贺 阅读(1014) 评论(0) 推荐(0)

摘要:PHP技术交流群170855791我们已经使用zf创建了helloword程序的文件结构,它是标准的MVC结构。在这节中,我们将讨论各个文件夹的功能在项目根目录总有4个顶级目录,分别是:1.Application2.libray3.test4.web_rootApplication文件夹application文件夹包含了程序运行所需的所有代码。用户不能在web中直接访问这个文件夹。在这里显示层,业务层,控制逻辑层全部分离开来。在application文件夹下,还包含了models、views和controllers文件夹。这些文件夹分别包含了model、视图和控制文件。同时还可以创建一些其它文 阅读全文

posted @ 2012-02-16 21:47 张贺 阅读(1467) 评论(0) 推荐(0)

摘要:又开始从新学习ZF框架了。。。在网上看到了一篇非常非常简单的教程,随便记了下来,原文地址:http://www.phpeveryday.com/articles/Zend-Framework-Basic-Tutorial-P840.htmlZend framework是世界上流行的PHP框架之一。它是由Zend开发。从这节开始,我们开始从零学习Zend framewore。我们将要构建一个名"helloword"的简单的程序。在这个框架中,我们将使用MVC的架构模式。我们的目标是创建一个像下面这样简单的程序首先,在你的web服务器文件夹下创建像下图中那样的文件结构下载Zen 阅读全文

posted @ 2012-02-16 21:06 张贺 阅读(1094) 评论(0) 推荐(0)

摘要:动作控制器核心Zend_Controller_Action是一个抽象类,在自己实际的控制器中需要将他子类化。Zend_Controller的路由和派遣处理将在你的类里自动发现任何以'Action'结尾的方法作为潜在的控制器动作。在控制器中,可以重写一个public的init()方法,该方法再Zend_Controller_Action构造方法中最后调用缺省行为默认,前端控制器激活了ViewRenderer动作助手。通过下面方法之一,可以在动作控制器里禁止它 1 class FooController extends Zend_Controller_Action 2 { 3 pu 阅读全文

posted @ 2011-09-22 16:36 张贺 阅读(481) 评论(0) 推荐(0)

摘要:PHP技术交流群 170855791Zend_controller_Router_Rewrite类是标准的框架路由器。路由是个过程,在这个过程中它取出URI的端点(跟着基本URL的URI的那部分)并把它分解成参数来决定使用那个模块、哪个控制器以及控制器中的动作。模块,控制器、动作和其它一些参数被打包到Zend_Controller_Requert_Http对象中(请求对象,因此可以通过Zend_Controller_Request::getParam()或Zend_Controller_Action::_getParam()方法来访问URL中的一些参数),接着这个对象由Zend_Control 阅读全文

posted @ 2011-09-21 18:04 张贺 阅读(903) 评论(0) 推荐(0)

摘要:引导文件index.php中使用Zend_Controller_Front::run('/path/to/app/controllers');来启动Zend_Controller_Front类,此类用于分配请求到的不同控制器(这是最简单的启动Zend_Controller的方法)。Zend_Controller_Router_Interface用来定义路由器前端控制器:前端控制器默认加载ErrorHandler插件以及ViewRenderer动作助手,若要禁用,在调用dispatch()之前使用:$front->setParam('noErrorHandler&# 阅读全文

posted @ 2011-09-19 18:00 张贺 阅读(806) 评论(0) 推荐(0)

摘要:Zend_Acl:为权限管理提供轻量并灵活的访问控制列表的功能Zend_Auth:为认证和一些通用用例情景的具体认证适配器提供一个接口Zend_Cache:一个缓存任何数据的一般方法Zend_Captcha:提交数据的验证,以判断提交者是人还是机器自动操作,防止被恶意提交Zend_Config:简化访问和使用配置数据Zend_Console_Getopt:命令参数的设置和读取Zend_Controller:MVC的控制器★★Zend_Currency:处理所有关于货币、钱的表示和格式Zend_Date:处理日期和时间Zend_Db:操作数据库★★Zend_Debug:输出变量的值,只有一个方法 阅读全文

posted @ 2011-09-18 23:50 张贺 阅读(314) 评论(0) 推荐(1)

摘要:ZF1.8中引进了资源插件的定义,它能够是程序不必修改bootstrap类便可自动运行附加的一些初始化类资源是由Zend_Application读取,并且在application.ini中配置或直接写在Bootsrap.php类中。在Bootstrap.php中定义资源protected function _initDoctype(){ /** * 通过向boostrap方法中传递'view'来调用系统自带view资源 */ $this->bootstrap('view'); /** * 通过调用getResource()方法获取指定资源 */ ... 阅读全文

posted @ 2011-08-28 23:34 张贺 阅读(476) 评论(0) 推荐(0)

摘要:Zend_Application主要提供一些程序的初始化,包括资源的重用,对共通类和基于模块初始化的类的一些检查,同时还会配置php的环境变量以及引进默认的autoloading。使用zend_application,首先需要创建一个引导(Bootstrap)类,同时创建一个相关的配置文件。使用 zf.bat create project newproject命令创建的应用程序结构会自动包含一个引导类和一个配置文件,配置文件中的所有设置都是供Zend_Application和引导类来使用的。可以通过更改configuration文件来追加资源的调用,例:resources.layout.lay 阅读全文

posted @ 2011-08-27 20:42 张贺 阅读(677) 评论(0) 推荐(0)

摘要:通过zend自带tool使用zf.bat create project newproject命令,可以创建一个zend框架,具体方式在命令窗口进入要创建框架的目录,使用该条命令即可创建成功,目录结构:程序入口页面init.php代码<?php//定义application路径defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));// 定义php运行环境// production对应在 阅读全文

posted @ 2011-08-27 20:29 张贺 阅读(273) 评论(0) 推荐(0)