Kohana Introduce : สอน function ของ Introduce, เรียน function ของ Introduce
 

Reference

Reference ในเว็บไซต์ Function.in.th เป็นการนำเสนอความรู้ในรูปแบบของแหล่งอ้างอิงของคำสั่งต่าง ๆ ที่ใช้ในการเขียนโปรแกรม โดยผู้ที่สนใจสามารถเข้ามาเรียนรู้การใช้งานคำสั่งของการเขียนโปรแกรมเหล่านี้ได้ ผ่านทาง URL code.function.in.th ทั้งนี้ผู้อ่านยังสามารถร่วมแสดงความคิดเห็นบนเนื้อหาที่มีสอนได้ ซึ่งถือเป็นการส่งเสริมให้มีการแลกเปลี่ยนประสบการณ์และความรู้ระหว่างผู้อ่านด้วยกันเอง
  • Controllers เงื่อนไขของ controller
    Models เงื่อนไขของ model
    Views เงื่อนไขของ view
    Library เงื่อนไขของ library
    Helpers เงื่อนไขของ helper
    Hooks เงื่อนไขของ hook
    Error Handling เงื่อนไขของ Error Handling
  • subject :
    Controllers

    content :
    เงื่อนไขของ controllers ดังนี้
    - ต้องเก็บอยู่ใน folder "application/controllers/"
    - ชื่อ file ต้องเป็น "ตัวพิมพ์เล็ก" ทั้งหมด ( lower case )
    - ชื่อ class ต้องเหมือน ชื่อ file แต่จะต้องขึ้นต้นด้วย ตัวพิมพ์ใหญ่ ( upper case ) และต้องตามด้วย "_Controller"
    - ต้องสืบทอดจากคลาส Controller
    - method ที่ขึ้นต้นด้วย "_" จะไม่สามรถถูกเรียกใช้ผ่าน URL ได้
    
    - method index() จะถูกเรียกใช้โดยอัตโนมัติ ในกรณีที่ URL ไม่กำหนดชื่อ method เอาไว้
    - method __call() จะถูกเรียกใช้โดยทันที ในกรณีที่ method ที่เรียกใช้ผ่าน URL ไม่มีอยู่จริง
      รูปแบบคือ __call ( $method, $arguments )
    - private method ไม่สามารถถูกเรียกใช้ผ่าน URL ได้ และนิยมขึ้นต้นด้วย "_"

  • subject :
    Models

    content :
    เงื่อนไขของ models ดังนี้
    - ต้องเก็บอยู่ใน folder "application/model/"
    - ชื่อ file ต้องเป็น "ตัวพิมพ์เล็ก" ทั้งหมด ( lower case )
    - ชื่อ class ต้องเหมือน ชื่อ file แต่จะต้องขึ้นต้นด้วย ตัวพิมพ์ใหญ่ ( upper case ) และต้องตามด้วย "_Model"
    - ต้องสืบทอดจากคลาส Model
    
    - ถ้าใน class ของ models มี constructor method และมีการเรียกใช้ constructor ของ class แม่
      ก็สามารถใช้ตัวแปร $this->db ซึ่งเป็น object ของ Libarry Database ได้ทันที

  • subject :
    Views

    content :
    เงื่อนไขของ views
    - view จะถูกเรียกใช้โดย controllers เท่านั้น โดยการสร้าง object จาก class view
      และส่ง parameter เป็น ชื่อไฟล์ ของ view ที่ต้องการ เช่น $view = new View ( "filename" );
      ( ชื่อไฟล์ ให้กำหนด path ตั้งแต่ application/view/ โดยไม่ต้องมี นามสกุล ของไฟล์ )
    - การส่งค่าข้อมูลไปยังหน้า view แสดงผล ทำได้โดยกำหนดผ่าน attribute ของ object view
      เช่น $view->title = "welcome to bamboolabcode.com";
      หรือ $view->set ( "title", "welcome to bamboolabcode.com" );
    - การสร้าง Object view นั้น เป็นเหมือนการกำหนดคำสั่งต่างๆลงไปเท่านั้น แต่ยังไม่มีการแสดงผลออกมา
      ถ้าจะให้มีการแสดงผลออกมาต้องใช้คำสั่ง $view->render ( true );

  • subject :
    Library

    content :
    เงื่อนไขของ library ดังนี้
    - ต้องเก็บอยู่ใน folder "application/libraries" และไม่สามารถสร้างไว้ใน folder ที่ซ้อนเข้าไปอีกได้
    - ชื่อ file ต้องขึ้นต้นด้วย "ตัวพิมพ์ใหญ่" เท่านั้น ( upper case )
    - ชื่อ class ต้องเหมือน ชื่อ file และต้องตามด้วย "_Core"
    - library ที่สร้างขึ้นมา สามารถ extends มาจาก library ที่ kohana มีให้อยู่แล้วได้ด้วย
    
    การสืบทอด library ที่ kohana มีให้อยู่แล้ว
    - ชื่อ file ของ class ลูก จะเหมือน ชื่อ file ของ class แม่ แต่จะต้องขึ้นต้นด้วย "MY_"
    - ชื่อ class ลูก จะเหมือน ชื่อ class แม่ แต่จะไม่มีคำว่า "_Core"

  • subject :
    Helpers

    content :
    เงื่อนไขของ Helpers ดังนี้
    - ต้องเก็บอยู่ใน folder "application/helpers/" และไม่สามารถสร้าง folder ซ้อนเข้าไปได้อีก
    - ชื่อ file ต้องเป็น "ตัวพิมพ์เล็ก" ทั้งหมด ( lower case )
    - ชื่อ class ต้องเหมือน ชื่อ file และต้องตามด้วย "_Core"
    - method ภายใน class ต้องเป็นแบบ static เท่านั้น
    - helper ที่สร้างขึ้นมา สามารถ extends มาจาก helper ที่ kohana มีให้อยู่แล้วได้ด้วย
    
    การสืบทอด helper ที่ kohana มีให้อยู่แล้ว
    - ชื่อ file ของ class ลูก จะเหมือน ชื่อ file ของ class แม่ แต่จะต้องขึ้นต้นด้วย "MY_"
    - ชื่อ class ลูก จะเหมือน ชื่อ class แม่ แต่จะไม่มีคำว่า "_Core"

  • subject :
    Hooks

    content :
    เกี่ยวกับ Hooks
    - hook เป็นไฟล์พื้นฐานที่จะถูก include ทันทีเมื่อเริ่มใช้ kohana โดย hooks จะถูก include ภายใน
      method ของ Kohana::setup() นอกจากนี้ยังมี file ที่ถูก include ทันทีเมื่อใช้ kohana อีก
      ได้แก่ index.php, core/Bootstrap.php, core/utf8.php, core/Benchmark.php,
      core/Event.php, core/Kohana.php
    
    เงื่อนไขของ Hooks
    - ต้องเก็บอยู่ใน folder "application/hooks" 
    - ต้องกำหนดค่า $config["enable_hooks"] = true; ( ภายใน file "application/config/config.php" )
    
    เทคนิคการใช้ Hooks อย่างมีประสิทธิภาพ
    - การที่เรากำหนด $config["enable_hooks"] = true; แล้ว จะทำให้มีการ include ไฟล์ทั้งหมดมา
      ซึ่งบางครั้งเราก็ไม่ได้ใช้ file hook ทั้งหมดนั้น จึงทำให้สิ้นเปลืองทรัพยากรโดยเปล่าประโยชน์ จึงควรใช้คำสั่ง
      Event::add ( "system.display", include_hook_file ); ไว้ใน controller
      ที่เป็น root เพื่อ include hook เท่าที่ต้องการใช้เท่านั้น

  • subject :
    Error Handling

    content :
    เงื่อนไขของ Error Handling
    - ต้องเก็บอยู่ใน folder "application/i18n/en_US/" ( en_US แทนด้วย th_TH หรืออะไรก็ได้ 
      แล้วแต่ภาษาที่เรากำหนด )
    - ภายใน file มีตัวแปร $lang เป็นแบบ array จำนวนกี่มิติก็ได้
    - ค่าข้อมูล สามารถมี "%s" ได้ คือจะถูกแทนด้วย argument ที่ส่งมา

 
Share This Chapter Login with Facebook