Home >Backend Development >PHP Tutorial >CI框架用户指南中的一个疑问

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

WBOY
WBOYOriginal
2016-06-06 20:43:27973browse

在学习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的翻译:“(标题等) 引人注意的语句,醒目的语句(或短语)”,其实就是每篇文章的导语或者简介。如果为空,说明这篇文章没有导语。

这是我的理解。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn