Enviar pesquisa
Carregar
Web development with zend framework
•
3 gostaram
•
14,345 visualizações
T
thinkinlamp
Seguir
Tecnologia
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 18
Baixar agora
Baixar para ler offline
Recomendados
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
使用者認證
使用者認證
Shengyou Fan
Package 安裝與使用
Package 安裝與使用
Shengyou Fan
凌波微步:wagon + VS Code 的輕功哲學
凌波微步:wagon + VS Code 的輕功哲學
Shengyou Fan
Spring boot 简介
Spring boot 简介
宇帆 盛
使用 Controller
使用 Controller
Shengyou Fan
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
Shengyou Fan
How to choose web framework
How to choose web framework
Bo-Yi Wu
Recomendados
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
使用者認證
使用者認證
Shengyou Fan
Package 安裝與使用
Package 安裝與使用
Shengyou Fan
凌波微步:wagon + VS Code 的輕功哲學
凌波微步:wagon + VS Code 的輕功哲學
Shengyou Fan
Spring boot 简介
Spring boot 简介
宇帆 盛
使用 Controller
使用 Controller
Shengyou Fan
COSCUP 2016 Laravel 部署工作坊 - 部署指南
COSCUP 2016 Laravel 部署工作坊 - 部署指南
Shengyou Fan
How to choose web framework
How to choose web framework
Bo-Yi Wu
專案啟動與環境設定
專案啟動與環境設定
Shengyou Fan
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
Shengyou Fan
Model 設定與 Seeding
Model 設定與 Seeding
Shengyou Fan
Laravel - 系統全攻略(續)
Laravel - 系統全攻略(續)
Vincent Chi
Maven初级培训
Maven初级培训
Cody Zhang
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
Shengyou Fan
Composer 套件管理
Composer 套件管理
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
開發環境建置
開發環境建置
Shengyou Fan
工作坊簡介
工作坊簡介
Shengyou Fan
Package安裝與使用
Package安裝與使用
Shengyou Fan
CodeIgniter 2.0.X
CodeIgniter 2.0.X
Bo-Yi Wu
Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
Shengyou Fan
Phpconf 2011 introduction_to_codeigniter
Phpconf 2011 introduction_to_codeigniter
Bo-Yi Wu
開發工具與環境建置
開發工具與環境建置
Shengyou Fan
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
Shengyou Fan
Why to choose laravel framework
Why to choose laravel framework
Bo-Yi Wu
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
Django step0
Django step0
永昇 陳
Mais conteúdo relacionado
Mais procurados
專案啟動與環境設定
專案啟動與環境設定
Shengyou Fan
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
Shengyou Fan
Model 設定與 Seeding
Model 設定與 Seeding
Shengyou Fan
Laravel - 系統全攻略(續)
Laravel - 系統全攻略(續)
Vincent Chi
Maven初级培训
Maven初级培训
Cody Zhang
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
Shengyou Fan
Composer 套件管理
Composer 套件管理
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
開發環境建置
開發環境建置
Shengyou Fan
工作坊簡介
工作坊簡介
Shengyou Fan
Package安裝與使用
Package安裝與使用
Shengyou Fan
CodeIgniter 2.0.X
CodeIgniter 2.0.X
Bo-Yi Wu
Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
Shengyou Fan
Phpconf 2011 introduction_to_codeigniter
Phpconf 2011 introduction_to_codeigniter
Bo-Yi Wu
開發工具與環境建置
開發工具與環境建置
Shengyou Fan
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
Wen-Tien Chang
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
Shengyou Fan
Why to choose laravel framework
Why to choose laravel framework
Bo-Yi Wu
Mais procurados
(20)
專案啟動與環境設定
專案啟動與環境設定
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
[Modern Web Conf 2015] 給 PHP 開發者的 Composer 錦囊
Model 設定與 Seeding
Model 設定與 Seeding
Laravel - 系統全攻略(續)
Laravel - 系統全攻略(續)
Maven初级培训
Maven初级培训
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
Composer 套件管理
Composer 套件管理
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
開發環境建置
開發環境建置
工作坊簡介
工作坊簡介
Package安裝與使用
Package安裝與使用
CodeIgniter 2.0.X
CodeIgniter 2.0.X
Java Build Tool course in 2011
Java Build Tool course in 2011
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
Phpconf 2011 introduction_to_codeigniter
Phpconf 2011 introduction_to_codeigniter
開發工具與環境建置
開發工具與環境建置
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
使用 wagon + VS Code 輕鬆打造 Windows 平台 PHP/Laravel 開發環境
Why to choose laravel framework
Why to choose laravel framework
Semelhante a Web development with zend framework
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
czzz1
Django step0
Django step0
永昇 陳
Kindeditor设计思路v2
Kindeditor设计思路v2
luolonghao
Template mb-kao
Template mb-kao
xwcoder
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
KISSY for starter
KISSY for starter
yiming he
面向未来的前端类库开发 — KISSY 类库构想与实践
面向未来的前端类库开发 — KISSY 类库构想与实践
taobao.com
KISSY Mechanism
KISSY Mechanism
lifesinger
Erlang Practice
Erlang Practice
litaocheng
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Shengyou Fan
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
yiditushe
Erlang游戏开发
Erlang游戏开发
litaocheng
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
Bo-Yi Wu
Kind editor设计思路
Kind editor设计思路
taobao.com
Migrations 與 Schema操作
Migrations 與 Schema操作
Shengyou Fan
合久必分,分久必合
合久必分,分久必合
Qiangning Hong
基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析
CC
开源应用日志收集系统
开源应用日志收集系统
klandor
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
Anthony Chen
Semelhante a Web development with zend framework
(20)
模块一-Go语言特性.pdf
模块一-Go语言特性.pdf
Django step0
Django step0
Kindeditor设计思路v2
Kindeditor设计思路v2
Template mb-kao
Template mb-kao
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
KISSY for starter
KISSY for starter
面向未来的前端类库开发 — KISSY 类库构想与实践
面向未来的前端类库开发 — KISSY 类库构想与实践
KISSY Mechanism
KISSY Mechanism
Erlang Practice
Erlang Practice
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
Erlang游戏开发
Erlang游戏开发
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
Kind editor设计思路
Kind editor设计思路
Migrations 與 Schema操作
Migrations 與 Schema操作
合久必分,分久必合
合久必分,分久必合
基于 FRIDA 的全平台逆向分析
基于 FRIDA 的全平台逆向分析
开源应用日志收集系统
开源应用日志收集系统
2011 JavaTwo JSF 2.0
2011 JavaTwo JSF 2.0
Mais de thinkinlamp
数据仓库
数据仓库
thinkinlamp
对My sql dba的一些思考
对My sql dba的一些思考
thinkinlamp
云端的数据库
云端的数据库
thinkinlamp
My sql innovation work -innosql
My sql innovation work -innosql
thinkinlamp
浅谈 My sql 性能调优
浅谈 My sql 性能调优
thinkinlamp
2011 06-12-why do we need the rabbit
2011 06-12-why do we need the rabbit
thinkinlamp
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
thinkinlamp
蜘蛛
蜘蛛
thinkinlamp
大型微博应用Feed系统浅析
大型微博应用Feed系统浅析
thinkinlamp
Enterprise connect
Enterprise connect
thinkinlamp
I os tech talk 观后感
I os tech talk 观后感
thinkinlamp
网页游戏开发与敏捷开发
网页游戏开发与敏捷开发
thinkinlamp
My sql自动化监控
My sql自动化监控
thinkinlamp
服务化的网站架构
服务化的网站架构
thinkinlamp
大型互联网应用架构设计
大型互联网应用架构设计
thinkinlamp
Php extension开发
Php extension开发
thinkinlamp
Nosql七种武器之长生剑 mongodb的使用介绍
Nosql七种武器之长生剑 mongodb的使用介绍
thinkinlamp
大型Sns数据库设计
大型Sns数据库设计
thinkinlamp
MySQL高可用
MySQL高可用
thinkinlamp
Mysql overview_20100811
Mysql overview_20100811
thinkinlamp
Mais de thinkinlamp
(20)
数据仓库
数据仓库
对My sql dba的一些思考
对My sql dba的一些思考
云端的数据库
云端的数据库
My sql innovation work -innosql
My sql innovation work -innosql
浅谈 My sql 性能调优
浅谈 My sql 性能调优
2011 06-12-why do we need the rabbit
2011 06-12-why do we need the rabbit
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
蜘蛛
蜘蛛
大型微博应用Feed系统浅析
大型微博应用Feed系统浅析
Enterprise connect
Enterprise connect
I os tech talk 观后感
I os tech talk 观后感
网页游戏开发与敏捷开发
网页游戏开发与敏捷开发
My sql自动化监控
My sql自动化监控
服务化的网站架构
服务化的网站架构
大型互联网应用架构设计
大型互联网应用架构设计
Php extension开发
Php extension开发
Nosql七种武器之长生剑 mongodb的使用介绍
Nosql七种武器之长生剑 mongodb的使用介绍
大型Sns数据库设计
大型Sns数据库设计
MySQL高可用
MySQL高可用
Mysql overview_20100811
Mysql overview_20100811
Web development with zend framework
1.
WEB 开发实践
基于 Zend Framework
2.
自我简介 • 闫斌(Ben Yan) •
Sr. Engineer @ BI-Tracking, ValueClick Brands • 抚琴居(http://www.yAnbiN.org) • Ben.Yan@msn.com
3.
怎么认识 Zend Framework
类库? 框架? 是的,两个都是!!
4.
怎么使用 Zend Framework Component
Library Business Zend_Db/Zend_Pdf/Zend_Mail/Zend_Feed/… Logic Application Framework
5.
Zend Framework 程序骨架
>zf.bat create project quickstart quickstart ├─document Quickstart ├─source ├─docs │ ├─application ├─application │ │ ├─configs │ ├─configs │ │ ├─controllers │ ├─controllers │ │ ├─models │ ├─models │ │ └─views │ └─views │ │ ├─helpers │ ├─helpers │ │ └─scripts │ └─scripts │ ├─library ├─library │ ├─resource ├─public │ └─public └─tests └─testing ├─application ├─application └─library └─library
6.
Zend_Front_Controller – 插件 •
routeStartup DB 、Cache、Log 等各组件的初始化、自定义路由 • routeShutdown 权限控制(module/controller/action)、载入特定资源 • dispatchLoopStartup 模板选择 • preDispatch 多次调用。更改 Action 执行顺序。 • postDispatch 多次调用。Action Response 已知,渲染视图。 • dispatchLoopShutdown 收尾工作、发送日志(Zend_Wildfire)
7.
Zend_Front_Controller – 路由 •
类型众多: • Static、Regex、Hostname、Rest 、Chain • Route_Chain: • 将多个路由进行组合,1+1>2 • 不同的路由可指向同一个Action • 方便网站升级,有利于 SEO
8.
Zend_Action_Controller
瘦!
9.
Zend_Application • 一切皆为资源(Resource),尽量延迟加载 • 高度可定制化 •
资源依赖 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initXYZ() { $this->bootstrap('Cachemanager'); $cacheManager = $this->getResource('Cachemanager'); // doSomthing ... return $xyz; } }
10.
Zend_View & Zend_Layout •
尽量通过 Zend_View_Interface 来使用模板系统 • 灵活使用视图助手(View Helper) • 占位符类:HeadScript、HeadLink、HeadMeta、HeadTitle • 区域助手:Partial、PartialLoop • 使用 Zend_Layout 解决网站页面整体结构问题 • 避免直接使用 Zend_Form 渲染页面 • Zend_Form_Decorator_ViewScript
11.
Model
12.
分层架构
界面层 • 解释命令、显示信息(比如 MVC 中 Controller、View) 服务层 • 定义软件功能,协调领域对象。小型项目可同领域层合并 领域层 • 系统核心:负责业务概念、业务状况以及业务觃则 基础结构层 • 提供基础的技术支持:消息发送、领域持久化、事务管理等 原则:每层都高内聚,同上层松耦合,且只依赖于下层。
13.
服务层 • 定义软件功能 •
外观上,易用的应用程序的 API;内部上,协调领域逻辑。 • 最小化的服务层是对某一领域逻辑的简单封装 • 常见应用 • CURD 与缓存(Zend_Cache) • 应用程序逻辑(Zend_Mail、Zend_Log) • 认证与授权(Zend_Auth、Zend_Acl) • 数据的过滤与校验(Zend_Form、Zend_Filter、Zend_Validate)
14.
领域层 • 领域模型应该是一个只关注自身业务的类 • 现实的折衷
• class XXX extends Zend_Db_Table • class YYY extends Doctrine_Record
15.
基础架构层/数据源层 • 表数据入口(Table Data
Gateway,Zend_Db_Table) • 数据表访问入口,每个实例处理所有行 • 行数据入口(Table Data Gateway,Zend_Db_Table_Row) • 单条记录入口,每个实例代表一行 • 活动记录(Active Record,Doctrine_Record) • 跟行数据入口相似,但增加了领域逻辑 • 数据映射器(Data Mapper,Doctrine 2) • 独立的对象与数据持久层的映射
16.
/**
* @Entity * @Table(name="users") Doctrine 2 简介 * @HasLifecycleCallbacks */ class User { /** • Object-Relational Mapper * @Id * @Column(type="integer") */ • 支持基本映射 protected $id; • 支持关联映射 /** @Column(type="integer") */ protected $created; • Entity Manager /** *@OneToOne(targetEntity="Address") • 工作单元(Unit of Work) */ protected $address; • 后写事务(Transactional write-behind) /** @PrePersist */ public function onPrePersist() • Event System { $this->created = time(); } }
17.
怎么获取帮助 • 官方手册
• Quick Start、Getting Started with XXX、Reference Guard • 博客、社区、邮件列表 • PHP Developer / Planet PHP、 Community Wiki、Mailing Lists • Matthew Weier(Project Leader)、Proposals(Requirements、Theory) • 幻灯片、视频、图书 • Slide Share、Zend Casts、 Webinars、 Podcasts • Zend Framework 1.8 Web Application Development • Google
18.
Questions ?
Baixar agora