คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2


ทางเลือกการเขียนไวยากรณ์ PHP สำหรับไฟล์ View

ถ้าคุณไม่ได้ใช้ CodeIgniter's template engine คุณก็จะใช้ได้เพียง PHP เพียงอย่างเดียวในไฟล์ View (ส่วนแสดง) ในการลดการใช้โค้ด PHP ในไฟล์เหล่านี้และทำให้ง่ายต่อการค้นหาส่วนของโค้ดเราแนะนำให้คุณใช้ตัวเลือกของ PHP สำหรับไวยากรณ์ควบคุมโครงสร้างและการใช้ echo แบบสั้น ถ้าคุณไม่คุ้นกับไวยการณ์แบบนี้ มันทำให้คุณลบเครื่องหมายปีกกาไปจากโค้ดและรวมถึงลบการเขียนคำสั่ง "echo" ได้

สนับสนุนการใช้ลักษณะแบบสั้นแบบอัตโนมัติ

ข้อสังเกตุ: ถ้าคุณพบว่าไวยากรณ์ในหน้าที่อธิบายอยู่นี้ไม่สามารถใช้กับเซิร์ฟเวอร์ของคุณได้ มันอาจหมายถึงคุณสมบัติ "ลักษณะแบบสั้น (short tags)" ถูกปิดอยู่ในไฟล์ PHP.ini. CodeIgniter จะเขียนใหม่เองอย่างอัตโนมัติ เพื่อให้คุณสามารถใช้ไวยากรณ์นี้โดยแม้แต่เครื่องเซิร์ฟเวอร์ของคุณไม่สนับสนุนเลยก็ตาม โดยคุณสมบัตินี้สามารถถูกเปิดได้ในไฟล์ config/config.php

โดยสังเกตุว่าถ้าคุณใช้คุณสมบัตินี้ แล้วคุณพบข้อผิดพลาดภายในไฟล์ View ข้อความข้อผิดพลาดและบันทัดที่ผิดพลาดจะโชว์ขึ้นมาแทนที่ทุกข้อผิดพลาดที่ปกติถูกโชว์จาก ข้อผิดพลาดของ eval()

ทางเลือก Echos

โดยปกติเวลาใช้ echo หรือ print ค่าของตัวแปรออกมาเราจะทำแบบนี้

<?php echo $variable; ?>

ด้วยทางเลือกไวยากรณ์เราสามารถแบบนี้ได้ (ไม่จำเป็นต้องเป็น CodeIgniter ถึงจะทำได้ด้วย ถ้าเซิร์ฟเวอร์ได้เปิดสนับสนุน short tags)

<?=$variable?>

ทางเลือการควบคุมโครงสร้าง

การควบคุมโครงสร้าง เช่น if, for, foreach, และ while สามารถถูกเขียนได้ด้วยรูปแบบที่เรียบง่ายได้ด้วย นี้คือตัวอย่างการใช้งาน foreach

<ul>

<?php foreach($todo as $item): ?>

<li><?=$item?></li>

<?php endforeach; ?>

</ul>

สังเกตุว่าไม่มีเครื่องหมายปีกกา และแทนที่จะใช้ปีกกาปิดเราใช้แทนด้วยคำว่า endforeach โดยการควบคุมโครงสร้างด้านบนเหมือนการใช้การปิดไวยาการณ์อื่นๆ endif, endfor, endforeach, และ endwhile

ข้อสังเกตุอีกนิดแทนที่เราจะใช้ semicolon(;) หลังจากแต่ละโครงสร้าง (ยกเว้นอันสุดท้าย), เราใช้ colon(:) ซึ่งสิ่งนี้เป็นสิ่งสำคัญ!

นี้คืออีกตัวอย่างหนึ่งของการใช้ if/elseif/else. สังเกตุที่ colon(:)

<?php if ($username == 'sally'): ?>

   <h3>Hi Sally</h3>

<?php elseif ($username == 'joe'): ?>

   <h3>Hi Joe</h3>

<?php else: ?>

   <h3>Hi unknown user</h3>

<?php endif; ?>