gpt4 book ai didi

php - 使用 CI(路由)创建动态页面 URL——一个简单的留言板示例

转载 作者:行者123 更新时间:2023-12-04 14:45:34 25 4
gpt4 key购买 nike

我觉得我在 CI 方面有足够的经验,终于可以开始胡思乱想创建一个留言板了……或者至少我是这么想的,直到我陷入基于主题名称(slugs)生成动态页面的困境。

因此,我创建了 Controller /模型/ View 并设置了一个表单,用于向数据库提交必要的信息。我拉出线程并显示它们,并根据主题标题为每个线程生成一个链接……我基本上遵循了 CI 教程,根据我的需要对其进行编辑。

但是,理解生成动态页面 URL 的概念让我失望。通过确切地听到过程中发生的事情,我理解得更好,而 codeigniter 教程(新闻)并没有很好地解释它。它只是告诉你做什么和怎么做,而不是为什么。

任何人都愿意尝试更详细地解释动态页面编码的过程。

动态页面的意思是:

http://your-site.com/news/1/hello-worldhttp://your-site.com/news/1/foo-bar

hello world 和 foo bar.

下面是一些让我感到困惑的部分:

<?php

class Pages extends CI_Controller {

public function view($page = 'home')
{

}
}

这是路由

$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';

$1 代表什么?有没有具体的网址?你什么时候用2美元?它是内置于 CI 的代码中,还是可以使用任何变量?

我相信答案会更详细,但如果有人能回答上面的一些问题,我相信会很有帮助。

在回答了这些问题后,理论上应该如何为论坛线程生成新页面?

谢谢!

最佳答案

what does $1 represent? Any specific url that there? When would you use $2? Is it built in code to CI, or can you use any variable?

$1 表示对通配符 (:any) 创建的变量的引用。没有 $2,因为您只有一个通配符。

如果您创建这样的路由,您将拥有第二个通配符:

$route['pages/(:num)/(:any)'] = 'pages/$1/$2';

话虽如此,你问题中的路由设置有点违背了 CI 的 MVC 架构和路由系统的目的,因为你将所有路由重定向到 pages/views,我很确定你想要这样的东西:

$route['default_controller'] = 'pages/view';
$route['pages/view/(:any)'] = 'pages/view/$1';

关于php - 使用 CI(路由)创建动态页面 URL——一个简单的留言板示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9788114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com