Download the PHP package houdunwang/route without Composer

On this page you can find all versions of the php package houdunwang/route. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package route

路由

路由是自定义url地址执行指定的控制器或闭包函数,良好的路由定义可以对seo起到很好的效果。

组件依赖 Request组件Cache组件 请查看GitHub文档配置后使用。

[TOC]

安装

使用 composer 命令进行安装或下载源代码使用。

HDPHP 框架已经内置此组件,无需要安装

配置

基础路由

基础路由

URL 路由器可隐藏网站物理文件结构提高安全性,美化 URL 地址便于 SEO。 您将在 system/routes.php 中定义应用中的大多数路由。 大多数基本的路由都只接受一个 URI 和 一个 闭包(Closure) 参数。

[TOC]

GET 路由

/ 表示访问网站主页

设置路由路径

POST 路由

触发POST提交的场景很多,比如form标签设置methos='post' 或 jquery ajax提交设置type='POST',都有可能触发POST路由。

我们来能过实例讲解一下,比如HTML 模板代码如下:

路由规则定义如下:

当我们提交form表单时,因为数据提交方式为POST,并且提交地址与路由匹配,所以就会执行路由回调函数。

PUT路由

当提交方式设置为PUT,比如jquery中我们可以设置type为PUT,如果是普通form表单提交,我们也可以在表单中添加隐藏域。

html表单定义如下:

路由定义如下:

PUT 提交的数据,我们还是使用$_POST获取

DELETE 路由

DELETET 定义的路由与使用PUT定义是一样的,下面是表单的设置:

路由定义如下

ANY路由

any 路由类型会识别所有有提交模式,而不是像GET模式,只能匹配GET提交

获取匹配成功的路由

用于获取本次请求匹配成功的路由规则。

方法欺骗

HTML 表单没有支持 PUT 或 DELETE 请求。所以当定义 PUT 以及 DELETE 路由并在 HTML 表单中被调用的时候,您将需要添加隐藏 _method 字段在表单中。

发送的 _method 字段对应的值会被当做 HTTP 请求方法。举例来说:

路由参数

[TOC]

参数设置

必须参数

可选择的路由参数

可选参数指参数有可能没有值,所以必须给闭包函数设置参数默认值,否则系统会报错。

获取参数

取得指定参数

如果需要取得路由解析后的参数,使用 Route::input 方法:

取得所有参数

input 方法中不传任何参数时将返回所有路由参数。

参数检测

参数检测是对路由中的参数进行验证,如果验证不通过这条路由将被忽略。

[TOC]

使用正则表达式限制参数

使用条件限制数组

依赖注入

依赖注入IOC等特性贯穿于系统的各个层面,在路由操作提供了灵活的注入机制。

上在的例子中闭包的 $id 与 路由参数同名,也就是说闭包参数 $id,无论放在任何位置系统都能识别到,不需要与路由中参数位置顺序一致。

控制器

控制器路由是用来访问网站控制器方法使用的,我们来看下面的代码:

[TOC]

配置

命名空间

路由加载控制器时使用 app.php配置文件中的 path配置项做为控制器类的起始命名空间。 比如我们使用 app\home\Entry 类,我们定义的路由如下:

系统使用 app\home\Entry 控制器类。

默认方法

当所有路由都没有匹配成功时,可以使用 config/http.php 配置文件中,default_controller与default_action 定义的配置项执行默认控制器方法。

基本使用

当我们访问foo时调用 Home模块Index控制器的add方法

参数传递

控制器接收路由参数时变量名要与路由定义的参数名一致,顺序不需要和路由参数顺序一致,更多的路由参数学习请参数 路由参数 课程章节中的讲解。

路由定义

执行Entry控制器中的show方法

控制器定义

隐式控制器

HDPHP 让你能轻易地定义单一路由来处理控制器中的每一项行为。首先用 Route::controller 方法定义一个路由:

Controller 方法接受两个参数。第一个参数是控制器欲处理的 URI,第二个是控制器的类名称。接着只要在你的控制器中加入方法,并在名称前加上它们所对应的 HTTP 请求。

如果发送以下请求,将会执行 getAdd 方法

分组路由

路由分组用于将拥有相同特性的路由放在一组中进行管理,相同特性包括路由前缀,中间件等等。

[TOC]

路由前缀

使用 prefix 选项可以将拥有相同前缀的路由归纳到一个组中进行管理。

比如我们访问admin/add方法后,会匹配到第一个路由定义

RESTful 路由

REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。REST提出了一些设计概念和准则:

  1. 网络上的所有事物都被抽象为资源(resource);
  2. 每个资源对应一个唯一的资源标识(resource identifier);
  3. 通过通用的连接器接口(generic connector interface)对资源进行操作;
  4. 对资源的各种操作不会改变资源标识;
  5. 所有的操作都是无状态的(stateless)

资源控制器可让你无痛建立和资源相关的 RESTful 控制器。例如,你可能希望创建一个控制器,它可用来处理针对你的应用程序所保存相片的 HTTP 请求。

[TOC]

使用

创建资源控制器

设置路由规则

我们注册一个指向此控制器的资源路由:

此单一路由声明创建了多个路由,用来处理各式各样和相片资源相关的 RESTful 行为。同样地,产生的控制器已有各种和这些行为绑定的方法,包含用来通知你它们处理了那些 URI 及动词。

说明

路由说明

由资源控制器处理的行为

代码

伪造方法

由于HTML表单不能发起PUT、PATCH和DELETE请求,需要添加一个隐藏的 _method 字段来伪造HTTP请求方式,辅助函数 method_field 可以帮我们做这件事:

系统会生成表单


All versions of route with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4.0
houdunwang/config Version ~1.0
houdunwang/cache Version ~1.0
houdunwang/request Version ~1.0
houdunwang/container Version ~1.0
houdunwang/curl Version ~1.0
houdunwang/middleware Version ~1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package houdunwang/route contains the following files

Loading the files please wait ....