บ่อยครั้งที่ฉันต้องเข้าถึง$config
ตัวแปรในมุมมอง load->view()
ฉันรู้ว่าฉันสามารถผ่านพวกเขาจากการควบคุม แต่ดูเหมือนว่าจะมากเกินไปที่จะทำอย่างชัดเจน
มีวิธีหรือเคล็ดลับในการเข้าถึง$config
ตัวแปรจากมุมมอง CI โดยไม่รบกวนตัวควบคุมด้วยรหัสสำรองหรือไม่?
บ่อยครั้งที่ฉันต้องเข้าถึง$config
ตัวแปรในมุมมอง load->view()
ฉันรู้ว่าฉันสามารถผ่านพวกเขาจากการควบคุม แต่ดูเหมือนว่าจะมากเกินไปที่จะทำอย่างชัดเจน
มีวิธีหรือเคล็ดลับในการเข้าถึง$config
ตัวแปรจากมุมมอง CI โดยไม่รบกวนตัวควบคุมด้วยรหัสสำรองหรือไม่?
คำตอบ:
$this->config->item()
ใช้งานได้ดี
ตัวอย่างเช่นหากไฟล์กำหนดค่ามี$config['foo'] = 'bar';
แล้ว$this->config->item('foo') == 'bar'
นอกจากนี้ฟังก์ชัน Common ยังconfig_item()
ทำงานได้ทุกที่ในอินสแตนซ์ CodeIgniter ตัวควบคุมโมเดลมุมมองไลบรารีตัวช่วยตะขออะไรก็ได้
config_item()
ไม่มีระบบป้องกันการชนซึ่งมีอยู่ใน$this->config->item()
คุณสามารถทำสิ่งนั้นได้:
$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');
$this->config->item('config_var')
ไม่ได้ผลสำหรับกรณีของฉัน
ฉันสามารถใช้config_item('config_var');
ตัวแปรเพื่อสะท้อนในมุมมองเท่านั้น
คอนโทรลเลอร์ของคุณควรรวบรวมข้อมูลทั้งหมดจากฐานข้อมูลการกำหนดค่า ฯลฯ มีหลายเหตุผลที่ดีที่จะยึดติดกับสิ่งนี้ เหตุผลที่ดีประการหนึ่งก็คือสิ่งนี้จะช่วยให้คุณเปลี่ยนแหล่งที่มาของข้อมูลนั้นได้ค่อนข้างง่ายและไม่ต้องทำการเปลี่ยนแปลงมุมมองของคุณ
เมื่อใดก็ตามที่ฉันต้องการเข้าถึงตัวแปร config ฉันมักจะใช้: $ this-> config-> config ['variable_name'];
echo $this->config->config['ur config file']
หากไฟล์กำหนดค่าของคุณมาพร้อมกับรูปภาพคุณต้องเข้าถึงเช่นนี้เช่นฉันรวม app.php ในโฟลเดอร์ config ฉันมีตัวแปร
$config['50001'] = "your message"
ตอนนี้ฉันต้องการเข้าถึงในคอนโทรลเลอร์หรือรุ่นของฉัน
ลองทำตามสองกรณีหนึ่งควรได้ผล
กรณีที่ 1:
$msg = $this->config->item('ur config file');
echo $msg['50001']; //out put: "your message";
กรณีที่ 2:
$msg = $this->config->item('50001');
echo $msg; //out put: "your message"
$config['cricket'] = 'bat';
ในไฟล์ config.php
$this->config->item('cricket')
ใช้สิ่งนี้ในมุมมอง
หากคุณกำลังพยายามเข้าถึงตัวแปร config เข้าสู่คอนโทรลเลอร์มากกว่าใช้
$this->config->item('{variable name which you define into config}');
หากคุณพยายามเข้าถึงตัวแปร config จากภายนอกคอนโทรลเลอร์ (ตัวช่วย / hooks) ให้ใช้
$mms = get_instance();
$mms->config->item('{variable which you define into config}');
ตัวอย่างหากคุณมี:
$config['base_url'] = 'www.example.com'
ตั้งค่าในconfig.phpของคุณแล้ว
echo base_url();
สิ่งนี้ได้ผลดีเกือบทุกสถานที่