本文由码农网 –
金沙糖果派对网站app,曾钊泳原创翻译,转发请看清文末的转发必要,招待加入我们的付费投稿布署!

宣称:本人新手一枚,由于连串中要求使用zf2框架进行付出,在这记载学习应用进度中的一点一滴。才薄智浅,请多指教。。。。。。。。。。。。。

近来,在做要好的个人网址时,选取了轻量级的php框架CodeIgniter。乍一看上去,代码清晰简洁,MVC模型非常轻松维护。开辟时本人使用的工具是Netbeans
IDE
8.0,当然,本文的剧情和开拓工具是未曾涉及的,和大家最后网址使用的服务器有相当的大的涉嫌。近期可是常用的三款免费web服务器是Apache和Nginx(那七款服务器的比较,能够参谋一篇网络的卓越小说:

一、什么是php的路由机制

简介

自家手上有个用PHP写的网址,相同于个人测量检验性质的站点,小编单独设计,在此进度中犯了具备异常的大或许的设计和编程上的荒唐,同时本身也获取了过多,那也促使自个儿去上学PHP和MySQL。每当作者就学新的才能或web推行时,都会想到本人的网址会从当中收益。正如您能够设想到的,它的可读性不强。测量检验网址再三在代码可读性和可维护性方面表现倒霉,特别当您独自因为一些须要的效果与利益而读书一门编制程序语言时,而那也正是笔者直接以来学习PHP的艺术。

自从通晓了ASP.NET
MVC,小编便商量什么在这里个网址上实行那套MVC格局。笔者爱怜得舍不得甩手那全数概念的成套,尤其是路由。但本人并不想为此而重构整个网站的幸存框架,忧郁那样一来,大多数共处代码将改成疑似异物相似,不受小编的操纵和明白。网址已经有二个WordPress搭建的博客,通过改换模板让它看起来就像一个完全的站点,好比在一宏大的墙上画涂鸦同样,那大概是一团糟。

下一场呢?刚后日,小编就学了一些REST
API的相关文化,那是为平常专门的学问所需而上学的。有未有二个至上的艺术去学学那么些呢?小编精晓有个网址会从当中收益。在英特网阅读了一部分有关在PHP碰到应用RESTful
API的稿子,小编打听了.htaccess文件。今后本人通晓怎么在PHP中搭建路由,因而,大概能在测量检验网址实行本身布署的小型的、简单的MVC模型。


 

1、路由体制正是把某二个特定格局的UHighlanderL布局中提炼出来系统对应的参数。比方,如:
其中:/article/1 -> ?_m=article&id=1。

设想

在PHP中搭建自定义路由的关键在于扩大一个.htaccess文本,以下请看

现实得以达成:

作者在网址文件夹目录中新添了三个”API”文件夹,在中间新建二个.htaccess文件,内容是本身从CoreyMaynard写的一段文本中参阅来的。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?request=$1 [QSA,NC,L]
</IfModule>

言简意少,有了那几个布局,全数以”www.yoursite.com/api/”起先或针对不设有的公文或路线的哀求都会被重定向到index.php文件。$1变量值表示央浼的U翼虎L地址,”request”变量名也很好精通,用$_REQUEST[‘request’]一声令下就可随意获取。

其它,index.php文件和.htaccess文件在同一访谈层级。

付出进度中采纳的条件及工具如下:

(1)关于CodeIgniter

2、然后将具备相应参数的UDisco VolanteL调换来特定格局的U奥迪Q5L布局,是上边的进程的逆向进程。

唯恐现身的标题?

实质上,你只怕还未有启用钦点的module。

在WampServer遭逢下,笔者索要启用相应module来帮衬本机运营。一种艺术是点击大麦泡Logo步向”Apache”目录,在”Apache
modules”列表中选中rewrite_module,然后重启全部服务。另一种方法是编制httpd.conf文件,撤消上边这段配置的疏解

#LoadModule rewrite_module modules/mod_rewrite.so

作者想接下来要做的政工之一正是给网址做多少个自测网页,好让本人明确网址的管理者并未有更动任李天乐西。这听上去也有个别僵硬和可笑,但又二遍,笔者要求近期扩展“set names latin2;”配置来考查数据库导入的多寡。

假设想表明以上配置是不是在服务器上启用,你能够应用这段代码:

echo in_array('mod_rewrite', apache_get_modules());

支付情状:LNMP: Linux+Nginx+MySQL5.5+php5.6

CodeIgniter是一款开源的超轻量级MVC框架,常用于飞速地Web开辟中,假若您愿意,以致能够自由地改变内部的源代码,以适应本身的必要。这些框架自身不想多做牵线,须求纯熟的仇人能够去CodeIgniter官网下载,並且官方网站也提供了要命详细的中文扶帮手册,可以很好的援助新人学习。匡帮手册链接: 
。扶持手册中从0开首等教育你搭建一个简约的网址。

二、PHP的UGL450L路由艺术

接下去呢?

由来作者获取部分要害的学识,让本身得以为自家的网址搭建新的MVC框架。使用新框架比选拔现成实施方案更棒,超级大程度上由于那让自家在应用MVC格局的进度中获取遍布的学识。由于具备代码都以本身个人的职业量,也就从未别的消耗性组件。

继承为自家的网站创制REST
API。以往本人手艺实质性地将数据库逻辑从网页界面中抽离出来。

zf版本:zf2.2

 

完全来讲正是:获取路线新闻->管理渠道消息

有效的链接

举个例子你想掌握本人是如何找到应用方案,这上面是作者从当中获得知识的网址 

IDE工具:NetBeans8.1

(2)CodeIgniter架设的网址UHavalL

UEscortL路由艺术:

Zend Framework 官方网址:

最带头CodeIgniter搭建的网址U昂CoraL是那样子的:

首先种是通过url参数进行映射的主意,日常是三个参数,分别表示调控器类和艺术举个例子index.php?c=index&m=index映射到的是index调控器的index方法。

注:zf2急需PHP 5.3+能力健康运行,zf2对zf1不匹配。

class name]/[class function
name]/[function parameter]

第二种,是经过url-rewrite的秘籍,那样的功利是足以完结对非php结尾的其余后缀举行映射,当然通过rewrite也足以兑现率先种方式,可是纯使用rewrite的也相比遍布,平日必要配备apache或然nginx的rewrite准则复制代码 代码如下: RewriteEngine On
RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond
%{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
第二种,正是经过pathinfo的主意,所谓的pathinfo,就是形如那样的url。xxx.com/index.php/c/index/aa/cc,apache在拍卖那些url的时候会把index.php后边的一部分输入随处境变量$_SERVER[‘PATH_INFO’],它等于/c/index/aa/cc。然后我们的路由器再经过分析这些串进行分析就足以了,前边的片段放入到参数什么地点的,就依附种种框架分化而各异了。


比如表达:

三、 一个简便的PHP路由实现3.1
修正htaccess文件
编写制定伏务器apache或IIS自带的rewrite文件,将UCR-VL布局导入钦命文件举例:index.php。

一、zend farmwork2简介

 

开启rewrite:htaccess文件是Apache服务器中的三个配置文件,它担任有关目录下的网页配置。启用.htaccess,须要校正apache/conf/httpd.conf,启用AllowOverride,并得以用AllowOverride节制特定命令的选用。
复制代码 代码如下: Options FollowSymLinks
AllowOverride None 改为复制代码 代码如下:
Options FollowSymLinks AllowOverride All 然后我写了这么的rewrite:复制代码 代码如下:RewriteEngine on
#rewriteengine为重写引擎开关on为张开off为关闭 #RewriteCond $1
!^(index.php\.php|images|robots\.txt) RewriteRule -.html$
sharexie/test.php?action=$1&id=$2
#-.html$是平整,sharexie/test.php?action=$1&id=$2是要替换的格式,$1代表首先个括号相称的值,$2代表第贰个。
上边的代码正是将UCR-VL构造导入sharexie/test.php中。把这几个保留为.htaccess文件放在网址的根目录就行了。

ZF2是多少个依照PHP的开源框架,能够用来开拓WEB应用程序的各样劳动。ZF2是七个依照面向对象的框架,一切都以以目的为底工。ZF2有极其丰裕的零器件库,并且相当多零器件之间互相独立,互不相信任,所以开辟者能够单独开垦并应用自定义组件。

在讲怎么去掉index.php早先,我们先弄精晓它干吗相会世在这里边。对于随便叁个url伏乞,CodeIgniter都以先由坐落于网址跟目录下的index.php文件管理的,那一个文件再根据你提供的url中index.php前面的某个来分明把那么些诉求重新提交哪三个类的哪多个函数管理。因而,url中必得带有index.php那一个字段,显式的报告服务器,那么些url你先让index.php去重新定向到自己背后钦定的类去管理。假使不通过别的配置就径直把index.php去掉,你的网页是展示不出来的。那么我们要是要去掉它,就是希望经过一些布局选项,让服务器见到叁个url暗中认可地就用index.php去处理就好了,不用再把index.php彰显在url里面。

test.php复制代码 代码如下:

admin

相关文章

发表评论

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