ZF2系列 – Zend Framework 2 MVC實作 (Part 3)
我之所以這麼喜歡Zend Framework的關係,
其中一項就是它可以幫你很簡單的實現MVC的架構,
所以今天的任務就是要建立一個以MVC為架構的基本網頁。
首先當然要先建立一個測試用的資料庫,
因此我簡單的建立了一個名為Employee的資料表來進行展示,
該資料表如下:
很簡單的資料表吧,就三個欄位而已,
這我想我就應該不用多做解釋了,
只是拿來存放員工姓名與年紀資料而已。
好了,有了資料之後就能開始建立Model了,
首先在src\Application\下建了一個Model的資料夾,
並分別建立其ValueObject和Model的類別檔,
我先建立一個ValueObjec(src\Application\Model\Employee.php)給大家看:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
這段ValueObject的程式碼應該沒有太大的問題,
唯一你會覺得怪怪的應該就是那個exchangeArray,
那個其實是要給之後Model用的方法,
所以你可以先暫時不理他,只要知道他的任務是用來為資料用的。
完成ValueObject之後,我們就可以開始介入建立一個新的Model,
所以建立一個新的Model(src\Application\Model\EmployeeTable.php):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
你有沒有看到建構函數時會執行setArrayObjectPrototype這個方法,
這時候裡面new了一個Employee作為其參數,
目的就是要將吐回來的資訊用ValueObject進行包裝的動作,
在這個Model中我們時做了幾個搜尋,新增,刪除的方法,
在今天我們只會用到fetchAll這個方法來取出所有資料,
若是有興趣的人可以自己參考我其他寫的資料操作方法。
Model完成後,就可以在Controller去嘗試取出資料,
我們拿出之前所寫好的IndexController來做一個小的展示,
其路徑放在 src\Application\Controller\IndexController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
你可以看到我在indexAction的方法中,
先用ServiceManager把Model給載入進來,
接下來就可以使用背實作出來的Model,
透過fetchAll的方法來將資料庫所有員工資料取出,
最後由ViewModel來將資料交給View來進行呈現。
好啦,最後我們只要將View給實作出來就好,
這個應該是整段裡面最簡單的一環,
所以我就直接將code貼出來給大家看,
該View放在 src\view\application\index\index.phtml。
1 2 3 |
|
最後呈現的成果如下圖:
转载于:https://www.cnblogs.com/xuyaoxiang/archive/2013/04/24/3039781.html
ZF2系列 – Zend Framework 2 MVC實作 (Part 3)相关推荐
- php zend mvc 配置,理解Zend Framework 的MVC模式_PHP教程
到底啥是Zend Framework MVC设计模式? MVC (Model-View-Controller)模式,即模型-试图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个 ...
- 扩展 ZF2 Redis Zend Framework 2 Redis Extend - key正则
随着业务的进展,现在需要直接操作Redis 数据! 其中就需要获取指定前缀的key,就好像操作mysql一样,需要获取指定记录段! ZF2强大的支持了redis缓存方式,但是当我运用ZF2 redis ...
- ASP.NET MVC 5 實作 GridView 分頁
本文用 ASP.NET MVC 5 實作一個 GridView,功能包括: 分頁(paging).關鍵字過濾(filtering).排序(sorting).AJAX 非同步執行,外觀上亦支援 Resp ...
- Zend Framework 入门教程(简体中文版)
Zend Framework 入门教程(简体中文版) Getting Started With the Zend Framework Author:Rob Allen, www.akrabat.com ...
- Zend Framework入门教程
转战了各个Blog平台,发现还是落户到csdn上吧,以后吐槽在新浪,发长文在csdn,整理链接在Baidu Hi 在大四的时候接下的实验室网站,网站是上三届的吴师兄写的,主要采用的是LAMP,其中PH ...
- php顶级框架,诗意的边缘:PHP顶级框架Zend Framework开发实战
<诗意的边缘:PHP顶级框架Zend Framework开发实战> 前 言 第1部分 开发前的准备工作 第1章 创建开发环境2 1.1 配置开发环境3 1.1.1 Windows系统下XA ...
- 在ZF2中实现Zend Framework的Controller init/preDispatch/postDispatch方法
在Zend Framework 1中,Controller里约定了一些默认的方法来实现钩子,包括 Controller初始化时调用的init()方法 派遣前的方法preDispatch() 派遣后的方 ...
- 专业级智能PHP IDE Zend Studio教程:Zend Framework 2集成(1/3)——创建和部署新的ZF2项目
Zend Studio是新一代的专业级智能PHP IDE(应用程序开发环境).它旨在帮助开发人员提高工作效率,创造出高品质的PHP应用程序!它包含了PHP开发所必须的部件,通过一整套的编辑.调试.分析 ...
- ZF2入门:Windows环境下从零开始Zend Framework 2.0 (ZF2)环境搭建
一.Apache + MySQL + PHP5.4环境搭建 其实PHP5.4已经集成了Web服务器,但是为了更加简化,我在这里选择了集成安装包XAMPP来搭建环境. 安装 xampp-win32-1. ...
最新文章
- 模拟红绿灯交替指示编程思路
- 浓烟滚滚!某市联通集体断网,谁的锅?
- 老李分享:Android性能优化之内存泄漏 3
- Java学习笔记_字符串/静态static
- CreateThread线程函数
- 论文解读丨文档结构分析
- 【Docker】Docker 安装node-exporter prometheus pushgateway 页面显示Down
- 程序员都该懂的 UML 规范!
- 在 github 上建立 pages 的过程
- saga中的saga(A Saga on Sagas) - balavatasky - 博客园
- Python 奇淫技巧 -- 利用pandas读取xml转换为excel
- phpwind9.0 read.php 修改,phpwind 9.0后台执行任意php代码
- Echarts 三维地图
- 理论篇3:深度学习之----Momentum优化器(2)
- 【论文笔记 | TGRS 2021】多内容互补网络:MCCNet
- Google Hacking基本用法
- 【AI视野·今日CV 计算机视觉论文速览 第236期】Tue, 28 Sep 2021
- FreeRTOS学习笔记【二】——FreeRTOS 移植
- x86架构手机_为什么苹果放弃的是x86,而不是ARM?
- DHTML---HTML5
热门文章
- ideal pom文件安装到maven库中_java学习之web基础(14)Maven基础学习
- a标签跳到另一个页面指定选项卡_HTML常用标签
- voms下的反射大师_VOMS旧版
- 【渝粤教育】电大中专成本会计_1作业 题库
- 【渝粤题库】广东开放大学 互联网营销概论 形成性考核
- 【渝粤题库】国家开放大学2021春1032成本管理题目
- php mysql_query预处理,php+mysqli使用预处理技术进行数据库查询的方法
- linux 编译src.rpm,CentOS6.5下编译src.rpm包的内核
- 通信中的频谱效率与能量效率
- php调用pdf2html,php html2pdf