`

TP5 URL和路由

阅读更多

application\index\controller\Index.php

<?php
namespace app\index\controller;
class Index extends Controller
{
     public function hello($name = 'World')
    {
        return 'Hello,' . $name . '!';
    }
}

 

application\index\controller\Blog.php

<?php
namespace app\index\controller;
class Blog
{
    public function get($id)
    {
        return '查看id=' . $id . '的内容';
    }
    public function read($name)
    {
        return '查看name=' . $name . '的内容';
    }
    public function archive($year, $month)
    {
        return '查看' . $year . '/' . $month . '的归档内容';
    }
}

 

application\route.php 路由配置

<?php
return [
	//http://tp5.com/hello 输出:Hello,World!
    //http://tp5.com/hello/onestopweb 输出:Hello,onestopweb!
    //'hello/[:name]' => 'index/hello',
    //http://tp5.com/hello.html 输出:Hello,World!
    //http://tp5.com/hello/onestopweb.html 输出:Hello,onestopweb!
    'hello/[:name]' => ['index/hello', ['method' => 'get', 'ext' => 'html']],
    
    //http://tp5.com/blog/5 输出:查看id=5的内容
    //'blog/:id'          => ['blog/get', ['method' => 'get'], ['id' => '\d+']],
    //http://tp5.com/blog/onestopweb 输出:http://tp5.com/blog/onestopweb
    //'blog/:name'        => ['blog/read', ['method' => 'get'], ['name' => '\w+']],
    //http://tp5.com/blog/2015/05 输出:http://tp5.com/blog/2015/05
	//'blog/:year/:month' => ['blog/archive', ['method' => 'get'], ['year' => '\d{4}', 'month' => '\d{2}']],
	//http://tp5.com/blog-2015-06 输出:http://tp5.com/blog-2015-06
    //'blog-<year>-<month>' => ['blog/archive', ['method' => 'get'], ['year' => '\d{4}', 'month' => '\d{2}']],
    
    // 全局变量规则定义
    '__pattern__'         => [
        'name'  => '\w+',
        'id'    => '\d+',
        'year'  => '\d{4}',
        'month' => '\d{2}',
    ],
    // 路由规则定义
    //http://tp5.com/blog/5 输出:查看id=5的内容
    'blog/:id'            => 'blog/get',
    //http://tp5.com/blog/onestopweb 输出:http://tp5.com/blog/onestopweb
    'blog/:name'          => 'blog/read',
    //http://tp5.com/blog-2015-06 输出:http://tp5.com/blog-2015-06
    'blog-<year>-<month>' => 'blog/archive',
    
	// 定义了局部变量规则
	//http://tp5.com/blog/onest 大于等于长度5 输出:查看name=onest的内容
    //'blog/:name'          => ['blog/read', ['method' => 'get'], ['name' => '\w{5,}']],
    
    //提示:
    //http://tp5.com/blog/5.html 等于同:http://tp5.com/blog/5 输出:查看id=5的内容
];

 

 

 

 

 

 

 

 

1
1
分享到:
评论

相关推荐

    TP5url短链接生成与跳转

    TP5短链接生成与跳转,短链接生成 地址:http://t.cn/setshorturl.html?sign=xxxxxxxxxxxxxxxxx post参数: urls 原链接地址 必填 title 描述信息 非必填 返回值: { "status": 0, "msg": "短链接生成成功", "data":...

    tp5 转盘抽奖 +随意设置机率和奖品

    五、URL路由 在TP5中,通过定义路由规则,可以实现URL的美化和控制,例如`http://localhost/lpcj/`可能是抽奖首页的路由,通过访问这个URL,用户可以直接进入抽奖页面。 六、安全性与优化 1. **安全性**:对用户...

    tp5.1 框架路由操作-URL生成实例分析

    ThinkPHP 5.1框架的路由操作是开发者构建Web应用时不可或缺的一部分,它允许开发者定义URL路径如何映射到相应的控制器和操作。在这一框架中,URL的生成是路由操作中的重要组成部分,它使得开发者可以轻松地构建指向...

    php tp5 入门

    1. URL路由:通过配置路由规则,实现URL与控制器方法的灵活映射,提高代码可读性。 2. 自动加载:支持PSR-4规范,自动加载类库,无需手动require或include。 3. 快速开发:提供丰富的内置组件,如Session、Cookie、...

    tp5通用后台.zip

    TP5的路由系统灵活强大,支持正则表达式,可以方便地定义和重定向URL,使得后台接口设计更加清晰和规范。这在通用后台系统中尤为重要,因为它需要处理各种不同类型的请求和响应。 5. 视图模板引擎 TP5内置了模板...

    TP5路由完全指南.7z

    《ThinkPHP5路由完全指南》是一份详尽的教程,旨在帮助开发者深入理解和熟练掌握ThinkPHP5框架中的路由系统。路由在Web开发中扮演着核心角色,它负责将URL请求映射到相应的处理函数或控制器,是应用架构的重要组成...

    TP5完全开发手册

    总的来说,《TP5完全开发手册》提供了一个全面的知识体系,覆盖了ThinkPHP5.0框架的方方面面,是开发者进行ThinkPHP项目开发不可或缺的参考手册。不过,手册本身不代替教程,而是作为工具参考使用。对于新手来说,...

    TP5开发手册

    - **URL访问**:讲解了如何设置URL路由规则以实现不同的功能调用。 #### 三、TP5框架的核心组件 - **命名空间**:解释了如何使用命名空间来组织代码,以及命名空间的作用。 - **自动加载**:介绍了如何配置自动加载...

    tp5框架的使用

    路由是定义URL到控制器方法的映射,TP5支持RESTful风格的路由,方便构建API。 2. **模型**:模型层是MVC架构的一部分,用于处理业务逻辑和数据操作。TP5提供了一套完整的ORM(对象关系映射)系统,可以方便地进行...

    thinkphp_TP5_

    TP5的路由机制使得URL管理和控制器方法的映射更加灵活。`Route`类是路由管理的核心,它允许开发者定义RESTful风格的路由规则,支持条件判断、参数绑定和命名路由等高级特性。 2. **MVC模式**: TP5遵循Model-View...

    tp5框架完整版

    3. **路由(Routing)**:TP5提供了强大的路由系统,支持正则匹配,可以灵活地配置URL和处理函数之间的映射。 4. **模型(Model)**:模型层负责处理数据操作,与数据库进行交互,支持AR(Active Record)模式,简化...

    TP5 请求信息和页面跳转

    TP5还提供了强大的路由系统,允许开发者根据请求信息执行不同的操作,实现灵活的URL映射和参数处理。 接下来,我们讨论页面跳转。在Web开发中,页面跳转通常用于改变用户浏览器的当前URL,引导用户访问其他页面或...

    TP5 用户的页面操作

    1. **路由(Routing)**:TP5 使用路由来定义 URL 和控制器方法之间的映射关系。通过路由,你可以灵活地设置不同 URL 地址对应不同的页面处理逻辑。例如,`Route::get('user/login', 'UserController@login')` 将 '/...

    以小程序初识tp5.rar

    3. **路由系统**:tp5的路由系统允许开发者定义URL到特定控制器和方法的映射,使得URL结构更加清晰,同时也方便了API的设计和RESTful风格的应用开发。 4. **微信小程序开发**:微信小程序是一种无需下载安装即可...

    tp5权限管理Demo

    1. **路由(Routing)**:tp5通过路由规则将URL映射到控制器方法,权限管理首先需要定义哪些路由需要进行权限验证。 2. **中间件(Middleware)**:tp5的中间件机制允许在请求到达控制器之前执行特定的逻辑,比如...

    ThinkPHP5快速入门和路由完全指南和数据库模型掌握

    - **基础路由**:掌握URL路由的基本概念,如资源路由、命名路由、变量规则等。 - **路由分组**:了解如何通过路由分组来组织和简化路由规则。 - **路由别名**:学习为路由定义别名,使得URL更加友好。 - **控制...

    tp5+avant响应式布局实战

    - TP5基于单一入口模式,通过路由管理请求,实现URL与控制器方法的映射。 - MVC(Model-View-Controller)设计模式,将业务逻辑、数据和用户界面分离,提高代码可维护性。 - 命令行工具(artisan类似)用于生成...

    tp5适合初学者学习,完整资源包【程序数据库静态资源】

    2. **路由系统**:TP5的路由规则灵活,可以方便地定义URL与控制器方法的映射,提高应用程序的可定制性。初学者需掌握如何配置和使用路由规则。 3. **数据库操作**:TP5内置了ActiveRecord模式的数据库操作工具,...

Global site tag (gtag.js) - Google Analytics