|
Composer+psr ความเปลี่ยนแปลงครั้งใหญของโลก php |
Composer+psr ความเปลี่ยนแปลงครั้งใหญของโลก php วันนี้จะมาเล่าถึงเรื่องของ composer และ psr มันคืออัลไล จะเปลี่ยนโลก php ไปทางไหนต้องเข้ามาอ่านครับ
เรื่องเล่าจากอาณาจักร PHP
กล่าวถึง อาณาจักร php มันแบ่งออกเป็นแคว้นน้อยใหญ่มากมาย แต่ละแห่งก็มีประชากร เยอะมาก แต่ปัญหาใหญ่คือรูปแบบ การพัฒนาแคว้นของแต่ละที่ไม่เหมือนกัน joomla,drupal,wordpress,yii,cakephp และ แคว้นอื่นๆ ต่างมีเอกลักษณ์การพัฒนาที่ ต่างกัน เมื่อวิศวะกรจะสร้างเครื่องมือหรือไลบราลี่ขึ้นมาใช้ เมื่อมีประชาชนจะนำไปใช้ที่แคว้นอื่นๆ ก็ใช้ไม่ได้ต้อง เป็นปัญหาให้ วิศวกรสร้างไว้หลายๆแบบให้ครอบคลุมทุกที่
แต่ทุกปัญหาย่อมีทางออก เมื่อ 4 ปีก่อน ณ งานชุมนุมของเหล่าผู้นำ จากแคว้นต่างๆ ของอาณาจักร php ที่มีชื่องานว่า http://php|tek conference เหล่าผู้นำได้ตกลงกันสร้าง ภาคีที่ชื่อว่า http://www.php-fig.org/เรียกย่อว่า FIG
ทำหน้าที่สร้างและผลักดันมาตรฐานของการพัฒนาไลบราลี่ ให้เหล่าวิศวะกร ผู้นำของภาคี เป็นบุคคลที่เหล่าวิศวกร ต่างรู้จักและให้การยอมรับ นามของเขาคือhttp://Phil Sturgeon นั้นเอง โดยมาตรฐานนั้นชื่อว่า PSR ย่อมาจาก PHP Standards Recommendation แปลได้ว่า รูปแบบการพัฒนานั้นเอง ปัจจุบัน ภาคีนี้ก็ยังดำเนินการมาอย่างต่อเนื่อง และมีมาตรฐาน ออกมาแล้วถึง 4 รูปแบบ คือ
1. psr-0 กล่าวถึงเรื่องการสร้างและใช้งานคลาส autoload
2. psr-1 กล่าวถึงเรื่องการตั้งชื่อไฟล์ การประกาศคลาส
3. psr-2 กล่าวต่อมาจาก psr-1 เรื่องหลักๆ จะเป็นรูปแบบการสืบทอด การจัดย่อหน้า
4. psr-3 กล่าวถึงรูปแบบการสร้างคลาสที่ใช้เก็บ log โดยเฉพาะ
ซึ่งในปัจจุบัน ณ ที่ตั้งของ ภาคี ได้มีการถกเถียงกันถึง psr-4 ,psr-5 และ 6 กันแล้ว
เหล่าสมาชิกของภาคีก็ล้วนเป็น แคว้นใหญ่ที่เราต่างรู้จักกันดีเช่น cakephp,yii,laravel, joomla ,drupal,symfony,zend
* เป้าหมายหลักของภาคี
เป็นสิ่งยิ่งใหญ่และยากมาก นั้นก็คือ การผลักดันมาตรฐาน ให้ได้รับการยอมรับจาก วิศวกรทั่วโลก php และยากสุดๆ คือ การผลักดันให้ผู้สร้าง และทีมพัฒนาหลักของ php ยอมรับและนำไปบรรจุลงในภาษานั้นเอง
* ผมรู้จักมันได้อย่างไร
เริ่มต้นจากการวิจัยโครงสร้างของ laravel 4 นั้นเอง ผมได้เห็นรูปแบบโค้ดที่เหมือนกัน เลยเกิดความสงสัยว่ามันคืออะไร จึงค้นไปยังเรื่อง composer ต่อ ไปจนเจอ psr นั้นเอง
* อนาคตของ psr
ในอนาคตผมฟันธงไว้เลยว่า มันคือ Write once run any Framework นึกถึงตอนที่เราเขียน ไลบราลี่ตัวหนึ่งขึ้นตามมาตรฐานนี้ แล้วสามารถนำไปใช้ กับทุกรายชื่อของสมาชิก แบบอาจจะต้องปรับปรุงบ้างเล็กน้อย ต้นทุนการพัฒนาที่ลดลง ผลผลิตที่เพิ่มขึ้น ความเข้าใจที่ตรงกัน นี่เป็นสัญญาณที่ ดีมากสำหรับโลก php ใบนี้เลยนะครับ
ยิ่งได้กุญแจสำคัญที่มาเติมเต็มคือ composer ที่ทำหน้าที่เป็นศูนย์ข้อมูลหลักให้กับ มาตรฐาน psr ยิ่งทำให้การรับรู้ ยิ่งไปได้รวดเร็วมากขึ้น
รู้จักกับ composer
Composer คือระบบจัดการไลบราลี่ภายนอกของ php ถูกสร้างขึ้นมาโดยนำแนวคิดมาจากระบบจัดการไลบราลี่ของ node.js,ruby ที่ต้องสร้างขึ้นเพราะ ของเดิมของ php คือ pear ไม่มีการพัฒนามากว่า 5 ปีเเล้ว และแนวคิดของ composer ต่างจาก pear ตรงที่ตัวไลบราลี่จะไม่ถูกติดตั้งในระดับที่สามารถถูกเรียกใช้จากที่ไหนก็ได้ แต่จะใช้โฟลเดอร์ vendor เป็นตัวหลักในการเก็บไลบราลี่ต่างๆ ตอนนี้ php framework หลายๆ ตัวเริ่มหันมาใช้ composer แล้วอย่างเช่น laravel 4 ,cakephp 3,kohan,CI,Zend เป็นต้น
packagist.org
เป็นเว็บไซต์ที่รวบรวมไลบราลี่ของ php เมื่อเราต้องการไลบราลี่เกี่ยวกับอะไร ก็เข้าไปค้นหาจากที่นี้ได้ครับ โปรเจคส่วนใหญ่จะมาจาก github กับ bitbucket ใครที่มีไลบราลี่อยุ่บน github สามารถนำเอาไปลงทะเบียนกับ packagist ได้เลย
ประโยชน์หลัก
ลดเวลาการค้นหาไลบราลี่ที่เราต้องการ เพราะไลบราลี่ของ php ที่ใช้มาตรฐาน psr แทบจะทุกตัวใช้ packagist.org ในการขึ้นทะเบียนว่าสามารถใช้ร่วมกับ composer ได้
ถ้าไลบราลี่ตัวนั้นมีการอัพเดท เราสามารถติดตามได้โดยไม่ต้องเสียเวลาเข้าไปตรวจที่หน้าเว็บ
ลดการสร้างไลบราลี่ซ้ำซ้อน เมื่อเราต้องการสร้างไลบราลี่ขึ้นมาใช้เอง ก็เข้าไปค้นดูก่อน ถ้าไม่มีค่อยสร้าง
ต่อไปถ้าไลบราลี่ของเราจะสามารถใช้งานได้กับทุกๆ framework ที่ใช้ composer
การติดตั้ง
เข้าไปที่เว็บไซต์ getcomposer ดาวน์โหลดตัวติดตั้งมา ถ้าใช้งาน windows ก็สบายหน่อยครับ มีตัวติดตั้งแบบ msi มาให้เเล้ว ถ้าเป็น linux ก็ใช้คำสั่ง curl -s https://getcomposer.org/installer | php แล้วก็ตรวจดูว่าใช้งานได้ไหมโดยใช้คำสั่ง php composer phar
การใช้งาน
ไปที่โฟลเดอร์หลักของโปรเจคของเราสร้างไฟล์ json ตั้งชื่อว่า composer ไฟล์นี้จะเป็นตัวเก็บข้อมูล ของไลบราลี่ที่เราจะให้ composer ไปโหลดมาจาก packagist ภายในไฟล์เราเพิ่มค่าเข้าไปดังนี้
Code (PHP)
{
"require": {
"laravel/laravel": "4.0.*"
},
"minimum-stability": "dev"
}
ตัวอย่างนี้เราจะดาวน์โหลดตัว laravel 4.0 minimun-stability คือกำหนดว่าเราจะเอาเวอร์ชันที่คงที่แล้วหรือกำลังพัฒนากันอยู่
2.เปิด commandline เลือกโฟลเดอร์ที่มีไฟล์ composer.json อยู่ใช้คำสั่ง composer install composer จะทำการโหลดข้อมูลของไฟลที่เราต้องการมา ถ้าในไลบราลี่ที่ เราโหลดมามีไฟล์ composer.json อยู่ด้วย composer ก็จะทำการโหลดให้ต่อเนื่องเลย เสร็จเเล้วครับเราได้ตัวไลบราลี่พร้อมใช้งานแล้ว
การอัพเดท
เหมือนตอนติดตั้งแต่ เปลี่ยนคำสั่งเป็น composer update
* แล้วเราควรต้องทำอย่างไร
ก็ต้องศึกษามันสิครับ ทั้ง composer และ psr ซึ่งตอนนี้ผมก็ได้ทำการวิจัยแบบเจาะลึก อยู่และได้เจอทีเด็ดของ composer หลายข้อเลย ไว้จะมาเล่าให้ฟังนะครับ ส่วน psr นั้นก็กำลังจะทำการวิจัยเหมือนกัน
Download คู่มือ Composer
|
|
|
|
|
|
|
|
By : |
taqman
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2013-10-05 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|