【永利澳门游戏网站】的那些事,PHP中的自定义路由使用小结

本文由码农网 –
曾钊泳原创翻译,转发请看清文末的转发要求,招待参加我们的付费投稿安插!

近日,在做和谐的个人网址时,选择了轻量级的php框架CodeIgniter。乍一看起来,代码清晰简洁,MVC模型非常轻便维护。开辟时我动用的工具是Netbeans
IDE
8.0,当然,本文的剧情和开拓工具是从未关系的,和我们最终网址接受的服务器有十分大的涉嫌。这几天不过常用的五款无偿web服务器是Apache和Nginx(那七款服务器的相比较,能够参见一篇网络的优越随笔:

简介

笔者手上有个用PHP写的网址,形似于个人测量检验性质的站点,小编独自设计,在此进程中犯了颇负也许的宏图和编制程序上的大谬否则,同不常候笔者也获得了累累,那也催促自个儿去上学PHP和MySQL。每当我学习新的能力或web实施时,都会想到自个儿的网址会从当中收益。正如你可以想像到的,它的可读性不强。测量试验网址往往在代码可读性和可维护性方面展现不好,极其当您可是因为一些须要的功能而上学一门编制程序语言时,而那也多亏自家长久以来学习PHP的主意。

自从精通了ASP.NET
MVC,笔者便考虑怎么着在此个网址上实行那套MVC形式。作者爱怜这一切概念的全体,特别是路由。但本身并不想为此而重构整个网址的水保框架,忧郁那样一来,大部分共处代码将改成疑似异物同样,不受笔者的操纵和明白。网站已经有一个WordPress搭建的博客,通过改动模板让它看起来有如叁个完好的站点,好比在一宏大的墙上画涂鸦同样,那几乎是一团糟。

接下来呢?刚今天,作者读书了一部分REST
API的有关文化,那是为普通职业所需而上学的。有未有叁个至上的章程去学学那几个呢?我驾驭有个网址会从当中受益。在互连网阅读了一些关于在PHP情形应用RESTful
API的稿子,笔者打听了.htaccess文件。以往自家通晓哪些在PHP中搭建路由,因而,恐怕能在测量检验网址进行和煦安排的Mini的、简单的MVC模型。

 

设想

在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变量值表示央浼的UEscortL地址,”request”变量名也很好明白,用$_REQUEST[‘request’]指令就可任意获取。

别的,index.php文件和.htaccess文件在平等访谈层级。

(1)关于CodeIgniter

莫不现身的主题素材?

事实上,你或许尚未启用钦定的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());

CodeIgniter是一款开源的超级轻量级MVC框架,常用来快捷地Web开拓中,假使您愿意,以至能够恣心纵欲地转移内部的源代码,以适应本身的须求。这几个框架自身不想多做牵线,必要熟识的恋人可以去CodeIgniter官方网站下载,並且官方网站也提供了充足详尽的华语扶帮手册,能够很好的提携新人学习。扶帮手册链接: 
。扶帮手册中从0开头教你搭建叁个粗略的网址。

接下去呢?

从那之后作者收获部分首要的文化,让本身可感到本身的网址搭建新的MVC框架。使用新框架比选拔现成建设方案更棒,非常的大程度上由于这让作者在应用MVC方式的历程中获得布满的学问。由于具有代码都以本人个人的专门的学业量,也就不曾别的消耗性组件。

继承为自己的网址创造REST
API。以后小编才具实质性地将数据库逻辑从网页分界面中分离出来。

 

卓有成效的链接

一经你想精晓自家是怎么着找到建设方案,那上面是自身从当中得到文化的网站 

(2)CodeIgniter架设的网址U奥迪Q3L

最开首CodeIgniter搭建的网址USportageL是那样子的:

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

举个例证表明:

 

在讲怎么去掉index.php在此之前,我们先弄领悟它为什么会冒出在那地。对于自由三个url央浼,CodeIgniter都是先由位于网址跟目录下的index.php文件管理的,这几个文件再依照你提供的url中index.php前边的局部来规定把这几个央浼重新提交哪三个类的哪八个函数管理。由此,url中必得包罗index.php那个字段,显式的报告服务器,这几个url你先让index.php去重新定向到自家背后钦命的类去管理。就算不经过任何配置就径直把index.php去掉,你的网页是突显不出去的。那么大家只要要去掉它,正是希望因而一些布署选项,让服务器看到一个url暗中同意地就用index.php去管理就好了,不用再把index.php彰显在url里面。

 

(3)Apache服务器下去掉index.php

自己在融洽计算机上开拓时行使的是Apache服务器,因而不可防止地要先在Apache服务器下消除那一个标题。其实,小说开首时提到的CodeIgniter官方扶植手册里面早就给了Apache下的化解办法,却从没交到Nginx下的消除办法。不能,Apache服务器据他们说市镇占有率已经超(jīng chāo卡塔尔越伍分叁,作为那样主流的服务器,官方手册依旧有供给表达它的布署格局的。为了进一层分圣元些,小编再进一层详实地说澳优(Ausnutria Hyproca卡塔尔(NutrilonState of Qatar下。

 

发表评论

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