所以我有這個IF語句在我看來。它工作和所有,但想知道是否有更好的方式來寫這個。兼具會議通話似乎不必要...IF會議陳述 - 格式Q
if($this->session->userdata('campaign_name')){
echo $this->session->userdata('campaign_name');
}
else {
echo 'this';
}
注意這個功能將內嵌在文字輸入使用。所以我正在尋找儘可能最少的代碼。
所以我有這個IF語句在我看來。它工作和所有,但想知道是否有更好的方式來寫這個。兼具會議通話似乎不必要...IF會議陳述 - 格式Q
if($this->session->userdata('campaign_name')){
echo $this->session->userdata('campaign_name');
}
else {
echo 'this';
}
注意這個功能將內嵌在文字輸入使用。所以我正在尋找儘可能最少的代碼。
請注意,如果不存在campaign_name
,則CI的Session類的userdata方法將返回false。因此,一個變量分配給潛在未定義陣列密鑰(CAMPAIGN_NAME)
$campaign_name = $this->session->userdata('campaign_name');
if($campaign_name)
{
echo $campaign_name;
}
else
{
echo 'this';
}
OR
if($campaign_name = $this->session->userdata('campaign_name'))
{
echo $campaign_name;
}
控制器方法(/application/controllers/test_controller.php)
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Test_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
public function myFunction()
{
$data['campaign_name'] = $this->session->userdata('campaign_name');
$this->load->view('test_view',$data);
}
}
查看(/application/view/test_view.php )
<html>
<head></head>
<body>
<input type="text" value="<?php echo $campaign_name; ?>">
</body>
</html>
在您的控制器中,您可以將該會話數據的值存儲到變量中,並將其傳遞給視圖。在視圖中,你可以使用if語句來查看變量。我建議不要在RPM中設置視圖中的變量。雖然它有效,但它打破了你所關心的問題的分離。
此外,請使用alternative PHP syntax查看CodeIgniter中的視圖。它會讓你的代碼更整潔,更易於維護。
編輯:我現在看到RPM已經更新了他的答案,以在控制器中設置變量。這是一個很好的例子。
謝謝我可能會這樣做......並且我已經在使用其他PHP語法......很多CI的憎恨......我沒有。 –
老實說我不喜歡使用替代PHP語法 –
我自己並沒有完全使用它......只是刪除'php'標籤真的 –
謝謝。內聯選項最適合什麼? (即在文本輸入上)。試圖避免所有這些內聯函數的代碼。 –
@MikeBarwick最好是在控制器中進行控制。 –
不錯......我知道控制器路線......這將是理想的解決方案。我會錘鍊這個。乾杯!!! –