Post archive

Tag: class

  • PHP

    OOP ซีรี่ย์ – Inheritance in PHP

    Inheritance หรือเรียกอย่างไทยๆว่าการสืบทอด การสืบทอดมันไม่ได้มีอะไรใกล้เคียงกับตั๊กแตนทอดหรือกล้วยทอด หรืออะไรอย่างอื่นที่ใช้น้ำมันเป็นส่วนประกอบกรรมวิธี พอกล่าวถึงเรื่องน้ำมัน ก็อยากจะบอกว่าน้ำมันปาล์มไว้ใช้ทอด น้ำมันถั่วเหลืองไว้ใช้ผัด ไปเรื่อย… การสืบทอดใน OOP นั้นจะคล้ายๆกับการก้อปปี้โค้ดเดิมแล้วเอามาเขียนโค้ดต่อเพิ่มเข้าไป ที่ผมใช้คำว่าคล้าย เพราะว่าการสืบทอดนั้นมันเจ๋งกว่าการก้อปปี้ สมมติว่าผมมีคลาสอยู่ตัวหนึ่ง ทำงานได้ดี View the code on Gist. คลาสตัวนี้เอาไปใช้ในโค้ดหลายๆที่ นานไปๆก็จำไม่ได้แล้วว่าเอาไปใช้ตรงไหนบ้าง แต่ไม่เป็นไรเพราะระบบยังใช้งานได้ดี วันหนึ่งเราอยากจะได้ฟังก์ชั่นสำหรับดึงค่า idcard ออกมา แต่มันก็ใช้อยู่ที่เดียวเท่านั้น ในโค้ดใหม่ ทางเลือกที่เรามีอยู่ตอนนี้ก็คือ ก้อปปี้คลาสนี้ทั้งคลาสเลยแล้วเปลี่ยนชื่อเสียใหม่แล้วเพิ่มโค้ด / หรือแก้คลาสเดิมเลยเพิ่มโค้ดใหม่เข้าไป 2 ทางเลือกที่ให้มาถ้าเป็นระบบจริงๆมีเสียวกันบ้าง เพราะการแก้โค้ดเดิม ไม่รู้ว่ามันจะไปกระทบกับของเก่าที่นำไปใช้บ้างหรือเปล่า หากคุณเขียนโค้ดแบบ functional นะ ไม่ใช้ class นะ ทางเลือกคุณมี 2 ทางนั้นแหละ แต่คลาสเขาออกแบบมาให้มันรองรับการสืบทอด เราเขียนคลาสใหม่สืบทอดจากคลาสเก่าแล้วเติมโค้ดใหม่เข้าไป ดอตอยอ ดูตัวอย่าง View the code on Gist. คลาส […]

    READ MORE
  • General

    OOP ซีรี่ย์ – Classes and objects

    เมื่อเราย่างเท้าเข้าสู่โลกของการเขียนโปรแกรมเชิงวัตถุ (อูววววว) คำที่เราจะได้ยินจนชำนาญคือคำว่า class และ object คลาสก็คือโค้ดก้อนหนึ่งที่ถูกหุ้มด้วยคำว่า  class View the code on Gist. ถ้าจะอธิบายตามหลักการก็คือ ให้เราจินตนาการทุกอย่างที่จะเกิดขึ้นในระบบเราเป็นคน เช่น ถ้าหากในระบบเราจะต้องมีอะไรที่ทำเกี่ยวข้องกับไฟล์ เราก็สร้างคนๆหนึ่งขึ้นมาในจินตนการชื่อว่า ไอ้ฟาย ไอ้ฟายนี่จะทำหน้าที่ทุกอย่างที่เกี่ยวข้องกับไฟล์ ใครอยากสร้างไฟล์ให้เรียกไอ้ฟาย ใครอยากได้พาธของไฟล์ถามไอ้ฟาย  ซึ่งถ้าหากมีคำถามว่า แล้วเราจะให้ไอ้ฟายมันทำอะไรได้บ้าง  ตอบได้อย่างเดียวเลย จะไปรู้เรอะ ในงานเขียนโปรแกรมคุณคือพระเจ้าที่จะสร้างให้คนๆนั้นทำไอ้นี่ได้ ทำไอ้นี่ไม่ได้ แล้วพระเจ้าดูจากไหนว่าจะต้องให้ไอ้ฟายมันทำอะไรได้บ้าง ก็ดูเอาจากว่าโปรแกรมมันต้องการอะไรบ้าง ถ้าโปรแกรมที่เขียนไม่ได้มีการอัปโหลดไฟล์ ก็ไม่ต้องเขียนโค้ดให้ไอ้ฟายมันอัปโหลดได้ ไม่ต้อง เขียนเผื่ออนาคตได้มั้ย! ไม่ต้อง คำว่าเผื่ออนาคตคือขยะ เอาเวลาไปนั่งเกาไข่เถอะ แล้ว object คืออะไร? object คือตัวแปรที่ใช้คำสั่ง new มาจาก class  ให้คิดเสียว่า class มันคือต้นแบบเอาไปใช้ตรงๆไม่ได้ (ถามว่าทำไมไม่ได้ เอ้า ก็คนออกแบบภาษาเขากำหนดมางั้น เรามันผู้ตาม ทำตัวเชื่องๆ) ต้องก้อปปี้ไปใช้ผ่านคำสั่ง new […]

    READ MORE
  • jQuery

    jQuery menu

    การเขียนเว็บแอพพลิเคชั่น สิ่งหนึ่งที่หลีกเลี่ยงไม่ค่อยจะพ้น ก็คือเมนู การสร้างเมนูนั้นโดยปกติแล้วเราจะใช้เลเยอร์ในการสร้าง (ถ้าสร้างเองนะ) และก็มักจะติดปัญหาเรื่อง เมนูที่สร้างไปอยู่ใต้ลิสต์บ้อก มันไม่ยอมอยู่ข้างบน และอีกปัญหาหนึ่งก็คือใช้เวลาในการทำมาก อีกทั้งไม่ค่อยจะสวย วันนี้ผมเลยมาแนะนำ ปลั๊กอินของ jQuery ที่ใช้สำหรับสร้างเมนูโดยเฉพาะ ทั้งใช้ง่าย สวยงาม และไม่ต้องเสียเวลานานๆในการเขียนเอง

    READ MORE
  • PHP

    OOP มันไม่ใช่ยักษ์

    เมื่อครั้งที่ผมเพิ่งศึกษาการเขียนโปรแกรม และได้ยินคำว่า OOP ออบเจ็กโอเรียลเต็ดโปรแกรมมิ่ง การเขียนโปรแกรมเชิงวัตถุ มันเป็นอะไรที่ให้ความรู้สึกว่ามันห่างไกลตัวเราเสียเหลือเกิน ยากแก่การทำความเข้าใจ มันเป็นวัตถุที่จับต้องได้ ไม่ใช่แค่ตัวหนังสือเรียงๆกันมา

    READ MORE
  • PHP

    6 PHP classes พลาดแล้วจะเสียใจไปทั้งชาติ

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

    READ MORE
  • jQuery

    ตัวหนังสือวิ่งมาราธอน

    เมื่อก่อนตอนทำเว็บใหม่ๆ แท็กที่มักจะเป็นที่นิยมใช้กันบ่อยๆ คือ <marquee> ไว้ทำตัวหนังสือวิ่ง ถึงแม้ว่ามันจะวิ่งเหมือนคนเป็นโรคโปลิโอ คือ วิ่งกระตุก งึกๆงักๆ แต่ก็ยังดีกว่าไม่มีอะไรเคลื่อนไหวบนหน้าจอเอาเสียเลย เดี๋ยวนี้ไม่ค่อยเห็นมีคนใช้ และพูดถึงกันน้อยมาก อาจจะเนื่องจากมีแอนิเมชั่นในรูปแบบอื่นๆ ให้เล่นเยอะแยะมากมาย <marquee> เลยถูกลืมจากสารบบ

    READ MORE
  • jQuery

    Galleria แกลเลอรี่

    แกลเลอรี่ คำนี้ไม่ต้องอธิบายกันให้เมื่อยเม็ดไข่ข้างซ้าย เพราะเป็นที่ทราบกันดีอยู่แล้วว่า มันก็คือห้องภาพ โค้ดตัวนี้เป็น jQuery ปลั๊กอิน ที่ใช้งานง่าย สิ่งที่ผมชอบมากที่สุดก็คือ ไอ้คนไร้ศิลปะในหัวอย่างผม เอามันมาใช้พวกยังชมว่าทำได้ไง ดูดีมีคลาส ผมไม่ได้บอกไปหรอกครับว่า ไม่ได้ทำอะไรเล๊ย มันมาของมันยังงั้นอยู่แล้ว ถ้าจะชมก็ต้องชมคนสร้างปลั๊กอินตัวนี้ ที่ทำออกมาดูดี พูดมากก็เปลืองน้ำในปากมาก มาดู Live Demo

    READ MORE
  • jQuery

    S3slide ภาพเลื่อนสุดขอบโลก

    วันนี้ผมจะมานำเสนอ slide show หรือจะเรียกว่าภาพเลื่อนๆ ก็แล้วแต่ สคริปต์ตัวนี้เป็น jquery plugin ลองดู Live Demo ถ้าชอบตามมาดูวิธีทำกันเลยครับ

    READ MORE
  • jQuery

    คำสั่ง wrapAll() ของ jquery

    คำสั่งนี้จะทำหน้าที่เหมือนกันกับคำสั่ง wrap() จะต่างกันก็ตรงที่ว่า คำสั่ง wrap() นั้นจะ wrap อีลิเม้นท์ทุกๆตัวที่เจอ แต่ wrapAll() จะ wrap แค่ครั้งเดียวเท่านั้น ถ้า selector อยู่กันอย่างกระจัดกระจายบนเพจ มันจะย้ายทุกตัวมาอยู่ติดกันแล้ว wrap ทั้งหมด ทีเดียว wrapAll(wrapper) wrapper :(string|selector) string จะต้องเป็นแท็ก html ที่มีทั้งแท็กเปิดและแท็กปิด “<i></i>” ฟังก์ชั่นนี้จะนำเอาพารามิเตอร์ที่ส่งเข้าไป ไปล้อม selector ที่เรียกใช้ฟังก์ชั่น โดยแบ่งออกเป็น 2 กรณี กรณีที่ส่งแท็กเปิดปิดของ html (string) เข้าไป มันจะนำแท็กเปิดและปิด ไปล้อม selector ที่เรียกใช้ แต่ถ้าส่ง selector เข้าไปในฟังก์ชั่น มันจะก้อปปี้ selector ที่ส่งเข้าไป ไปแทนที่ selector ที่เรียกใช้ ตัวอย่างการใช้งาน Live Demo

    READ MORE
  • jQuery

    วิธีใช้งาน jTip – The Jquery Tool Tip

    Live Demo ผมได้เคยแนะนำ jquery plugin ตัวนี้ไปทีนึงแล้ว jquery-tooltips มาคราวนี้ผมจะแสดงวิธีการนำ jTip ไปใช้งาน

    READ MORE