讓我們選擇我們的問候 Hello World 或 Good Bye World 或......

假設我們想要一個可以通過不同的 URL 訪問的替代問候語。我們可能會為此建立一個新功能甚至是一個新的控制器,但最佳做法是優化我們已有的功能,使其最佳工作!

為此,我們將保持與前面示例中相同的檢視,但我們將向我們的函式引入一個引數,以便它能夠在兩個不同的問候語之間進行選擇:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {
    
    public function __construct() {
        parent::__construct();
    }

    public function greetings($my_greetings){
        switch($my_greetings)
        {
            case 'goodbye':
                $say = 'Good Bye World';
            break;
            case 'morning':
                $say = 'Good Morning World';
            break;
            default:
                $say = 'Hello World';
        }
        $data = array('greetings'=>$say);
        $this->load->view('hello_world',$data);
    }
}

現在我們有多個問候選項! 為了使它們視覺化,我們將在 URL 中新增引數,如下所示:

http://[your_domain_name]/hello_world/greetings/goodbye

這將向我們展示資訊:再見世界

URL 的結構如下:

http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]

在這種情況下,為了回到我們舊的 Hello World,只需呼叫前一個 url,不帶引數:

http://localhost/hello_world/greetings

你可以向函式新增多個引數(例如,如果你需要其中 3 個引數):

public function greetings($param1,$param2,$param3)

並且可以使用以下網址填寫它們:

http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]

例如 http://localhost/hello_world/greetings/goodbye/italian/red

這樣,你可以直接從 URL 傳遞給你的引數將影響將要顯示的內容。

要了解有關如何通過 URL 傳遞引數的更多資訊,你可能需要檢視路由主題!