首頁  >  文章  >  後端開發  >  CI框架用户指南中的一个疑问

CI框架用户指南中的一个疑问

WBOY
WBOY原創
2016-06-06 20:43:27927瀏覽

在学习CI框架的时候,看的是官方用户指南的简体中文翻译。教程中出现了slug一词,没有给出翻译,感觉难以理解。
slug是在读取新闻条目的这部分出现的,这一部分教程在这里:
http://codeigniter.org.cn/user_guide/tutorial/index.html

这个教程中有这么一段代码,用来显示添加上去的新闻条目,也就是展示数据了,说是在application/views/news/index.php中的代码为(教程页面http://codeigniter.org.cn/user_guide/tutorial/news_section.html):

<code><?php foreach ($news as $news_item): ?>

<h2><?php echo $news_item['title'] ?></h2>
<div class="main">
    <?php echo $news_item['text'] ?>
</div>
<p><a href="http://%5B%E4%BD%A0%E7%9A%84%E5%9F%9F%E5%90%8D%5D/index.php/news/<?php%20echo%20%24news_item%5B'slug'%5D%20?>">View article</a></p>
</code>

而我按照教程全部做完,包括后面一部分的“创建新闻条目”,然后打开浏览器访问创建新闻页面:http://192.168.56.101/ciguestbook/index.php/news/create(部署在虚拟机里面了),随便填了测试数据提交然后跳转到新闻展示页面http://192.168.56.101/ciguestbook/index.php/news/,有鼠标右键View Article这个链接后发现slug的值是空的!
CI框架用户指南中的一个疑问
没错,就是index.php中的

<code><p><a href="http://192.168.56.101/ciguestbook/index.php/news/<?php%20echo%20%24news_item%5B'slug'%5D%20?>">View article</a></p>
</code>

这一句里面的news_item['slug']是空的。对于slug本身的含义和在PHP中的含义感觉很迷惑,另外对于这里slug为空表示不解,slug既然为空为什么教程中要设定它呢?

回复内容:

在学习CI框架的时候,看的是官方用户指南的简体中文翻译。教程中出现了slug一词,没有给出翻译,感觉难以理解。
slug是在读取新闻条目的这部分出现的,这一部分教程在这里:
http://codeigniter.org.cn/user_guide/tutorial/index.html

这个教程中有这么一段代码,用来显示添加上去的新闻条目,也就是展示数据了,说是在application/views/news/index.php中的代码为(教程页面http://codeigniter.org.cn/user_guide/tutorial/news_section.html):

<code><?php foreach ($news as $news_item): ?>

<h2><?php echo $news_item['title'] ?></h2>
<div class="main">
    <?php echo $news_item['text'] ?>
</div>
<p><a href="http://%5B%E4%BD%A0%E7%9A%84%E5%9F%9F%E5%90%8D%5D/index.php/news/<?php%20echo%20%24news_item%5B'slug'%5D%20?>">View article</a></p>
</code>

而我按照教程全部做完,包括后面一部分的“创建新闻条目”,然后打开浏览器访问创建新闻页面:http://192.168.56.101/ciguestbook/index.php/news/create(部署在虚拟机里面了),随便填了测试数据提交然后跳转到新闻展示页面http://192.168.56.101/ciguestbook/index.php/news/,有鼠标右键View Article这个链接后发现slug的值是空的!
CI框架用户指南中的一个疑问
没错,就是index.php中的

<code><p><a href="http://192.168.56.101/ciguestbook/index.php/news/<?php%20echo%20%24news_item%5B'slug'%5D%20?>">View article</a></p>
</code>

这一句里面的news_item['slug']是空的。对于slug本身的含义和在PHP中的含义感觉很迷惑,另外对于这里slug为空表示不解,slug既然为空为什么教程中要设定它呢?

题主别着急采纳嘛,我来给出正确答案。

slug就是WordPress系统里的语义化的可自定义文章名式URL

我当时也很纳闷,查了一圈发现的。其实从url也可以看出来,跟在 /news 后面,不给一个唯一的表示怎么知道是哪个news嘛。

首先看看表结构

<code class="lang-sql">CREATE TABLE news (
  id int(11) NOT NULL AUTO_INCREMENT,
  title varchar(128) NOT NULL,
  slug varchar(128) NOT NULL,
  text text NOT NULL,
  PRIMARY KEY (id),
  KEY slug (slug)
);
</code>

说明每篇文章都有slug,再看看slug的翻译:“(标题等) 引人注意的语句,醒目的语句(或短语)”,其实就是每篇文章的导语或者简介。如果为空,说明这篇文章没有导语。

这是我的理解。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn