Base

คลาสแม่ของ Framework

\Somtum\Base

เป็นคลาสหลักที่แทบจะทุกๆคลาสต้องสืบทอดมาจากคลาสนี้ เนื่องจากเป็นคลาสที่ใช้เก็บตัวแปรของระบบไว้ หากคลาสที่สร้างขึ้นไม่ได้สืบทอดมาจากคลาสนี้ จะไม่สามารถเข้าถึงตัวแปรของระบบได้ ยกตัวอย่างการสร้างคลาส \App\Me ที่มีการสืบทอดมาจาก \Somtum\Base

namespace App;

class Me extends \Somtum\Base
{
  public function index()
  {
    echo self::$cfg->web_title; // แสดง Somtum
    echo self::$cfg->timezone; // แสดง Asia/Bangkok (ค่าติดตั้งนี้อยู่ใน \Somtum\Config)
  }
}

จะเห็นว่าเราสามารถที่จะเข้าถึงตัวแปรของ Framework ได้

และหากสร้างคลาส \App\Me โดยที่ไม่สืบทอดมาจาก \Somtum\Base เมื่อต้องการที่จะเข้าถึงตัวแปรของ Framework จะเกิดข้อผิดพลาด Access to undeclared static property $cfg หรือหมายถึงไม่สามารถเข้าถึงตัวแปร $cfg ได้นั่นเอง

class Me
{
  public function index()
  {
    echo self::$cfg->web_title; // Fatal error: Access to undeclared static property $cfg
  }
}
^