声明:本人菜鸟一枚,由于项目中需要用到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学习(一)初步入门的更多相关文章

  1. Zend Framework2 入门教程(转)

    转载自: http://my.oschina.net/lai1362000/blog/201301 重申:这本书作者的截图我都放上去了,没侵权啊. 别问那么多,我只是一个安静的搬砖工. 摘要 Zend ...

  2. 前端学习 node 快速入门 系列 —— 初步认识 node

    其他章节请看: 前端学习 node 快速入门 系列 初步认识 node node 是什么 node(或者称node.js)是 javaScript(以下简称js) 运行时的一个环境.不是一门语言. 以 ...

  3. Shel脚本-初步入门之《06》

    Shel脚本-初步入门-06 Shell 脚本的建立和执行 6.Shell 脚本的建立和执行 6.1 Shell脚本的建立 在 Linux 系统中,Shell 脚本(bash Shell 程序)通常是 ...

  4. Shel脚本-初步入门之《01》

    Shel脚本-初步入门-什么是 Shell 1.什么是 Shell Shell 是一个命令解释器,它的作用是解释执行用户输入的命令及程序等.Shell 存在于操作系统的最外层,负责与用户直接对话,把用 ...

  5. Shel脚本-初步入门之《02》

    Shel脚本-初步入门-什么是 Shell 脚本 2.什么是 Shell脚本 当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,改程序就被称为 Shell 脚本.如果在 Shell 脚本 ...

  6. Shel脚本-初步入门之《03》

    Shel脚本-初步入门-Shell 脚本在 Linux 运维工作中的地位 3.Shell 脚本在 Linux 运维工作中的地位 Shell 脚本语言很适合用于处理纯文本类型的数据,而 Linux 系统 ...

  7. Shel脚本-初步入门之《04》

    Shel脚本-初步入门-04 脚本语言的种类 4.脚本语言的种类 4.1 Shell 脚本语言的种类 Shell 脚本语言是弱类型语言(无须定义变量的类型即可使用),在 Unix/Linux 中主要有 ...

  8. Shel脚本-初步入门之《05》

    Shel脚本-初步入门-05 常用操作系统默认的 Shell 5.常用操作系统默认的 Shell 通过以下两种方法可以查看 CentOS Linux 系统默认的 Shell 方法1: echo $SH ...

  9. 前端学习 node 快速入门 系列 —— npm

    其他章节请看: 前端学习 node 快速入门 系列 npm npm 是什么 npm 是 node 的包管理器,绝大多数 javascript 相关的包都放在 npm 上. 所谓包,就是别人提供出来供他 ...

随机推荐

  1. RTImageAssets 自动生成 AppIcon 和 @2x @1x 比例图片

    下载地址:https://github.com/rickytan/RTImageAssets 此插件用来生成 @3x 的图片资源对应的 @2x 和 @1x 版本,只要拖拽高清图到 @3x 的位置上,然 ...

  2. CI 框架去掉url 中index.php的方法

    1 修改 apache 的 httpd.conf 文件 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的# 2 找到 你程序目录下的 .h ...

  3. POJ 2524 Ubiquitous Religions

    Ubiquitous Religions Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 20668   Accepted:  ...

  4. Mysql 导入数据,推荐Source命令,太快了

    http://jingyan.baidu.com/article/cbf0e500d15c762eab289362.html

  5. Android开发艺术探索笔记—— View(一)

    Android开发艺术探索笔记 --View(一) View的基础知识 什么是View View是Android中所有控件的基类.是一种界面层控件的抽象. View的位置参数 参数名 获取方式 含义 ...

  6. 使用nodejs搭建图片服务器(一)

    背景 当我们开发一个Web项目的时候,为了将图片管理与web服务分离开,通常都会搭建一个图片服务器. 之所以选择nodejs是因为使用nodejs来搭建web项目相当简单而且快速,虽然这个图片服务器很 ...

  7. 实现无锁的栈与队列(5):Hazard Pointer

    两年多以前随手写了点与 lock free 相关的笔记:1,2,3,4,质量都不是很高其实(读者见谅),但两年来陆陆续续竟也有些阅读量了(可见剑走偏锋的技巧是多容易吸引眼球).笔记当中在解决内存释放和 ...

  8. php高级面试题知识点(转载)

    php高级面试题知识点大全 时间:2016-01-26 06:36:22来源:网络 导读:php高级面试题知识点大全,本套面试题内容包括php魔术方法.php单点登录.linux基本命令.前端开发技术 ...

  9. 组合模式及C++实现

    组合模式 组合模式,是为了解决整体和部分的一致对待的问题而产生的,要求这个整体与部分有一致的操作或行为.部分和整体都继承与一个公共的抽象类,这样,外部使用它们时是一致的,不用管是整体还是部分,使用一个 ...

  10. html5[1]:优化Android Webview性能

    尽量少用position:relative 做一个OTO项目时,页面上下滑动时,颤抖的很厉害: 页面中主要是图片比较多,开始以为是图片多的原因,但是把所有图片都不加载,还是颤抖: 后来,去掉所有外部的 ...