posted on 15 Jul 2009 14:02 by kongoon
สำหรับ CakePHP การสร้างตารางในฐานข้อมูลนั้นมีธรรมเนียมการสร้างดังนี้
1.ชื่อตารางต้องเป็นพหูพจน์ลงท้ายด้วย s หรือ es
2.ชื่อ Field แรก ต้องเป็น id และเป็น Auto increment
3.ชื่อ Field ที่เป็น Foreign Key ต้องเป็นชื่อตารางที่เป็นเอกพจน์ต่อด้วย _ แล้วตามด้วย id เช่น content_id
posted on 15 Jul 2009 14:01 by kongoon
View เป็นส่วนที่แสดงออกมาให้ผู้ใช้เห็น โดยมีการส่งค่าตัวแปรออกมาจาก action set ใน controller
ไฟล์ app/views/contents/index.ctp
<?php
print_r($contents);
?>
ธรรมเนียมการเขียน View
1. ชื่อไฟล์จะต้องมีชื่อตาม action ใน controller
2. ไฟล์ จะต้องอยู่ใน folder ที่มีชื่อเดียวกันกับ controller อยู่ใน app/views แต่เป็นตัวอักษรตัวเล็ก เช่น app/views/contents/index.ctp
posted on 15 Jul 2009 14:00 by kongoon
ก่อนอื่นมาเรียนรู้การเขียน Controller ก่อน เพื่อให้เข้าใจง่าย เนื่องจาก Controller เป็น Business Logic หลักของโปรแกรมที่เราต้องการสร้างขึ้น พูดง่ายๆ ว่าเป็น Logic ของโปรแกรมหรือลำดับการทำงานของโปรแกรมที่เราจะเขียนขึ้น โดย Controller เป็นตัวกลางระหว่าง Model กับ View
Controller แปลง่ายๆ ก็คือ ตัวควบคุมนั่นเอง ใน CakePHP Controller เป็นตัวควบคุมการไหลของข้อมูลระหว่างผู้ใช้ในส่วนของ View กับส่วนที่ติดต่อฐานข้อมูลในส่วนของ Model
ในบทที่แล้วเราได้ทำการ เชื่อมต่อกับฐานข้อมูลแล้วคราวนี้เรามาเริ่มเขียน Controller กันก่อน โดยใช้ Text Editor ที่ถนัดเช่น Editplus
ไฟล์ app/controllers/contents_controller.php
<?php
class ContentsController extends AppController{
var $name= ‘Contents’;
function index(){
$this->set(‘contents’,$this->Content->find(‘all’)); //ส่งค่าให้แก่ view โดยกำหนดค่าให้กับตัวแปร contents
}
}
?>
ธรรมเนียมการเขียน Controller
1. ชื่อไฟล์ต้องเป็นพหูพจน์คั่นด้วย _ (Underscore) และอยู่ใน app/controllers
2. ชื่อ Class ต้องเป็นพหูพจน์ที่เขียนแบบ CamelCase และ สืบทอด(extends) จาก AppController
3. ต้องมีการกำหนดตัวแปร $name ให้มีชื่อเดียวกับ Class
4. Method ใน Controller ให้เรียกว่า “Action” โดยมี Action เริ่มต้นคือ index() ที่เมื่อเรียก controller ทุก controller จะเรียก index() อัตโนมัติ