zend framework2学习(一)初步入门
声明:本人菜鸟一枚,由于项目中需要用到zf2框架进行开发,在此记载学习使用过程中的点点滴滴。才疏学浅,请多指教。。。。。。。。。。。。。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
开发过程中使用的环境及工具如下:
开发环境:LNMP: Linux+Nginx+MySQL5.5+php5.6
zf版本:zf2.2
IDE工具:NetBeans8.1
Zend Framework 官方网址:http://www.zendframework.com/
注:zf2需要PHP 5.3+才能正常运行,zf2对zf1不兼容。
-------------------------------------------------------------------------------------------------------------------------------------
一、zend farmwork2简介
ZF2是一个基于PHP的开源框架,可以用来开发WEB应用程序的各种服务。ZF2是一个基于面向对象的框架,一切都是以对象为基础。ZF2有非常丰富的组件库,而且大部组件之间相互独立,互不依赖,所以开发者可以独自开发并使用自定义组件。
ZF2 拥有一个强大而且高效的MVC实现,他具有强大的数据库操作、路由控制、视图渲染、HTML表单解析、表单验证、数据过滤等功能;同时ZF2还提供了多种用户认证功能,通过证书来保存用户认证和授权信息,也可以通过Amf 来为Flash等其他语言开发的软件提供相应的服务。总的来说不论你需要什么功能,你都可以从ZF2中找到相应的组件来实现,从而有效的减少开发时间,提高项目开发的效率。ZF2提供的各种组件可以用来实现你想要的各种功能,也可以添加一些你自定义组件来搭建你强大的WEB应用程序。
二、项目搭建
创建一个项目文件夹cisp,并在cisp里手动创建如下文件夹:
├─config
│ └─autoload
├─module
│ ├─Dao
│ └─sitefront
├─public
│ ├─css
│ └─js
└─vendor
cisp:网站的根目录
config:用于设置网站的配置,如数据库账号,密码等
module:网站的业务逻辑实现部分,使用MVC模式在该目录内开发
Dao:MVC结构的M共享部分
sitefront:controller文件和view文件存放目录
public:存放css,js,image等资源文件,同时index.php是网站的主要入口文件
vendor:用于存放zf2框架以及其他第三方的PHP插件如图表,execl,sina接口文件等
二、虚拟主机配置
文件目录建好之后,需要对虚拟机的Nginx配置文件进行配置一个虚拟主机,Nginx.conf的配置如下:
<VirtualHost *:80>
ServerName cisp.local
DocumentRoot /mnt/hgfs/vmshare/cisp/public
#SetEnv APPLICATION_ENV "production"
SetEnv APPLICATION_ENV "dev"
SetEnv ZF2_PATH "/var/www/zf2test/vendor/ZF2/library"
LimitRequestBody 0
Alias /imageUp /mnt/hgfs/vmshare/websharefile/imageUp
Alias /UploadImage /mnt/hgfs/vmshare/websharefile/UploadImage
Alias /UploadImageUserGroup /mnt/hgfs/vmshare/websharefile/UploadImageUserGroup
Alias /UploadResources /mnt/hgfs/vmshare/websharefile/UploadResources
#<Directory /var/www/simplexue/public>
<Directory /mnt/hgfs/vmshare/cisp/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在本机的host文件内添加虚拟域名的配置:192.168.1.24 cisp.local
三、伪静态.htaccess添加
伪静态的主要功能是实现URL的重写,有利于搜索引擎进行抓取。在public文件夹下新建.htaccess文件,并添加如下配置:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(gif|jpe?g|png|bmp) /img/loader.gif [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
四、添加测试文件
在public文件夹下新建index.php,该文件是网站项目的唯一入口。
添加测试代码:var_dump(123);die; 测试项目是否走通。
如图:
----------------------------------------------------------------------------------------------------
未完,待续。。。。。。。。。。。。。。。。。。
zend framework2学习(一)初步入门的更多相关文章
- Zend Framework2 入门教程(转)
转载自: http://my.oschina.net/lai1362000/blog/201301 重申:这本书作者的截图我都放上去了,没侵权啊. 别问那么多,我只是一个安静的搬砖工. 摘要 Zend ...
- 前端学习 node 快速入门 系列 —— 初步认识 node
其他章节请看: 前端学习 node 快速入门 系列 初步认识 node node 是什么 node(或者称node.js)是 javaScript(以下简称js) 运行时的一个环境.不是一门语言. 以 ...
- Shel脚本-初步入门之《06》
Shel脚本-初步入门-06 Shell 脚本的建立和执行 6.Shell 脚本的建立和执行 6.1 Shell脚本的建立 在 Linux 系统中,Shell 脚本(bash Shell 程序)通常是 ...
- Shel脚本-初步入门之《01》
Shel脚本-初步入门-什么是 Shell 1.什么是 Shell Shell 是一个命令解释器,它的作用是解释执行用户输入的命令及程序等.Shell 存在于操作系统的最外层,负责与用户直接对话,把用 ...
- Shel脚本-初步入门之《02》
Shel脚本-初步入门-什么是 Shell 脚本 2.什么是 Shell脚本 当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,改程序就被称为 Shell 脚本.如果在 Shell 脚本 ...
- Shel脚本-初步入门之《03》
Shel脚本-初步入门-Shell 脚本在 Linux 运维工作中的地位 3.Shell 脚本在 Linux 运维工作中的地位 Shell 脚本语言很适合用于处理纯文本类型的数据,而 Linux 系统 ...
- Shel脚本-初步入门之《04》
Shel脚本-初步入门-04 脚本语言的种类 4.脚本语言的种类 4.1 Shell 脚本语言的种类 Shell 脚本语言是弱类型语言(无须定义变量的类型即可使用),在 Unix/Linux 中主要有 ...
- Shel脚本-初步入门之《05》
Shel脚本-初步入门-05 常用操作系统默认的 Shell 5.常用操作系统默认的 Shell 通过以下两种方法可以查看 CentOS Linux 系统默认的 Shell 方法1: echo $SH ...
- 前端学习 node 快速入门 系列 —— npm
其他章节请看: 前端学习 node 快速入门 系列 npm npm 是什么 npm 是 node 的包管理器,绝大多数 javascript 相关的包都放在 npm 上. 所谓包,就是别人提供出来供他 ...
随机推荐
- Oracle Purchasing QUESTIONS AND ANSWERS
Topic Summary Topic: CORRECTIONS: Corrections Topic: DELIVER: Receiving Delivery Topic: DROPSHIP: Dr ...
- Netty5 + HTTPS 练习
本次以<Netty权威指南>第十章里面的例子为基础修改而来 HttpsFileServerHandler.java package com.jieli.nettytest.httpsfil ...
- .NET基金会开源项目
.NET Compiler Platform ("Roslyn") .NET Core 5 .NET Micro Framework .NET SDK For Hadoop A ...
- call方法和new对象的关系
call只能改变this的指向,而使用new对象不仅会自动调用call方法改变这个对象的this指向,而且还会继承构造函数的原型. var fn = function(a){ this.a = a; ...
- facebook-开发
https://developers.facebook.com/docs/ios/getting-started?locale=zh_CN#prerequisites
- sqlserver -- 学习笔记(六)日期格式转换
忘了这篇是从哪里看到,然后复制保存下来,感谢原创的分享~ ) ::08 ),'-',''),' ',''),':','') ),'/','-') ) , ) ) , ) ) , ) ) , ) ) , ...
- HMM 自学教程(三)隐藏模式
本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在 HMM 学习最佳范例,这是针对 国外网站上一个 HMM 教程 的翻译,作者功底很深,翻译得很精彩 ...
- 推荐几款很棒的 JavaScript 表单美化和验证插件
表单元素让人爱恨交加.作为网页最重要的组成部分,表单几乎无处不在,从简单的邮件订阅.登陆注册到复杂的需要多页填写的信息提交功能,表单都让开发者花费了大量的时间和精力去处理,以期实现好用又漂亮的表单功能 ...
- Pace.js – 超赞的页面加载进度自动指示和 Ajax 导航效果
在页面中引入 Pace.js 和您所选择主题的 CSS 文件,就可以让你的页面拥有漂亮的加载进度和 Ajax 导航效果.不需要挂接到任何代码,自动检测进展.您可以选择颜色和多种效果,有简约,闪光灯, ...
- Sapi 添加语法的文章(转载)
最近在做SAPI方面的工作,比较详细的中文资料不多,遇到各种问题,本来想着做完了项目总结一下,今天看到这篇文章,对于SAPI加载识别语法方面的描述十分详细,先转过来做个备份,谢谢原文博主:djyang ...