以图明志

PHP服务器脚本

ZF Rewrite路由后$this->url的问题

在Zend Framework中处理链接的问题
Zend_Controller_Router_Rewrite是标准的框架路由器。路由是个过程,在这个过程中它取出URI的端点(跟着基本URL的URI的那部分)并把它分解成参数来决定哪个模块、哪个控制器和控制器中的哪个动作应该接受请求。模块、控制器、动作和其它参数被打包到Zend_Controller_Request_Http对象,接着这个对象由Zend_Controller_Dispatcher_Standard来处理。

PHP服务器脚本

ZF框架Controllers自定义Action

一个简单的ZF控制器转发的小程序
前端控制器是MVC组建中的苦力,因为它要实例化对象、触发事件、建立默认的行为等,它的主要目的是处理所有进入应用的请求。前端控制器的设计模式被应用于不同的MVC框架中,我们在Zend Framework中指代的前端控制器(Front Controller)实际上是指Zend_Controller_Front类,因为该类实现了前端控制器的模式。

PHP服务器脚本

Zend_Loader_Autoloader是如何工作的

加载Zend Framework中的类
自动加载的原理是Zend_Application实例了Zend_Loader_Autoloader,使其调用了spl_autoload_register(array(__CLASS__, 'autoload')); 这样如果找不到的类就会调用此对象的autoload方法进行处理。一个名称空间可以有多个加载器,迭代找出符合的自定义加载器后,其余的就不会使用了。

PHP服务器脚本

Zend_Controller的工作原理

一个轻量的,模块化和可扩展的体系
Zend_Controller是使用MVC模式来构建一个站点的基础。Zend_Controller体系是一个轻量的,模块化和可扩展的体系。它只提供最核心的必要的部分,允许开发者有很大的自由来灵活地构建自己的站点。使用Zend_Controller的站点,其代码结构会有一部份是相似的。

PHP服务器脚本

使用Zend_Db_Adapter操作数据库

Zend_Db_Adapter是DB类一个核心
Zend_Db_Adapter 是 zendframework 的数据库抽象层 API,基于 pdo,你可以使用 Zend_Db_Adapter 连接和处理多种数据库,包括 microsoft SQL Server,MySql,SQLite 等等。要针对不同的数据库实例化一个 Zend_Db_Adapter 对象,需要将 adapter 的名字和描述数据库连接的参数数组作为参数,静态调用 Zend_Db::factory() 方法。

PHP服务器脚本

Zend Framework 各类库介绍

你可以在框架中取你所需的
其实zend做的只是把一个超级牛的专业phper的全部知识打包成一个程序包,提供给大家使用。当然这个phper的习惯不一定符合你的需求,只拿需要的内容吧。这些都看过之后,可以自己挑部分源码出来,做自己专属的zend framework应用,或者专门做MVC的zend framework。

PHP服务器脚本

理解Zend Framework 的MVC模式

MVC模式可以让分工更明确
这个MVC设计模式,有点像现实中我们去饭店吃饭的过程。当你到一个饭店吃饭,过程是这样的,首先你得点菜啊,不用喊,一个光溜水滑,埋了八汰的小服务员就会整个小本来你面前,"先生,你来点啥?",你看看菜谱,"给我整个小盘鱼香肉丝,再加一碗米饭。""好的,先生稍等。"说着服务员一溜小跑朝后厨方向,"那啥。。。告诉厨师别放姜啊!~~"。。。

PHP服务器脚本

Zend Framework框架简单配置

第一个Zend Framework项目
由于项目需要用到Zend Framework框架,所以现在开始深入学习这个框架。第一课总是,输出Hello World。首先确认你的PHP环境,Zend Framework 要求 PHP版本不低于5.1.4,但强烈建议使用 5.2.3 或更高版本,因为在这两个版本之间有许多重大安全和性能方面的改善和提高。

PHP服务器脚本

[专题] PHP内核探索:zend_execute的具体执行过程

解释器最终执行op的函数是zend_execute
解释器引擎最终执行op的函数是zend_execute,实际上zend_execute是一个函数指针,在引擎初始化的时候zend_execute默认指向了execute,这个execute定义在{PHPSRC}/Zend/zend_vm_execute.h。此函数的参数为op_array,这是一个指向zend_op_array的指针,op_array是在编译过程中生成。

PHP服务器脚本

[专题] PHP内核探索:Zend虚拟机

执行中间代码等各个部分统称为Zend虚拟机
通过前面的学习,我们了解到一个PHP文件在服务器端的执行过程包括以下两个大的过程:递给php程序需要执行的文件, php程序完成基本的准备工作后启动PHP及Zend引擎, 加载注册的扩展模块。初始化完成后读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。然后编译成opcode执行。

PHP服务器脚本

[专题] PHP内核探索:类的定义

定义好这个类的zend_class_entry
定义类的第一步,便是先定义好这个类的zend_class_entry,这一步操作是在MINIT阶段完成的。某个类的zend_class_entry会经常用到,所以我们一般会把它保存在一个变量里,供扩展中其它地方的程序使用。我们可以用zend_declare_property*系列函数还完成这项操作,为某个类定义属性一般会需要三个信息:……

PHP服务器脚本

[专题] PHP内核探索:类的原型zend_class_entry

实现类与对象的关键结构类型
zend_class_entry是内核中定义的一个结构体,是内核实现PHP语言中类与对象的一个非常基础、关键的结构类型。他就相当于我们定义的类的原型。如果我们想获得一个名字为myclass的类该怎么做呢?首先我们定义一个zend_class_entry变量,并为它设置名字,最后注册到runtime中去。

PHP服务器脚本

[专题] PHP内核探索:Zend内存管理器

非常类似于操作系统的内存管理功能
每个平台操作内存的方式都是差不多的有两个方面,一负责申请,二负责释放。如果应用程序向系统申请内存,系统便会在内存中寻找还没有被使用的地方,如果有合适的,便分配给这个程序,并标记下来,不再给其它的程序了。如果一个内存块没有释放,而所有者应用程序也永远不再使用它了。那么,我们就称其为"内存泄漏",那么这部分内存就无法再为其它程序所用了。

PHP服务器脚本

[专题] PHP内核探索:Zend引擎

Zend引擎是PHP实现的核心
Zend引擎是PHP实现的核心,提供了语言实现上的基础设施。例如:PHP的语法实现,脚本的编译运行环境, 扩展机制以及内存管理等,当然这里的PHP指的是官方的PHP实现(除了官方的实现, 目前比较知名的有facebook的hiphop实现,不过到目前为止,PHP还没有一个标准的语言规范),而PHP则提供了请求处理和其他Web服务器的接口(SAPI)。
1 / 1 首页 < Prev 1 Next > 尾页 页码: