ขอสอบถามจาก " [ตอนที่ 2] เวิร์คช้อปการสร้างเว็บไซต์อย่างง่า
ผมลองเขียนตามท่านหมดทุกอย่างแล้วนะครับ แต่พอ เข้าดู ผลลัพธ์ มันก็ไม่มีอะไรขึ้นมา
ผมลองใส่ echo "Hello"; ลงมาต่อจากบรรทัดที่มี echo $view->renderHTML($template);
ปรากฎว่าก็ แสดงคำว่า Hello เป็นปกติเลยครับ
ทดลองรันบน friefox ,IE ก็เป็นเหมือนเดิมครับ
ผมเป็นมือใหม่จริงๆครับ ขอรบกวนชี้แนะด้วยนะครับ
ผมลองใส่ echo "Hello"; ลงมาต่อจากบรรทัดที่มี echo $view->renderHTML($template);
ปรากฎว่าก็ แสดงคำว่า Hello เป็นปกติเลยครับ
ทดลองรันบน friefox ,IE ก็เป็นเหมือนเดิมครับ
ผมเป็นมือใหม่จริงๆครับ ขอรบกวนชี้แนะด้วยนะครับ
มีแก้ไขตัวอย่างนิดหน่อยครับ ตรงการระบุ template
หมายเหตุ การระบุ Template สามารถทำได้หลายช่องทางครับ เช่นการกำหนดลงในโค้ดตรงๆ เช่นตัวอย่างนี้ หรือการกำหนดลงใน config ไฟล์ ในตัวอย่างอื่นๆ
Template::init('skin/'.self::$cfg->skin);หมายเหตุ การระบุ Template สามารถทำได้หลายช่องทางครับ เช่นการกำหนดลงในโค้ดตรงๆ เช่นตัวอย่างนี้ หรือการกำหนดลงใน config ไฟล์ ในตัวอย่างอื่นๆ
ขอบคุณมากครับ ตอนนี้ไปต่อได้แล้ว
ขอสอบถามเพิ่มเติมนะครับจาก "[ตอนที่ 4] เวิร์คช้อปการสร้างเว็บไซต์อย่างง่ายด้วยคชสาร"
พอผมใส่โค้ด
'/{TOPMENU}/' => \Kotchasan\Menu::render(\Index\Menu\Model::get(), $module) แบบนี้แล้วปรากฎว่า
มี error ขึ้นดังนี้ครับ
-----------------------------------------------------------------------------------------------------
"Deprecated: Non-static method Index\Menu\Model::get() should not be called statically in D:\wamp\www\testkasha\kotchasan\modules\index\controllers\index.php on line 36 "
-----------------------------------------------------------------------------------------------------
ผมเลยลองเปลี่ยนวิธีเขียนมาเป็นแบบนี้
$menu = new \Kotchasan\Menu;
$model = new \Index\Menu\Model;
'/{TOPMENU}/' => $menu->render($model->get(), $module)
หรือเขียนแบบนี้
'/{TOPMENU}/' => (new \Kotchasan\Menu)->render((new \Index\Menu\Model)->get(), $module)
ปรากฎว่าสามารถรันได้เป็นปกติเลยครับ
คือผมอยากทราบว่าทำไมถึงเขียนแบบที่ท่านเขียนไม่ได้อะครับ
ตรงนี้อาจไม่เกี่ยวกับ framework ของอาจารย์ ขออภัยด้วยครับ
ขอบคุณครับ
พอผมใส่โค้ด
'/{TOPMENU}/' => \Kotchasan\Menu::render(\Index\Menu\Model::get(), $module) แบบนี้แล้วปรากฎว่า
มี error ขึ้นดังนี้ครับ
-----------------------------------------------------------------------------------------------------
"Deprecated: Non-static method Index\Menu\Model::get() should not be called statically in D:\wamp\www\testkasha\kotchasan\modules\index\controllers\index.php on line 36 "
-----------------------------------------------------------------------------------------------------
ผมเลยลองเปลี่ยนวิธีเขียนมาเป็นแบบนี้
$menu = new \Kotchasan\Menu;
$model = new \Index\Menu\Model;
'/{TOPMENU}/' => $menu->render($model->get(), $module)
หรือเขียนแบบนี้
'/{TOPMENU}/' => (new \Kotchasan\Menu)->render((new \Index\Menu\Model)->get(), $module)
ปรากฎว่าสามารถรันได้เป็นปกติเลยครับ
คือผมอยากทราบว่าทำไมถึงเขียนแบบที่ท่านเขียนไม่ได้อะครับ
ตรงนี้อาจไม่เกี่ยวกับ framework ของอาจารย์ ขออภัยด้วยครับ
ขอบคุณครับ
ผมแก้ไขบทความให้แล้วครับ
เพิ่ม static ไปอีกตัว เนื่องจาก PHP เวอร์ชั่นใหม่ๆจะเตือน ถ้าไม่ใส่คำว่า static แต่เรียกแบบ static
public static function get()เพิ่ม static ไปอีกตัว เนื่องจาก PHP เวอร์ชั่นใหม่ๆจะเตือน ถ้าไม่ใส่คำว่า static แต่เรียกแบบ static
ขอบคุณมากครับ :)