564 items|« First « Prev 54 55 (56/57) 57 Next » Last »|

โจทย์ : upgrade system

โดย Little Bear on 22 พ.ย. 49 10:35

การ upgrade ฐานข้อมูลในแต่ละครั้ง ไม่จำเป็นต้องเช็คตัวฐานข้อมูล

โจทย์ : menu system

โดย Little Bear on 22 พ.ย. 49 10:31

  • สร้างเมนูเสมือนได้
    - clean url package เหมือนกัน แต่เรียกจากไฟล์ต่างกัน

โจทย์ : database & table

โดย Little Bear on 22 พ.ย. 49 10:18

  • เรียกใช้ง่าย
    - เพิ่มชื่อตารางได้

โจทย์ : config system

โดย Little Bear on 22 พ.ย. 49 10:17

  • config จากไฟล์
    - config จากฐานข้อมูล
    - มีค่า default
    - สามารถ เพิ่ม/เปลี่ยนค่า/ลบ config จาก index.php ได้

โจทย์ : คุณสมบัติของ package

โดย Little Bear on 22 พ.ย. 49 10:15

วันก่อนไปอ่านเว็บไซท์ของคุณพี่ไท้ เรื่องการตั้งโจทย์ให้กับการทำงาน เห็นว่ามันน่าจะเรียบเรียงวิธีคิดของผมในการออกแบบ CMS ตัวใหม่ ก็เลยลองมาตั้งคำถามกับตัวเองถึงความต้องการพัฒนา CMS สักหน่อย

คุณสมบัติที่ต้องการในการเขียน package
- สามารถนำกลับมาใช้ใหม่หรือพัฒนาต่อยอดได้
- สามารถเปลี่ยนฐานข้อมูลได้
- เปลี่ยนตารางข้อมูลได้
- เรียกใช้ในชื่อใหม่ได้
- เพิ่ม package folder ได้
- เปลี่ยนแบบฟอร์มการป้อนข้อมูลได้
- เปลี่ยนรูปแบบการแสดงผลได้

แทรกคำสั่ง break

โดย Little Bear on 24 ต.ค. 49 09:11

บทความขนาดยาวที่จะนำมาแสดงหน้าแรก ถ้ายาวเกินก็น่าจะแทรกคำสั่ง break เพื่อให้การแสดงในหน้าแรกนั้นแสดงเฉพาะส่วนสำคัญ

กำลังคิดว่า คำสั่ง break ควรจะเป็นอย่างไร บางแห่งใช้ <_!--break-->

คิดว่าน่าจะเป็น <!--break--> เลย จะดีหรือเปล่า

ก่อนอื่นต้องเขียนระบบ member ก่อน

โดย Little Bear on 7 ต.ค. 49 10:39

ว่างเว้นไปหลายวัน (คิดอะไรไม่ออก นั่งหน้าเครื่องปุ๊บก็คิดอะไรไม่ออกปั๊บเลย)

อาทิตย์นี้เลยลองเขียน member signin / signout โดยเปลี่ยนการใช้ Session ของ PHP มาเป็น ใช้ Cookie และ เก็บ user session data ไว้ใน database แทน เคยอ่านเจอจากบทความ บอกว่า ทำให้เราสามารถยืดหยุ่นในการพัฒนาโปรแกรมในอนาคตได้ง่ายขึ้น โดยเฉพาะการเขียนโปรแกรมหลายภาษาร่วมกันในเว็บเดียวกัน

How to set apache to use clean url ?

โดย Little Bear on 17 ก.ย. 49 17:50

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 นั้นไม่เจอ

  1. you must enable mod_rewrite module by remove # before this line in httpd.conf

    # Enable mod_rewrite

LoadModule rewrite_module modules/mod_rewrite.so
  1. set apache to allow .htaccess file by change value AllowOverride  to All
# AllowOverride controls what directives may be placed in .htaccess files.

AllowOverride All
  1. and restart Apache

ดังนั้นทุกครั้งที่เรียกมา ก็จะถูกย้ายไปสู่ index.php

ใช้ oop ทั้งระบบ

โดย Little Bear on 17 ก.ย. 49 17:29

ลองเขียน oop บน php ได้หลายปีแล้ว รู้สึกว่าสะดวกดี ครั้งนี้ก็จะใช้ oop ทั้งหมดอีกเหมือนเดิม

โดยแยก program กับ template ออกจากกัน รุ่นก่อนใช้วิธีการแปล template (interpret) ซึ่งทำให้การทำงานช้า (โดยเฉพาะการวน loop) คราวนี้เลยตัดสินใจยกเลิก โดยให้ template เป็น php ไปเลย คงช่วยเรื่องความเร็วได้เยอะ

ให้มี theme object เป็นตัวควบคุบหน้าตาของเว็บ โดยเป็น object ตัวหนึ่ง

ใช้ style sheet เป็นตัวควบคุมการแสดงผล

ก่อนอื่นก็ต้องมีตัวแก่นของระบบ เพื่อจัดการเรื่องการโหลดไฟล์ต่างๆ เป็นการเพิ่มความสะดวกในการโหลดไฟล์ ทั้ง include , theme , template ตั้งชื่อให้ว่าเป็น core

กำหนดรูปแบบ url parameter

โดย Little Bear on 17 ก.ย. 49 17:12

ก่อนอื่นก็ต้องกำหนดรูปแบบในการติดต่อผ่าน url parameter ก่อน ว่าจะส่ง parameter กันอย่างไร

หลาย cms ใช้รูปแบบ clean url จากที่อ่านมาหลายแห่ง นับเป็นวิธีการที่ดี ที่สุดคือการจำง่าย แต่มีข้อเสียอย่างหนึ่งที่คิดได้ คือ ทุกครั้งมีมีคนคลิกเว็บ จะมี error log ของ apache 1 รายการ เพราะเป็นการเข้าถึงไฟล์หรือโฟลเดอร์ที่ไม่มีอยู่จริง ซึ่งไม่รู้ว่าจะมีผลกระทบแค่ไหน (แต่คงไม่มากนัก ถ้ากลัวก็ยกเลิกการ log เสียก็สิ้นเรื่อง)

cms ก็จะมีหลาย module เช่น member , blog , topic , news ฯลฯ ก็จะใช้ตัว module นี่แหละเป็น parameter หนึ่งในการระบุงานที่ต้องการทำ เช่น

/topic/150 -> view topic id 150
/blog/bloggang/3 -> view blog name bloggang topic id=3
/member/6 or /member/username -> view member detail id=6 or username

564 items|« First « Prev 54 55 (56/57) 57 Next » Last »|