首页vns威尼斯城官网登入 › 开发环境,一、什么是php的路由机制

开发环境,一、什么是php的路由机制

本文由码农网 –
曾钊泳原创翻译,转发请看清文末的转发供给,款待出席我们的付费投稿陈设!

扬言:本身新手一枚,由于系列中供给运用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中搭建路由,因而,可能能在测量试验网址进行协调陈设的Mini的、轻便的MVC模型。


 

1、路由体制正是把某叁个一定情势的U汉兰达L结构中提炼出来系统对应的参数。比如,如:
其中:/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变量值表示诉求的UTiguanL地址,”request”变量名也很好精晓,用$_REQUEST[‘request’]命令就可随性所欲赢得。

其余,index.php文件和.htaccess文件在相通访谈层级。

开拓进度中运用的蒙受及工具如下:

(1)关于CodeIgniter

2、然后将全部相应参数的UMuranoL转变来特定方式的UKoleosL构造,是地点的进程的逆向过程。

莫不现身的主题材料?

骨子里,你大概尚未启用内定的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的USportageL路由艺术

接下去吗?

到现在小编获得部分重要的文化,让小编得感觉本人的网站搭建新的MVC框架。使用新框架比使用现存应用方案更棒,一点都不小程度上是因为那让自家在应用MVC形式的长河中获得遍布的文化。由于全部代码都以笔者个人的专门的学业量,也就从不其余消耗性组件。

波路壮阔为自家的网站成立REST
API。今后自家技术实质性地将数据库逻辑从网页分界面中分离出来。

zf版本:zf2.2

 

完整来讲正是:获取路线音讯->管理渠道音讯

使得的链接

要是您想知道小编是什么样找到建设方案,这上边是本人从中获得文化的网址 

IDE工具:NetBeans8.1

(2)CodeIgniter架设的网站U哈弗L

UGL450L路由艺术:

Zend Framework 官方网址:

最开始CodeIgniter搭建的网址UCR-VL是那样子的:

率先种是经过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文件,将U凯雷德L构造导入钦定文件比方: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代表第一个。
上面的代码正是将U汉兰达L布局导入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复制代码 代码如下:

转载本站文章请注明出处:vns威尼斯城官网登入 http://www.tiec-ccpittj.com/?p=4959

上一篇:

下一篇:

相关文章