Screen Shot 2558-03-25 at 3.01.22 PM
ก่อนที่ PHP 7 จะถูกปล่อยมาให้ได้ใช้งานกัน คงอีกนาน
ดังนั้น จึงมีเว็บ GoPHP7 ขึ้นมา  (เหมือนกับ GoPHP5 เลย)
เป้าหมายก็เพื่อ

  • ให้เราเรียนรู้ก่อนที่ PHP 7 จะออกมา
  • ให้เราเข้าใจวิธีการ migrate
  • ให้เราลองตรวจสอบ extension ต่างๆ

เมื่อ PHP 7 มันออกมาจริงๆ เราจะได้ไม่กลัวและตกใจไงล่ะ
ดังนั้น มาลองเล่นกันหน่อย

ทำการติดตั้ง PHP 7 กันหน่อย

วิธีการติดตั้งไม่ยากเลย ดังนี้

ผมเจอปัญหาเรื่องของ Library bson จึงทำการติดตั้งโดยตรง ดังนี้

ทดสอบด้วยคำสั่ง
$make test

จะแสดงผลการทำงานดังนี้
Screen Shot 2558-03-25 at 3.21.21 PM

สิ่งที่สำคัญมากๆ คือ พวก Extension ต่างๆ

สามารถดูได้ที่ GoPHP7 Extension project
ซึ่งเป้าหมายมันชัดเจนมากๆ คือ

  1. เพื่อทำการทดสอบ extension ต่างๆ บน PHP 7 ก่อน
  2. ทำให้ extension ให้มันง่ายต่อการติดตั้ง และ ใช้งาน
  3. ช่วยทำให้คนสามารถเข้ามาร่วมกันพัฒนา และ ดูแล extension ต่างๆ ได้ง่ายขึ้น
  4. สร้างเอกสารให้มากขึ้น เช่น ถ้าไม่มี test ก็เพิ่ม test สิ และ ถ้าไม่มีเอกสาร ก็เพียนเอกสารสิ
  5. กำหนดมาตรฐานในการเขียน code ให้อยู่ในรูปแบบเดียวกัน เช่น PSR เป็นต้น

มันเปิดโอกาสให้เราเข้าไปร่วมพัฒนาได้ง่ายขึ้น

ใครก็ได้ที่เขียน PHP เป็น
ใครก็ได้ที่เขียน C/C++ เป็น
ใครก็ได้ ที่จะมาช่วยทดสอบ
ใครก็ได้ ที่จะมาช่วย setup CI server
ใครก็ได้ที่จะมาช่วยเรื่องเอกสาร
ใครก็ได้ที่จะมาช่วยหา bug
ใครก็ได้ที่ต้องเรียนรู้เพิ่มเติม

ดังนั้น เรื่อง Community สำคัญมากๆ

อยากรู้ว่ามี Extension อะไรบ้าง ?

สามารถเข้าไปดูได้ที่นี่ Extension Catalog
จะแสดงในรูปแบบของตาราง เพื่อทำให้เห็นว่า

  • Extension แต่ละตัวมีชุดการทดสอบไหม
  • Extension แต่ละตัวมีเอกสารไหม
  • Extension แต่ละตัวมีคนดูแลไหม
  • Extension แต่ละตัวสามารถทำงานบน PHP 7 ได้ไหม
  • Extension แต่ละตัวสามารถทำงานบน PHP 7 ดีไหม

เขาบอกว่า PHP 7 เขียน test ด้วยนะ

มาดูสิว่า Test Coverage ของ Extension แต่ละตัวเป็นยังไง
ใช้คำสั่ง

จะได้ผลของ Test Coverage ของแต่ละ Extension ดังนี้
Screen Shot 2558-03-25 at 12.23.50 PM

ถ้าใครอยากลอง contributed เช่นการเขียน test
โดยวิธีการเขียน test ดูได้จาก QA.php.net นะ
PHP มี QA นะครับ ใครไม่รู้ก็ให้รู้ไว้เสียด้วย

ปิดท้ายด้วยแนวคิดนี้ครับ

ผมอ่านแล้ว ยิ้มเลย ชอบมากๆ มันคือสิ่งที่ควรจะเป็นไปครับ

Make it run RIGHT on PHP7 – this is more than just C code…. if they don’t have tests, add tests, if they don’t have docs, write docs, if their apis were designed 10 years ago and use resources and hurt you to touch them – redesign the apis, set up travis and appveyor(windows ci) so that they are continously tested, fix bugs that have been outstanding, add new features – keep the extensions alive and well

ดังนั้น PHP Developer น่าจะต้องศึกษา และ เริ่มเขียน test ได้แล้วนะครับ

Tags:,