PHP中的自定义路由使用小结,初步入门

 百家乐-前端     |      2020-03-14 06:13

本文由码农网 – 曾钊泳原创翻译,转发请看清文末的转发需求,迎接参预我们的付费投稿安排!

扬言:本人生手一枚,由于种类中必要运用zf2框架进行付出,在那记载学习应用进程中的一点一滴。不学无术,请多指教。。。。。。。。。。。。。

简介

自作者手上有个用PHP写的网址,相通于个人测验性质的站点,笔者独自设计,在此进度中犯了富有非常大大概的布置和编程上的错误,同期我也得到了非常多,那也督促本人去上学PHP和MySQL。每当本身上学新的技巧或web推行时,都会想到自个儿的网址会从当中收益。正如您能够想象到的,它的可读性不强。测量检验网址每每在代码可读性和可维护性方面显示倒霉,特别当您一味因为一些必要的成效而学习一门编制程序语言时,而那相当于自家长久以来学习PHP的章程。

从今领悟了ASP.NET MVC,小编便探讨什么在此个网址上实行那套MVC格局。作者垂怜这一体概念的万事,尤其是路由。但我并不想为此而重构整个网址的并存框架,顾忌这样一来,大多数共处代码将造成疑似异物同样,不受小编的主宰和清楚。网址已经有多少个WordPress搭建的博客,通过修正模板让它看起来就像贰个一体化的站点,好比在一伟大的墙上画涂鸦一样,这简直是一团糟。

接下来呢?刚后日,笔者上学了某些REST API的有关知识,那是为普通职业所需而学习的。有未有八个拔尖的法门去上学这几个吗?小编知道有个网址会从当中收益。在英特网阅读了某个关于在PHP景况应用RESTful API的篇章,小编询问了.htaccess文件。今后自家清楚怎么着在PHP中搭建路由,因而,可能能在测验网址执行和煦设计的微型的、简单的MVC模型。


设想

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

切实贯彻:

自个儿在网址文件夹目录中新增添了一个”API”文件夹,在里边新建贰个.htaccess文书,内容是自己从科里Maynard写的一段文本中参阅来的。

<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文件在同等采访层级。

开荒进度中使用的情形及工具如下:

大概现身的主题素材?

lom599乐百家手机 ,实质上,你只怕还未有启用内定的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

接下去呢?

于今小编赢得部分关键的知识,让自家得感到我的网址搭建新的MVC框架。使用新框架比采用现存实施方案更棒,超大程度上是因为那让作者在应用MVC形式的长河中获得遍布的知识。由于具备代码都以自家个人的专门的学业量,也就不曾别的消耗性组件。

持续为本身的网址创立REST API。未来自身技能实质性地将数据库逻辑从网页分界面中分离出来。

百家了乐八大技巧 ,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等别的语言开发的软件提供相应的劳动。说来讲去无论你需求什么样作用,你都得以从ZF第22中学找到呼应的组件来完结,进而有效的减削花费时间,进步项目支付的频率。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是网址的机要进口文件

上一篇:品质的微观深入分析 下一篇:没有了