ค่าบางอย่างเป็นค่าที่ได้มาจากการหาโดยอัตโนมัติ เช่น url ที่กำลังทำงานอยู่ , absolute folder ของ url ที่กำลังทำงาน ควรเก็บไว้ในตัวแปรประเภทไหนดีจึงจะสะดวกในการทำงาน
1. define
2. global variable
3. config : สามารถเรียกใช้ผ่าน cfg('url') ได้ แต่การเรียกผ่าน function ย่อมต้องช้ากว่าการเรียกผ่าน define หรือ variable แน่
การ upgrade ฐานข้อมูลในแต่ละครั้ง ไม่จำเป็นต้องเช็คตัวฐานข้อมูล
- สร้างเมนูเสมือนได้
- clean url package เหมือนกัน แต่เรียกจากไฟล์ต่างกัน
- เรียกใช้ง่าย
- เพิ่มชื่อตารางได้
- config จากไฟล์
- config จากฐานข้อมูล
- มีค่า default
- สามารถ เพิ่ม/เปลี่ยนค่า/ลบ config จาก index.php ได้
วันก่อนไปอ่านเว็บไซท์ของคุณพี่ไท้ เรื่องการตั้งโจทย์ให้กับการทำงาน เห็นว่ามันน่าจะเรียบเรียงวิธีคิดของผมในการออกแบบ CMS ตัวใหม่ ก็เลยลองมาตั้งคำถามกับตัวเองถึงความต้องการพัฒนา CMS สักหน่อย
คุณสมบัติที่ต้องการในการเขียน package
- สามารถนำกลับมาใช้ใหม่หรือพัฒนาต่อยอดได้
- สามารถเปลี่ยนฐานข้อมูลได้
- เปลี่ยนตารางข้อมูลได้
- เรียกใช้ในชื่อใหม่ได้
- เพิ่ม package folder ได้
- เปลี่ยนแบบฟอร์มการป้อนข้อมูลได้
- เปลี่ยนรูปแบบการแสดงผลได้
บทความขนาดยาวที่จะนำมาแสดงหน้าแรก ถ้ายาวเกินก็น่าจะแทรกคำสั่ง break เพื่อให้การแสดงในหน้าแรกนั้นแสดงเฉพาะส่วนสำคัญ
กำลังคิดว่า คำสั่ง break ควรจะเป็นอย่างไร บางแห่งใช้ <_!--break-->
คิดว่าน่าจะเป็น <!--break--> เลย จะดีหรือเปล่า
ว่างเว้นไปหลายวัน (คิดอะไรไม่ออก นั่งหน้าเครื่องปุ๊บก็คิดอะไรไม่ออกปั๊บเลย)
อาทิตย์นี้เลยลองเขียน member signin / signout โดยเปลี่ยนการใช้ Session ของ PHP มาเป็น ใช้ Cookie และ เก็บ user session data ไว้ใน database แทน เคยอ่านเจอจากบทความ บอกว่า ทำให้เราสามารถยืดหยุ่นในการพัฒนาโปรแกรมในอนาคตได้ง่ายขึ้น โดยเฉพาะการเขียนโปรแกรมหลายภาษาร่วมกันในเว็บเดียวกัน
clean url หมายถึงการอ้างถึง url โดยมีลักษณะเหมือนเป็น folder ซึ่ง folder ดังกล่าวไม่ได้มีอยู่จริงใน host ก็จะเกิด error 404
ให้กำหนดชื่อไฟล์ที่ server จะทำการ redirect เมื่อเกิด error 404 มาที่โปรแกรมหลัก ทุกครั้งที่มีการอ้างอิงถึง clean url ก็จะมาที่โปรแกรมหลักของเราเสมอ ในโปรแกรมหลักก็จะตรวจสอบเจ้า folder ที่ส่งมา แล้วทำงานตามที่ได้ตั้งข้อกำหนดเอาไว้
การกำหนด error 404 ได้ในไฟล .htaccess ดังนี้
## Apache/PHP/CMS settings
Customized error messages.
ErrorDocument 404 /index.php
หรือการกำหนดให้ Apache redirect page เมื่อหา page นั้นไม่เจอ
you must enable mod_rewrite module by remove # before this line in httpd.conf
# Enable mod_rewrite
LoadModule rewrite_module modules/mod_rewrite.so
- set apache to allow .htaccess file by change value AllowOverride to All
# AllowOverride controls what directives may be placed in .htaccess files. AllowOverride All
- and restart Apache
ดังนั้นทุกครั้งที่เรียกมา ก็จะถูกย้ายไปสู่ index.php
ลองเขียน oop บน php ได้หลายปีแล้ว รู้สึกว่าสะดวกดี ครั้งนี้ก็จะใช้ oop ทั้งหมดอีกเหมือนเดิม
โดยแยก program กับ template ออกจากกัน รุ่นก่อนใช้วิธีการแปล template (interpret) ซึ่งทำให้การทำงานช้า (โดยเฉพาะการวน loop) คราวนี้เลยตัดสินใจยกเลิก โดยให้ template เป็น php ไปเลย คงช่วยเรื่องความเร็วได้เยอะ
ให้มี theme object เป็นตัวควบคุบหน้าตาของเว็บ โดยเป็น object ตัวหนึ่ง
ใช้ style sheet เป็นตัวควบคุมการแสดงผล
ก่อนอื่นก็ต้องมีตัวแก่นของระบบ เพื่อจัดการเรื่องการโหลดไฟล์ต่างๆ เป็นการเพิ่มความสะดวกในการโหลดไฟล์ ทั้ง include , theme , template ตั้งชื่อให้ว่าเป็น core