`
xieye
  • 浏览: 830404 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用zend框架,就象找到了党组织

    博客分类:
  • PHP
阅读更多

高手就不要看此篇初级文章了。

最近使用php的官方框架zend,感觉是不错,不过效率也低了几倍。比写垃圾代码速度慢了很多。


安装方法:
官网下载后,把解压缩后的文件夹里的一个子文件夹Zend拷贝到include路径下就OK。
如我的php.ini
include_path=".;D:\abc\include;D:\php5\pear;"
则只要把Zend文件夹拷贝到D:\abc\include目录下或pear目录下


代码比较精致,全部是类。有点java的感觉。

特别实用的一个功能是自动加载类功能

    require_once('Zend/Loader.php');
    Zend_Loader::registerAutoload();
 

可以把上两句加到项目的某个公共加载文件里的最开头,然后
就不需要再使用include这个函数了,但前提是你的类的放置路径和类名都必须符合规范。
如类DatabaseObject_Area是放在文件Area.php里,且文件位于
D:\abc\include\DatabaseObject\Area.php
要注意大小写,明白了吧。特别简单,而且有纪律。

MVC模式也是框架的核心功能,但你也可以不用,只使用其他功能。
如使用,则需是使用apache的rewrite模块,将除js,css,img外的所有请求指向某个文件forward.php。
这个文件接受所有的动态请求,并将请求发送到各个控制器。

类的类型有:
一些公共类,
控制器类,
表单处理器类
数据类
(forward.php文件不是类)


缺省情况下,
http://www.site.com/account/login
(也可以同时跟随get或post参数)

这个url会使php访问控制器account,
这个控制器是一个php文件,文件名:AccountController.php
类名:AccountController。并且,更加具体的,是访问这个控制器类的loginAction()方法。

在这个方法中,如果没有表单,则调用一些数据类,获得一些数据,
然后把获得的数据填入一个模板,发送到页面。

如果有表单,就调用表单处理器,也是类。
表单处理器类会调用数据类,然后输出到模板。
问题是用户可能有表单输入错误。所以通常的情况是:

有表单的页面的提交对象是其自身,于是这个loginAction方法得考虑两种情况下

1、是没有用户输入,直接显示一个表单,
2、是有用户输入,调用表单处理器类,如正确,该转哪个页面就转哪个页面,
   如错误,继续显示表单,同时显示错误信息。

3、保存会话,或保存提交的数据这些代码写在表单处理器类里。
   如验证用户输入正确,则执行保存,并返回真给控制器类。
   如验证错误,则什么都不执行,返回假给控制器类。
4、表单处理器类本身也有属性(基本但不完全对应数据类),会显示在表单的各个表单元素里
5、基本没ajax什么事,但如果使用的话,会提高用户体验,因为网络往返的数据量小。

还有一个奇怪的select类,
什么意思呢?

            $select = $db->select();
            $select->from(array('t' => 'blog_posts_tags'),
                          array('count(*) as count', 't.tag'))
                   ->joinInner(array('p' => 'blog_posts'),
                               'p.post_id = t.post_id',
                               array())
                   ->where('p.user_id = ?', $user_id)
                   ->where('p.status = ?', self::STATUS_LIVE)
                   ->group('t.tag');

            $result = $db->query($select);
 


如上,$user_id 是一个有值的变量。

它的意思就是,你对sql厌烦透顶,于是,它给你提供一些新花样,让你暂时忘却直接写sql的枯燥。


实用功能还有很多,感兴趣可以体验一下。
买本php web2.0开发实战,然后就可以大段的抄代码。

从现在开始,跑步进入共产主义社会。


 

分享到:
评论
23 楼 gigivszhao 2009-09-18  
php还是自由式开发最好。不要用框架。
22 楼 xieye 2009-09-14  
现在很多单位招聘都问,会不会CMS,见鬼的cms,

别的语言写程序都是写程序,php语言写程序却是“改程序”。我也不知道discuz好在哪边,多少人把他当个宝。
21 楼 xieye 2009-09-14  
我也不知道我的版本,大概1.6吧,
文件中是Copyright (c) 2005-2008

其实无所谓,用他的MVC框架就行了。我也不更新
20 楼 Puras 2009-09-14  
有些头晕,ZF的版本之间的变化太大了。
还是1.9.1相比较之前的版本变化太大了?
官网的文档,版本貌似都不是1.9.1的。
崩溃呀。
19 楼 smiletuna 2009-09-13  
只用过 smarty...hehe。其他的看了一下 发现还不如自由派好
18 楼 kingheaven 2009-07-15  
dualface 写道
ZF、CI、SY、Cake,性能上都不行 -_-#


dualface看来哪个框架性能好呢?
17 楼 ynw520 2009-07-14  
zend用的不爽。。。。
16 楼 samshuai 2009-06-18  
Magento也是用的这个框架..非常的不错
15 楼 key232323 2009-05-17  
一直在用thinkphp……

文档够多,源码简洁,不失为学习的好材料。

社区还行吧,官网更新速度快,几个群天天聊的热火朝天。
14 楼 Julien 2009-04-26  
cakephp就真别推荐了……只有学术研究价值……
选择框架,性能和架构之外,应用案例多社区活跃也是重要的参考标准
大厂商推的极端主观的低效重型神经框架或者学院派推的没有实际应用价值的精美概念框架都无视即可
不管是php圈子还是java圈子都是这个理
13 楼 dualface 2009-04-26  
ZF、CI、SY、Cake,性能上都不行 -_-#
12 楼 七月十五 2009-04-25  
PHP框架多了去了,能上得了台面的没有几个。
正如上面提到的,所有的这些都试过了,你会发现做个无党派人士也挺爽的。

PS:推荐用国际上流行的框架,比如ZendFramework、CodeIgniter、Symfony、CakePHP等。

BTW:几天没来,PHP被拎出来了,呵呵,这倒像PHP在JE是成立了党组织了^_^
11 楼 flyingbug 2009-04-23  
建议试试kohana或者Qeephp
10 楼 rootsoso 2009-04-23  
xieye 写道
ruderal 写道

为啥不用CakePHP呢?!


zend功能更强大呗!


Zend的性能的确很有问题 除非你有钱购买高级优化方案
9 楼 xombat 2008-12-22  
各种框架都学习一下,吸取精华,去其糟粕,然后用在自己的开发中 才是正道
8 楼 guotie 2008-12-22  
CodeIgniter感觉不错,但和django比,还是不爽。
7 楼 xieye 2008-12-22  
ruderal 写道

为啥不用CakePHP呢?!


zend功能更强大呗!
6 楼 dogstar 2008-12-21  
跑了一圈,还是觉得用原始形态的小米加步枪敏捷。哈
5 楼 LucasLee 2008-12-20  
我们准备用CodeIgniter!
4 楼 ruderal 2008-12-20  
为啥不用CakePHP呢?!

相关推荐

    Zend框架入门教程

    - **标题**:“Zend框架入门教程”明确指出这是一份针对初学者的指南,旨在帮助用户快速掌握Zend框架的基本使用方法。 - **描述**:这份PDF格式的教程主要面向希望了解和学习Zend框架的开发者,内容基础且实用。 ##...

    Zend框架和相关配置

    本资源包包含了 Zend 框架的基本组件以及一些常用的配置文件,帮助开发者更快速地熟悉并运用 Zend 框架进行项目开发。 首先,我们来深入了解一下 Zend 框架的核心概念: 1. **Model(模型)**:模型是业务逻辑和...

    理解 Zend 框架(IBM经典中文教程)

    - **灵活性**:尽管 Zend 框架提供了一系列强大的组件和服务,但它也允许开发者根据项目需求选择性地使用其中的部分组件,而不必完全依赖整个框架。 #### 三、Zend 框架核心组件介绍 ##### 3.1 Zend_Controller -...

    php框架,基于zend重构的框架

    压缩包中的“Lite”可能表示这个框架是轻量级的,相对于原始的Zend框架,它可能去除了部分高级功能或非核心组件,以保持简洁和高效。 **反馈机制** 开发者鼓励用户在使用过程中发现和报告问题,提供了一个邮箱地址...

    zend框架入门教程.pdf

    zend框架入门教程.pdf

    zend完整框架Demo

    在“zend”这个压缩包中,我们可能找到以下关键知识点: 1. **安装与配置**:首先,你需要下载并安装Zend Framework,这通常包括设置PHP环境,确保PHP版本符合要求(这里是5.3),并将Zend的库路径添加到你的...

    Zend框架手册[中文]

    Zend Framework手册 中文版 Zend Framework 版权 © 2005-2009 Zend Technologies Inc. (http://www.zend.com) 2009-08-01 算是给自己备份用的~~囧TL

    ZendFramwork框架

    ZendFramwork框架源码,下载解压即可使用

    Zend Framework框架的部署和应用简介

    完成安装后,开发者可以通过引入 `Zend` 命名空间来使用框架中的各种组件。例如: ```php require_once 'Zend/Db.php'; // 或者使用自动加载机制 use Zend\Db; // 初始化数据库连接 $dbAdapter = new Zend\Db\...

    Zend Framework 框架开发入门教程

    ### Zend Framework 框架开发入门教程 #### 一、简介 本文档旨在提供一个针对初学者的 **Zend Framework** 开发指南。该框架是一种基于 PHP 的开源 Web 应用框架,提供了大量的组件来帮助开发者构建高效且健壮的 ...

    (php框架) Zend Framework入门教程中文版

    Zend 框架提供了简洁稳定的代码,Zend 框架具有以下特征: * 是基于 PHP 建立的。 * 是面向对象的。 * 使用 MVC 范例。 * 具有开放源码贡献者。 * 有贡献者负责保证他们的代码不是他人的知识产权。

    zend框架里架构mysql主从

    在本教程中,我们将深入探讨如何在Zend框架中设置MySQL主从架构。 首先,理解MySQL主从复制的基本概念至关重要。主从复制是MySQL数据库的一种高可用性解决方案,其中一台服务器(主服务器)处理写操作,而其他...

    zend framework 开发框架,绝对有用

    zend framework的开发框架,肯定有用。是我用过最好用的一个版本了。由于这个框架比较复杂,希望能在开始就解决你的很多麻烦

    zf2-documentation, Zend框架 2文档源.zip

    zf2-documentation, Zend框架 2文档源 欢迎使用的文档 documentation发布信息本文档基于 Zend ( 主分支)联机查看文档我们使用项目来呈现Zend文档的开发版本。你可以阅读 http://zf2.readthedocs.org 中的在线文档...

    基于Zend Framework 框架的CMS PHP 源代码

    Zend Framework推崇“选择性使用”原则,开发者可以根据项目需求选择使用其中的部分或全部组件,极大地提高了开发效率和代码质量。 **二、CMS系统的核心功能** CMS系统通常包含以下核心功能: 1. **内容创建与...

    Zend开发手册 zend框架手册

    "Zend开发手册"是理解并精通这个框架的关键资源,它详细介绍了框架的各个组件和使用方法。 **一、Zend Framework 概述** Zend Framework 是由 Zend Technologies 创建的,其设计目标是提供一套企业级的PHP组件,以...

    zend 框架手册介绍

    ### Zend框架手册介绍 #### 一、Zend Framework概述 ##### 1.1 概述 **Zend Framework** 是一个高质量的开源PHP框架,专为Web应用程序和服务开发而设计。该框架充分利用了PHP语言的特性,提供了高度易用且功能...

Global site tag (gtag.js) - Google Analytics