为啥在 Codeigniter 中使用 Slug?

Posted

技术标签:

【中文标题】为啥在 Codeigniter 中使用 Slug?【英文标题】:Why use Slug in Codeigniter?为什么在 Codeigniter 中使用 Slug? 【发布时间】:2018-04-30 21:32:39 【问题描述】:

我有那个代码。我不明白他们为什么使用蛞蝓。有人可以开飞机吗? 我搜索slug是什么意思。我认为它就像一个变量,我可以猜测它的名字。但是蛞蝓的重要性是什么? yazi_model.php 模型->

<?php
    class Yazi_model extends CI_Model
        public function __construct()
            $this->load->database();
        

        public function getir_yazilar($slug = FALSE) //why slug should be false? why we use slug for it?
            if($slug === FALSE) //is this 'if' is necessary? I can just write last code and it will work.
                $query = $this->db->get('yazilar'); 
                return $query->result_array(); 
            
            $query = $this->db->get_where('yazilar',array('slug' => $slug));//why slug?
            return $query->row_array();
    

Yazilar.php 控制器->

<?php
    class Yazilar extends CI_Controller 
        public function index() //why not use slug
            $veri['baslik'] = 'Son yazılar';
            $veri['yazilar'] = $this->yazi_model->getir_yazilar();
            $this->load->view('tema/header');
            $this->load->view('yazilar/index',$veri);
            $this->load->view('tema/footer');
        

        public function detay($slug = NULL) //why slug
            $veri['yazi'] = $this->yazi_model->getir_yazilar($slug); //why slug
            if(empty($veri['yazi']))
                show_404();
            

            $veri['baslik'] = $veri['yazi']['baslik'];
            $this->load->view('tema/header');
            $this->load->view('yazilar/detay',$veri);
            $this->load->view('tema/footer');
        
    

【问题讨论】:

Using slugs in codeigniter的可能重复 实用类:github.com/ericbarnes/CodeIgniter-Slug-Library 【参考方案1】:

Slug 可用于获取 SEO 友好的网址。

例如: 来自:

www.site.com/index.php/blog/view/8

收件人:

www.site.com/index.php/blog/view/blog-name

将 slug 存储在我的数据库表中,在名为 slug 的列中,然后找到包含 slug 的帖子,如下所示:

    public function view($slug)

    $query = $this->db->get_where('posts', array('slug' => $slug), 1);

    // Fetch the post row, display the post view, etc...

【讨论】:

以上是关于为啥在 Codeigniter 中使用 Slug?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置动态路由以在 CodeIgniter 中使用 slug?

如何在CodeIgniter中设置动态路由以使用slug?

我想使用 CodeIgniter 在我的函数中添加 slug 但我的代码不起作用

Codeigniter - SEO 友好的 URL 结构(Slug 实现)

在 codeigniter 中实现 slug

Codeigniter 博客应用程序:避免 slug 的重复输入错误