讓我們選擇我們的問候 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 傳遞引數的更多資訊,你可能需要檢視路由主題!