วันศุกร์ที่ 13 พฤษภาคม พ.ศ. 2559

Step 5 การใช้คำสั่ง Echo และ Print

การใช้คำสั่ง Echo และ Print

การแสดงผลลัพธ์ออกทางหน้าจอใน PHP จะมีอยู่ 2 คำสั่งด้วยกันคือ echo และ print โดยการทำงานของ echo และ print นั้นจะแตกต่างกัน ดังนี้
  • print จะ return ค่า 1 กลับมา แต่ echo จะไม่ return ค่าใดๆกลับมา
  • print มี argument หรือ parameter ได้เพียงตัวเดียวเท่านั้น แต่ echo มีได้หลายตัว
  • ที่สำคัญที่สุดคือ echo เร็วกว่า print ดังนั้นส่วนใหญ่แล้วแนะนำให้ใช้ echo

PHP echo Statement

echo สามารถใช้โดยไม่ต้องใส่วงเล็บก็ได้

echo "<h2>PHP is fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
// echo สามารถใส่ parameter ได้มากกว่า 1 ตัว
echo "This", " string", " was", " made", " with multiple parameters.";


การใช้ echo แสดงผลตัวแปร

$txt1 = "Learn PHP";
$txt2 = "W3Schools.com";
$cars = array("Volvo", "BMW", "Toyota");

echo $txt1 . "<br>";
echo "Study PHP at " . $txt2 . "<br>";
echo "My car is a " . $cars[0];


สามารถอ่านเทคนิคการใช้ echo เพิ่มเติมได้ ที่นี่
และตัวอย่างสุดท้ายการใช้งาน print แสดงผลตัวแปร

$txt1 = "Learn PHP";
$txt2 = "W3Schools.com";
$cars = array("Volvo", "BMW", "Toyota");

print $txt1 . "<br>";
print "Study PHP at " . $txt2 . "<br>";
print "My car is a " . $cars[0];


Step 4 การประกาศตัวแปร PHP

การประกาศตัวแปรใน PHP

ใน PHP เราจะใช้เครื่องหมาย $ นำหน้าชื่อตัวแปรเสมอ

    $txt = "ข้อความ";
    $x = 5;
    $y = 10.5;

การกำหนดค่าให้กับตัวแปรใน PHP สามารถทำได้เลย โดยที่ไม่จำเป็นต้องกำหนดค่าเนื่องจาก PHP เป็นภาษาที่ Dynamic Type หรือ Loosely Type คือ PHP Complier จะทำการแปลงตัวแปรเป็นชนิดที่เหมาะสมให้เอง
จากตัวอย่างเราจะกำหนดค่า คำว่า "ข้อความ" ให้กับตัวแปร $txt ดังนั้นตัวแปร $txt จะมี Data Type เป็น String(ข้อความ) ทันที
ส่วน $x ถูกกำหนดค่าเป็น 5 ดังนั้น Data Type จึงเป็น int(จำนวนเต็ม) และเช่นเดียวกันเมื่อ $y ถูกกำหนดค่าเป็น 10.5 ซึ่งเป็นเลขทศนิยม Data Type ของ $y จึงกลายเป็น float(เลขทศนิยม)

Scope ของตัวแปร

ตัวแปรในทุกๆ ภาษาจะเหมือนกันคือจะมีอายุการใช้งาน เนื่องจากตัวแปรแต่ละตัวจะจองพื้นที่ในหน่วยความจำ ของ Server ดังนั้นเพื่อให้โปรแกรมมีประสิทธิภาพสูงสุด ตัวแปรแต่ละตัวจะมีอายุการใช้งาน การกำหนดอายุการใช้งานเรียกว่า Scope
การเขียนโปรแกรมที่ดีเราต้องมีการกำหนด Scope ของตัวแปรอย่างเหมาะสม โดยใน PHP จะมี Scope ของตัวแปรอยู่ 2 อันดับ ดังนี้ - local - global

Local Scope

ตัวแปรที่ปรกาศวอยู่ภายใน function จะเป็น Local Variable จะเรียกใช้งานได้ภายใน function ที่ประกาศเท่านั้น พอหมด function ตัวแปรแบบ Local นี้จะหายไปทันที

function myTest() {
    $x = 5; // Local scope

    // สามารถเรียกใช้ $x ได้ใน function นี้เท่านั้น
    echo "Variable x inside function is: $x";
} 
myTest();

// การเรียกใช้ ตัวแปร $x ภายนอก Scope ของตัวแปร $x ทำให้เกิด error
echo "Variable x outside function is: $x";


Global Scope

ตัวแปรที่ประกาศอยู่ภายนอก function จะเป็น Global Scope จะถูกเข้าถึงได้เฉพาะภายนอก function เท่านั้น
Code ในตัวอย่างนี้ $x จะเป็น Global Scope จะไม่สามารถเรียกได้จากฟังก์ชั่น myTest() จึงทำให้เกิด Error เกิดขึ้น
ส่วนการ echo ในบรรทัดสุดท้ายเป็นการเข้าถึงตัวแปร $x จากภายนอก function จึงไม่เกิด Error ใดๆ

$x = 5; // Global scope

function myTest() {
    // การเข้าถึงตัวแปร $x ที่เป็น Global Scope จึงทำให้เกิด error
    echo "<p>Variable x inside function is: $x</p>";
} 
myTest();

echo "<p>Variable x outside function is: $x</p>";


การจะเข้าถึงตัวแปรที่เป็น Global Scope นั้นทำได้ 2 วิธีคือ การเข้าถึงโดยใช้ global keyword

$x = 5;
$y = 10;

function myTest() {
    global $x, $y;
    $y = $x + $y;
}

myTest();
echo $y; // outputs 15


จากตัวอย่างเราจะนำเอาค่าว่า global ไปวางไว้หน้าตัวแปร เพื่อจะบอก PHP ว่าเรากำลังจะเข้าถึงตัวแปร $x และ $y ที่เป็น Global Scope ไม่ใช่ Local Scope
อีกวิธีจะเป็นการเข้าถึงได้จากตัวแปร $GLOBALS[index] ซึ่งตัว index จะเป็นชื่อตัวแปรที่เป็น Global Scope

$x = 5;
$y = 10;

function myTest() {
    $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
} 

myTest();
echo $y; // outputs 15


ผลลัพธ์ที่ได้จะเหมือนกับตัวอย่างที่แล้วแต่จะเป็นการเข้าถึงตัวแปร $x โดยผ่านทาง $GLOBALS['x'] และ $y ผ่านทาง $GLOBALS['y']

Static

การประกาศตัวแปรแบบ Static คือโดยทั่วไปการทำงานเมื่อจบฟังก์ชั่น ตัวแปรนั้นจะหายไป แต่ในบางกรณีเราอยากให้ตัวแปรที่เป็น Local นั้นอยู่ต่อไป

function myTest() {
    static $x = 0;
    echo $x;
    $x++;
}

myTest();
myTest();
myTest();


จากตัวอย่าง ผลลัพธ์จะเป็น 0, 1, 2 ไล่ไปเรื่อยๆขึ้นอยู่กับเรียก myTest() กี่ครั้ง เพราะแต่ละรอบของการทำงานตัวแปร $x จะยังคงมีชีวิตอยู่เพื่อรอการเรียกใช้งานครั้งถัดไป

Step 3 เรียนรู้ Syntax ของ PHP

โครงสร้างของ PHP

  • PHP สามารถเขียนในส่วนไหนของ HTML Document ก็ได้ หรือจะไม่มี HTML เลยก็ได้
  • ไฟล์ที่สร้างขึ้นต้องมีนามสกุลเป็น .php
  • Script เริ่มต้นด้วย <? php และจบด้วย ?>

    <?php
        ใส่คำสั่งของ PHP ลงในส่วนนี้
    ?>

การใส่ Commment ใน PHP

ส่วนของ Comment ใน PHP หรือการเขียนโปรแกรมไม่ว่าจะภาษาใดก็ตามจะเป็นส่วนที่ใช้สำหรับสื่อสารกับคนที่มาอ่าน Source Code จะไม่เกี่ยวข้องกับการประมวลผลของโปรแกรมแต่อย่างใด ส่วนใหญ่แล้ว Comment จะใช้ในการ เตือนความจำ หรือ การอธิบาย Source Code โดยในรูปแบบการเขียน Comment ใน PHP จะประกอบด้วย
  • แบบบรรทัดเดียว

    <?php
        // คำอธิบาย Source Code
        // Code หลังจาก เครื่องหมาย // นี้จะไม่ถูกประมวลผล
    ?>

  • แบบหลายบรรทัด

    <?php
        /∗  
            เตือนว่า Code นี้ยังไม่เสร็จสมบูรณ์
            
            Code ในส่วนนี้จะไม่ถูกประมวลผล
        ∗/
    ?>

Case-Sensitive

PHP เป็นภาษาที่เรียกว่า Case-Sensitive หมายความว่า ตัวอักษร A และ a มีความหมายต่างกัน เพราะฉะนั้นคนที่เริ่มต้นเขียนต้องระวังเรื่องของความถูกต้องของตัวอักษรด้วย
ในตัวอย่างผลการ Run จะได้ผลลัพธ์เพียงแค่บรรทัดแรกเท่านั้นเนื่องจาก $color เป็นตัวเล็กทั้งหมด แต่ใน Code บรรทัดที่ 8 ใช้ $COLOR ที่เป็นตัวใหญ่ทั้งหมด รวมทั้ง $coLOR ในบรรทัดที่ 9 ด้วย

    <!DOCTYPE html>
    <html>
    <body>

    <?php
    $color = "red";
    echo "My car is " . $color . "<br>";
    echo "My house is " . $COLOR . "<br>";
    echo "My boat is " . $coLOR . "<br>";
    ?>

    </body>
    </html>

Step 2 การติดตั้ง XAMPP

การติดตั้ง XAMPP

ก่อนจะทำการติดตั้ง เราจะเริ่มต้นจากคำถามว่าทำไมต้องเป็น XAMPP
  • เนื่องจากเราไม่มี Server ตั้งอยู่ที่บ้าน ดั้งนั้นเราจึงต้องสร้าง Environment ที่เหมือนกับ Server อยู่ที่บ้านเพื่อให้เราสามารถทดสอบโปรแกรมได้
  • นอกจาก XAMPP ยังมีอีกหลายตัวทั้ง WAMP, AppServ แต่ที่เราเลือก XAMPP เพราะเป็นตัวเดียวที่ไม่ต้องติดตั้ง และยังสามารถ Copy ให้คนอื่นก็ง่าย
  • XAMPP ประกอบไปด้วย Apache, MySQL, PHP และ Perl ตัวเดียวได้ครบเขียนได้ทั้ง PHP และ Perl
ขั้นตอนการติดตั้งมีดังนี้
  1. Download XAMPP ได้ที่นี่ โดยมีให้เลือก 3 ทางคือ Installer, Zip และ 7z(7 Zip)
    ตัวที่แนะนำคือ เลือกเป็น .zip จะได้ไม่ต้องทำการติดตั้งลงบนเครื่อง แต่สำหรับใครที่มีโปรแกรมพวก VMWare จะไม่สามารถใช้ .zip ได้ ต้องเลือกเป็นแบบ Installer แทน
  2. นำเอาไฟล์ XAMPP มาแตก zip ไว้ที่ Drive C: หรือ Drive ไหนก็ได้
  3. เวลาเปิดให้เข้าไปใน Folder XAMPP Duble Click ที่ไฟล์ XAMPP-Control.exe
  4. เลือก Start Service ที่ต้องการ โดยทั่วไปเราจะ start เฉพาะ Apache กับ MySQL

Step 1 ทำความรู้จักกับ PHP

เริ่มต้นการเขียน PHP

ก่อนที่จะทำความรู้จักกับ php สิ่งที่เราจำเป็นต้องรู้ในการทำเว็บ คือ

HTML

เป็นส่วนที่เป็นพื้นฐานสำคัญของเว็บเพราะเป็นส่วนของ content หรือข้อมูลที่เราแสดงอยู่บนเว็บ

JavaScript

เป็นส่วนที่ทำให้เว็บของเราเป็น Dynamic คือมีการโต้ตอบกับ user ได้ เช่น การลากวาง, การกดปุ่ม, การ pop-up dialog และอื่นๆ

CSS

เป็นส่วนของการจัดการเรื่องของความสวยงามการตกแต่งหน้าตาของเว็บให้ดูดี

Serverside Script

Serverside เป็นส่วนของการจัดการที่ฝั่ง Server เมื่อไหร่ก็ตามที่เราต้องการเก็บข้อมูลของ user เราจะเลือกเขียน code ที่ฝั่งนี้ เช่น ถ้าเราเปิดอบรม หรือ สัมนา เราก็ต้องการรู้ว่าคนที่จะเข้างานมีกี่คนและมีใครบ้าง ข้อมูลที่เราต้องเก็บคือ คนที่อยากมาเรียนหรือมาสัมนา เราก็ต้องเขียนแบบฟอร์มเพื่อให้คนที่ต้องการลงทะเบียนกรอกข้อมูลเข้ามา แล้วเก็บลง database เมื่อไหร่ก็ตามที่เราต้องการเก็บข้อมูลลง database เราต้องเขียน Code ฝั่ง Server เสมอ ส่วนภาษาก็มีให้เลือกใช้มากมายไม่ว่าจะเป็น PHP, ASP.net, JSP Servlet, Ruby, Phyton และอื่นๆ
หลังจากที่เราเข้าใจแล้วว่า PHP เป็น Serverside Script เรามาทำความรู้จักกับ PHP อีกซักนิดนึง
  • PHP ย่อมาจาก PHP: Hypertext Preprocessor
  • PHP เป็นภาษาที่มีคนใช้มากที่สุดในโลก
  • PHP สามารถ Download และใช้งานได้ฟรี
  • PHP เป็น Serverside Script (ถูก execute ที่ฝั่ง Server)
ทีนี้เราก็มาดูกันว่าเริ่มต้นเขียนต้องทำยังไงบ้าง
  • เราต้องตั้งตั้งนามสกุลของไฟล์เป็น .php
  • เราสามารเขียน Code ที่เป็น PHP ไว้ภายใน โดยเปิดด้วย <?php และปิดท้ายด้วย ?> (ตั้งแต่ PHP version 5.3 ถ้าในหน้านั้นมีแต่ PHP เราไม่จำเป็นต้องปิด tag ด้วย ?>)

    <?php
        echo "ข้อความที่ต้องการแสดงผล";
    ?>

  • หลังจากนั้นเราสามารถที่จะแทรก Code ที่เป็น PHP ลงไปใน HTML ได้เลย ตามตัวอย่าง

    <!DOCTYPE html>
    <html>
    <body>

    <?php
    echo "My first PHP script!";
    ?>

    </body>
    </html>

Laravel

  Laravel Framework คือ PHP Framework ตัวหนึ่งที่ถูกออกแบบมาเพื่อพัฒนาเว็บแอพพลิเคชั่นต่างๆ ในรูปแบบ MVC (Model Views Controller) ซึ่งมีการแ...