CoP Prince of Songkla University Phuket Campus's Blog
เตรียมตัวก่อนศึกษา PHP Laravel

เตรียมตัวก่อนศึกษา PHP Laravel

7 October 2014 | NONTAPON RATTANAPITTAYAPORN | Leave a comment

Topic

  1. wampserver
  2. Eclipse
  3. composer

WAMPServer

Capture

พอดีว่าไม่มีเครื่องทดสอบ ครั้นจะทำ Virtual Machine เพื่อทำ Linux Server เครื่องที่ใช้ก็รันไม่ไหว (ตอนลองทำเหมือนว่า Ubuntu จะกินแรงเครื่องน้อยกว่า Mint แฮะ) ดังนั้นจึงเลือกใช้ WAMPServer แทนล่ะกัน http://www.wampserver.com/

WampServer is a Windows web development environment. It allows you to create web applications with Apache2, PHP and a MySQL database. Alongside, PhpMyAdmin allows you to manage easily your databases.

หลังจากโหลดไฟล์แล้วก็ทำการติดตั้งแบบ Next Installation กันตามปกติ แต่เผอิญว่าที่เครื่องมี IIS ที่ใช้ Port 80 อยู่แล้ว จึงไม่สามารถ Start Apache ได้จึงต้องเปลี่ยนไปใช้ Port 81 แทน

  • แก้ไข Config ของ Apache ให้ไปใช้ Port 81 ที่ไฟล์ C:\wamp\bin\apache\apachex.x.x\conf\httpd.conf
  • แก้ไข Config ของ WAMP ในส่วนของ apacheService ที่ C:\wamp\wampmanager.tpl
    • โดยเปลี่ยน Parameters: “http://localhost:/”;  เป็น “http://localhost:81/”;  เพื่อให้ตอนเรียกคลิกคำสั่ง Localhost จะได้ใช้ URL จะเริ่มที่กำหนด
    • แทนที่  “${w_testPort80}” ด้วย “${w_testPort81}” สำหรับตัวแปรที่ใช้อ้างชื่อ TestPort ในเมนู Apache/Service
  • แก้ไขกระบวนการตรวจสอบ Port ที่ไฟล์ c:\wamp\scripts\testPort.php เพื่อให้ย้ายการตรวจสอบไปยัง Port 81 ดังนี้ $fp = @fsockopen(“127.0.0.1”, 81, $errno, $errstr, 1); และ ข้อความแสดงผลลัพธ์ต่างๆ
  • แก้ไขข้อความคำสั่ง TestPort ที่ไฟล์  c:\wamp\lang\english.lang โดยเปลี่ยนจากคำว่า $w_testPort80 = ‘Test Port 80′; เป็น $w_testPort81 = Test Port 81′;

Eclipse

Capture1

ต่อมาก็เป็นเรื่องของ Editor กันบ้าง คราวนี้ว่าจะลองหยิบ Eclipse มาลองใช้บ้าง เพราะตัวนี้รองรับการหลายภาษามาก ซึ่งเมื่อเข้าไปที่เว็บ http://www.eclipse.org/ สามารถเลือกดาวน์โหลดไฟล์ได้ 2 แบบ คือ แบบ ธรรมดา (รองรับ Java) และ แบบที่จัด Package ให้ลองรับภาษาอื่นๆ เช่น PHP เป็นต้น ผมก็เลือกโหลดแบบมีตัวช่วยเขียน PHP ติดเลย Eclipse for PHP Developers มีทั้ง 32bit และ 64bit แล้วก็ทำการติดตั้งตามปกติ

แต่การเปิดใช้ Eclipse จำเป็นต้องมี Jre หรือ JDK ด้วย สามารถดาวน์โหลดได้ที่ http://www.java.com/  และต้องเลือกใช้แบบ 32 bit หรือ 64 bit ตาม Eclipse ซึ่งหลังจากติดตั้ง PATH จะอยู่ที่
c:\Program Files (x86)\Java\jre\bin      สำหรับ 32 bit
c:\Program  Files\Java\jre\bin               สำหรับ 64 bit

หลังจากคลายซิป Eclipse ให้สร้าง Shortcut ไปที่ Desktop แล้วแก้ไข Target Path ตามนี้ก็จะใช้งานได้

eclipse -vm “Path to Java”\jre\bin\javaw

 


Composer

Capture001

ตอนนี้ Laravel เป็นรุ่น 4.2 ซึ่งการใช้งานต้องทำผ่านเครื่องมือชื่อ Composer

Composer is not a package manager. Yes, it deals with “packages” or libraries, but it manages them on a per-project basis, installing them in a directory (e.g. vendor) inside your project. By default it will never install anything globally. Thus, it is a dependency manager.
Ref: Laravel – Getting Start https://getcomposer.org/doc/00-intro.md

Composer คือระบบจัดการไลบราลี่ภายนอกของ php ถูกสร้างขึ้นมาโดยนำแนวคิดมาจากระบบจัดการไลบราลี่ของ node.js,ruby ที่ต้องสร้างขึ้นเพราะ ของเดิมของ php คือ pear ไม่มีการพัฒนามากว่า 5 ปีเเล้ว และแนวคิดของ composer ต่างจาก pear ตรงที่ตัวไลบราลี่จะไม่ถูกติดตั้งในระดับที่สามารถถูกเรียกใช้จากที่ไหนก็ได้ แต่จะใช้โฟลเดอร์ vendor เป็นตัวหลักในการเก็บไลบราลี่ต่างๆ ตอนนี้ php framework หลายๆ ตัวเริ่มหันมาใช้ composer แล้วอย่างเช่น laravel 4 ,cakephp 3,kohan,CI,Zend เป็นต้น
Ref: composer ผู้กอบกู้แห่งอาณาจักร PHP @ laraveltut

สามารถดาวน์โหลดไฟล์ติดตั้ง Composer สำหรับ Windows ได้ที่ https://getcomposer.org/Composer-Setup.exe ซึ่งในระหว่างการติดตั้งจะมีการถามหาตำแหน่งที่เก็บไฟล์ php.exe ด้วย หากเป็น PHP ใน wamp จะอยู่ที่ wamp\bin\php\phpx.x.x\php.exe

นอกจากนี้ตัวติดตั้งจะกำหนดค่า Envirionment Variable ที่ชื่อ PATH อ้างอิงไปยัง composer เพื่อให้สามารถเรียกใช้จากที่ใดก็ได้ (หลังจากติดตั้งให้เปิด Terminal ใหม่เสมอ)

ทดสอบการทำงาน และตรวจสอบรุ่นของ composer ด้วยคำสั่งต่อไปนี้

c:\composer -V (ตัวใหญ่)

จากข้อมูลในเว็บ Composer จะมีการอ้างอิงไฟล์สำคัญอื่นๆ อีก 3 ไฟล์อยู่เสมอ แต่ผมเองก็ยังไม่เข้าใจนักว่าไว้สำหรับทำอะไร

  1. composer.json        คาดว่าไว้สำหรับกำหนดว่าจะใช้ library อะไรบ้าง
  2. composer.phar
  3. composer.bat

Leave a Reply