Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > บทความจากสมาชิก > Composer+psr ความเปลี่ยนแปลงครั้งใหญของโลก php



 
Clound SSD Virtual Server

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







   
Share
Bookmark.   

  By : taqman
  Article : บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ
  Score Rating :
  Create Date : 2013-10-05
  Download : No files
Sponsored Links
ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่