Kotchasan Framework Documentation
View Class - ระบบจัดการหน้าจอแสดงผล
View Class - ระบบจัดการหน้าจอแสดงผล
คลาส View เป็นคลาสพื้นฐานสำหรับการจัดการส่วนแสดงผล (View Layer) ของแอปพลิเคชัน ทำหน้าที่รวบรวมข้อมูล, กำหนด Header, Meta Tags, CSS, JavaScript และประมวลผล Template เพื่อแสดงผลเป็น HTML
Namespace
Kotchasan\Viewการทำงาน
คลาสนี้ทำงานร่วมกับระบบ Template โดยทำหน้าที่เป็นตัวกลางในการส่งข้อมูล (Data) ไปยัง Template และจัดการส่วนประกอบต่างๆ ของหน้าเว็บ เช่น <head> และ HTTP Headers
คุณสมบัติหลัก
- จัดการ Meta Data: เพิ่ม Meta tags, CSS, และ JavaScript ลงในส่วน
<head>ของ HTML - Variable Replacement: แทนที่ตัวแปรใน Template ด้วยข้อมูลที่กำหนด
- Response Handling: ส่ง HTTP Headers และแสดงผลเนื้อหา
Public Methods
create()
สร้าง Instance ของคลาส View
public static function create(): staticrenderHTML()
ประมวลผลและ Render HTML จาก Template
public function renderHTML(string|null $template = null): stringการทำงาน:
- แทนที่ตัวแปรพื้นฐาน:
{WEBTITLE},{WEBDESCRIPTION},{WEBURL},{SKIN} - แทรก Meta, CSS, JS ที่ถูกเพิ่มเข้ามาลงในแท็ก
<head> - แทนที่ตัวแปรอื่นๆ ที่กำหนดด้วย
setContents
setContents()
กำหนดค่าตัวแปรที่จะแทนที่ใน Template
public function setContents(array $array): voidExample:
$view->setContents([
'/{CONTENT}/' => 'เนื้อหาเว็บไซต์',
'/{FOOTER}/' => 'ส่วนท้าย'
]);setMetas() / setHeaders()
กำหนด Meta tags และ HTTP Headers
public function setMetas(array $array): void
public function setHeaders(array $array): voidaddCSS() / addJavascript() / addScript()
เพิ่มไฟล์ CSS, JS หรือโค้ด Script ลงในหน้าเว็บ
public function addCSS(string $url): void
public function addJavascript(string $url): void
public function addScript(string $script): voiduser-defined helpers
Utility functions สำหรับการเข้าถึงข้อมูลอย่างปลอดภัย
public static function array_value(array $array, string $key, mixed $default = ''): mixed
public static function object_value(object $source, string $key, mixed $default = ''): mixedback()
สร้าง URL สำหรับย้อนกลับ (Redirect Back) โดยจัดการ Query String ให้เหมาะสม (ตัด action login/logout ออก)
public static function back(array|string $f): stringoutput()
แสดงผลเนื้อหาและส่ง Headers
public function output(string $content): voidตัวอย่างการใช้งาน
// สร้าง View
$view = Kotchasan\View::create();
// เพิ่ม CSS/JS
$view->addCSS('style.css');
$view->addScript('console.log("Hello");');
// กำหนดเนื้อหา
$view->setContents([
'/{TOPIC}/' => 'หัวข้อเรื่อง',
'/{DETAIL}/' => 'รายละเอียด...'
]);
// แสดงผลโดยใช้ Template 'main'
echo $view->renderHTML(Template::load('', '', 'main'));ขนาดไฟล์: 263 บรรทัด