📅  最后修改于: 2023-12-03 15:04:55.926000             🧑  作者: Mango
在 CodeIgniter 中,路由是指将 URL 映射到特定的控制器和方法的过程,是 MVC 架构中的一部分。路由的实现有助于构建面向对象的程序设计。本文将介绍 CodeIgniter 中的路由。
在 CodeIgniter 中,路由的配置文件在 application/config/routes.php
中。该配置文件允许您自定义路由规则,将 URL 进行重写、将参数传递给控制器方法等。
控制器是指处理请求的类,在 CodeIgniter 中,所有的控制器都存储在 application/controllers
目录下。例如,application/controllers/Welcome.php
是一个名为 Welcome
的控制器。每个控制器都是一个类,控制器中的方法是类中的一个函数。
URL(统一资源定位符)用于定位资源(例如 Web 页面、CSS 文件、图像等),通常由计算机网络中使用的方案传输协议(如 HTTP、FTP)和资源的名称或地址组成。在网站开发中,URL 通常用于表示客户端需要访问的页面或资源。
CodeIgniter 中的路由规则支持正则表达式,可用于匹配包含参数的 URL,并将这些参数传递给控制器或方法。
路由规则语法如下:
$route['url'] = 'controller/method';
其中,url
是 URL,controller/method
是将处理该 URL 的控制器和方法。比如,将 URL /home
映射到 Home
控制器的 index
方法,可以使用以下语法:
$route['home'] = 'Home/index';
为了将参数传递给控制器或方法,使用 (:num)
表示数字参数,使用 (:any)
表示字符串参数。例如:
$route['product/(:num)'] = 'catalog/product_lookup_by_id/$1';
该路由规则将 URL /product/123
映射到 catalog
控制器的 product_lookup_by_id
方法,并将 123
作为方法参数传递。
路由规则中可以使用 PHP 正则表达式进行高级匹配。例如:
$route['product/([a-z]+)'] = 'catalog/product_lookup_by_name/$1';
该路由规则将 URL /product/red-shoes
映射到 catalog
控制器的 product_lookup_by_name
方法,并将 red-shoes
作为方法参数传递。
路由是 web 开发中不可或缺的概念之一,CodeIgniter 的路由功能为处理复杂 URL 提供了便利。在开发过程中,我们可以灵活使用路由功能,根据业务需求实现自定义路由规则。
参考链接: