Post archive

Category: PHP

  • PHP

    OOP ซีรี่ย์ – Chaining methods

    Chaining-methods จะว่ามันเป็นคุณสมบัติอันโดดเด่นของ OOP ก็ไม่ใช่ซะทีเดียว มันเป็นแค่เทคนิค ถ้าท่านเคยใช้พวกเฟรมเวิร์คมาก่อนท่านจะคุ้นกับ ตอยอ ตัวอย่างนี้มาก View the code on Gist. การเรียกเมธอดต่อๆกันเป็นแบบลูกโซ่อย่างนี้ เห็นได้ทั่วไปเมื่อท่านใช้เฟรมเวิร์ค มันดูง่าย มันดูเป็นระเบียบ มันดูล้ำ ผมเขียน laravel มาก่อน เห็นการเขียนลักษณะนี้จนชิน และผมก็เขียนอย่างนี้เหมือนกัน แต่ไม่เคยตั้งคำถามว่าไอ้คนทำเฟรมเวิร์คมันทำได้อย่างไรให้เราสามารถเรียกฟังก์ชั่นต่อๆกันแบบนี้ มีเฉลย ง่ายๆกากๆเลย ดูในโค้ดตรงคำสั่ง return มัน return $this; ซึ่งมันจะคืนค่ากลับไปเป็น object ตัวมันเอง เพราะฉะนั้นมันก็สามารถเรียกฟังก์ชั่นอื่นต่อๆไปได้ View the code on Gist. อ๋อ อย่างนี้นี่เอง

    READ MORE
  • PHP

    OOP ซีรี่ย์ – The $this keyword

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

    READ MORE
  • PHP

    OOP ซีรี่ย์

    นับจากบทความบทนี้ไปผมจะเขียนเรื่อง OOP ให้อ่านซึ่งได้รับแรงบันดาลใจมาจาก http://phpenthusiast.com/object-oriented-php-tutorials  เขาเขียนอธิบายเรื่องราวของ OOP ได้อ่านง่าย เลยคิดว่า กูเอามั่ง หัวข้อที่จะเขียนทั้งหมดมีอยู่ตามนี้  หากใครเข้ามาอ่านแรกๆมันจะไม่มีลิ้งก์นะครับ ต่อเมื่อผมเขียนเรื่องราวนั้นๆแล้ว จะมาแก้หน้านี้แล้วทำลิ้งก์แต่ละหัวข้อไปยังเนื้อหา Classes and objects The $this keyword Chaining methods & properties Public vs. Private Magic methods Inheritance in PHP Abstract classes & methods Interfaces Polymorphism Type hinting Static methods & properties Namespace Trait มี 2 หัวข้อสุดท้ายที่ในลิ้งก์นั้นไม่มี แต่ผมเพิ่มเข้ามา เพราะว่ามันก็มีอยู่ใน OOP ของ PHP ทีนี้ก่อนอื่นเรามาดูกันก่อนซิว่า ทำไมโลกนี้มันถึงต้องมี OOP […]

    READ MORE
  • PHP

    บางครั้งเราก็ทำให้ชีวิตเรายากเอง

    ฟังก์ชั่น str_pad เป็นฟังก์ชั่นที่ถูกสร้างมาเพื่องานลักษณะ เติมตัวอักษรเข้าไปข้างหน้าตัวอักษร เพื่อให้ตัวอักษรครบจำนวนที่ต้องการ

    READ MORE
  • PHP

    เล่าเรื่อง PHP Array

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

    ลองมาดูเรื่องตัวแปรอะเรย์ของ PHP กันสักหน่อย

    READ MORE
  • PHP

    มาใช้ vagrant กันดีกว่า ตอนที่ 1 vagrant คืออะไร

    vagrant เป็นเซิฟเวอร์จำลองพร้อมใช้สำหรับนักพัฒนา PHP

    vagrant ถูกสร้างต่อยอดขึ้นมาบนเทคโนโลยี virtual machine อีกทอดหนึ่งจำพวก virtualbox, vmware แต่ตอนใช้งานเราไม่ได้จำเป็นจะต้องไปรู้เรื่อง virtual machine หรอกแค่ติดตั้งโปรแกรมแล้วลืมมันไปเลย โฟกัสแค่คำว่า vagrant โปรดักษ์ 2 ตัวในตระกูล ผมแนะนำให้ใช้ virtualbox เพราะมันฟรี

    READ MORE
  • PHP

    อธิบายการบ้าน Tower of Hanoi

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

    READ MORE
  • PHP

    PHP ติดตั้งตัวเชื่อมต่อฐานข้อมูล SQL Server

    สำหรับคนที่ติดปัญหาไม่รู้ว่าจะเชื่อมต่อ PHP เข้ากับ SQL Server ได้อย่างไร อ่านครับ

    READ MORE
  • PHP

    การใช้งาน Sublime 3 กับ x-debug

    นำเสนอวิธีการใช้งาน xdebug ร่วมกับ sublime 3 แต่ถึงแม้ท่านจะใช้ sublime 2 มันก็เซมๆ

    READ MORE
  • PHP

    PHP เขียนโปรแกรมหาวันจันทร์ภายในเดือน

    โค้ดหาวันจันทร์ทั้งหมดในเดือนปัจจุบัน, โค้ดตัวอย่างหาวันพุธทั้งหมดในเดือนปัจจุบัน, โค้ดตัวอย่างหาวันศุกร์ทั้งหมดในเดือน ตุลาคม ปีปัจจุบัน

    READ MORE