CodeIgniter:创建与使用控制器详解

需积分: 9 1 下载量 99 浏览量 更新于2024-10-13 收藏 3KB TXT 举报
"这篇教程主要介绍了CodeIgniter框架中控制器的创建与使用方法,通过实例讲解了如何创建控制器、调用方法以及理解URI处理机制。" 在CodeIgniter(CI)框架中,控制器是应用程序的核心部分,它们负责接收用户请求,并根据请求执行相应的操作。下面我们将详细探讨如何创建和使用控制器。 首先,让我们创建一个简单的控制器。在CI中,控制器文件通常存放在`application/controllers`目录下。例如,创建一个名为`blog.php`的文件,内容如下: ```php class Blog extends Controller { function Blog() { parent::Controller(); } function index() { echo '欢迎来到博客!'; } } ``` 这里的`Blog`类继承自`Controller`基类,这是CI中控制器的基础。`index()`方法是控制器中的默认方法,当访问`example.com/index.php/blog/`时,将会执行这个方法并显示"欢迎来到博客!"。 为了理解CI的URI路由,我们可以更改方法名称并观察如何通过URI调用。例如,如果我们添加一个新的方法`comments()`: ```php class Blog extends Controller { function Blog() { parent::Controller(); } function index() { echo 'Hello World!'; } function comments() { echo '查看这些评论!'; } } ``` 现在,我们可以通过`example.com/index.php/blog/comments/`来调用`comments()`方法,页面将显示"查看这些评论!"。 CI的URI分段机制允许我们传递参数。如`example.com/index.php/products/shoes/sandals/123`这样的URI,其中`shoes`、`sandals`和`123`分别对应控制器、方法和参数。要处理这种情况,我们可以创建一个`Products`控制器: ```php class Products extends Controller { function shoes($sandals, $id) { echo $sandals; echo $id; } } ``` 但是,如果URI中某些段是可选的,我们需要在方法定义中提供默认值,如下所示: ```php class Products extends Controller { function shoes($sandals = 'Test', $id = 1) { echo $sandals; echo $id; } } ``` 此外,CI还允许我们自定义URI路由,以实现更灵活的URL结构。这可以通过在`application/config/routes.php`文件中定义路由规则来实现。例如,你可以设置默认路由,使不指定控制器或方法的请求默认指向某个特定的方法: ```php $route['default_controller'] = 'welcome'; // 这将把未明确指定的请求重定向到'Welcome'控制器的默认方法 ``` CI的控制器提供了构建动态Web应用的结构,通过继承基类,我们可以创建自己的控制器并定义各种方法来处理不同的用户请求。同时,通过URI分段和路由配置,我们可以使应用程序的URL更加直观和用户友好。掌握这些基本概念对于理解和使用CodeIgniter框架至关重要。