澳门新葡萄京娱乐场 1

澳门新葡萄京娱乐场zend framework2学习(一)初步入门

ZF开发的PHP应用与传统PHP应用集成的方法大家知道,ZF需要将所有HTTP请求全部交由index.php(bootstrap)来处理,所以我们需要配置服务器的URL重写规则,例如Apache的
OnRewriteCond %{REQUEST_URI}
!^.*(.css|.js|.html|.zf|.gif|.pdf|.rar|.ppt|.chm|.png|.jpg|.jpeg)$RewriteRule
^(/.*)$
/index.php我们把对除了特定扩展名外的所有文件的请求都转向到index.php。但是这样就出现了一个问题:如果我想将一个已有的PHP程序放到网站中,怎么办?
对程序的请求也都转向到index.php,显然程序无法正常工作了。通过修改URL重写规则,我们可以解决这个问题。例如安装discuz!论坛,我们把它装在/bbs目录下,那么我们可以这样改写rewrite规则:RewriteEngine
OnRewriteCond %{REQUEST_URI}
!^.*(.css|.js|.html|.zf|.gif|.pdf|.rar|.ppt|.chm|.png|.jpg|.jpeg)$|.*(bbs).*RewriteRule
^(/.*)$
/index.php注意,我们在最后加上了一个|.*(bbs).*,也就是说如果请求中有出现bbs字样就不转向到index.php,这样我们就可以访问bbs目录下的所有文件而不会转向到/index.php了。使用这个办法,可以方便地将ZF开发的程序和传统的PHP程序集成起来。

声明:本人菜鸟一枚,由于项目中需要用到zf2框架进行开发,在此记载学习使用过程中的点点滴滴。才疏学浅,请多指教。。。。。。。。。。。。。


开发过程中使用的环境及工具如下:

开发环境:LNMP: Linux+Nginx+MySQL5.5+php5.6

zf版本:zf2.2

IDE工具:NetBeans8.1

Zend Framework 官方网址:

注: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; 测试项目是否走通。

如图:

澳门新葡萄京娱乐场 1

 


 

未完,待续。。。。。。。。。。。。。。。。。。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注