Category: php

การเขียน PHP แบบ OOP ตอนที่ 4 การใช้ autoload เพื่อเรียกใช้งานคลาส

No Comments

April 21, 2013 at 9:27 amCategory:php

ในบทความนี้เรามาตอนกันว่าด้วยในกรณีที่ถ้าสมมุติใน 1 ไฟล์เว็บเพจนั้นมีการเรียกใช้งาน class และสร้าง object ของ class ที่แตกต่างกัน เราก็ต้องทำการ include หรือ require กันเป็นชื่อไฟล์หลายๆบรรทัดตามแต่จำนวนไฟล์คลาส ที่เราใช้งาน เริ่มแรกเพื่อความเข้าใจก็ให้ทำต่อจากตัวอย่างในครั้งก่อน การเขียน PHP แบบ OOP ตอนที่ 3 การสร้าง constructor  ให้ทำการสร้างคลาสขึ้นมาอีกคลาส 1 ชื่อว่า class.Course.inc โดยมีโค้ดการทำงานง่ายๆดังนี้


< ?php

class Course
{
private code;
private name;

function __construct($data = array())
{
if(count($data) > 0){
foreach($data as $name => $value){
$this->$name = $value;
}
}
}

public function display()
{
$display = 'Course Code: ' . $this->code;
$display .= '<br />';
$display .= 'Course Name: ' . $this->name;
return $display;
}
}

Read More…

Tags: , , , , ,

การเขียน PHP แบบ OOP ตอนที่ 3 การสร้าง constructor

No Comments

April 6, 2013 at 12:51 pmCategory:php

การเขียน PHP แบบ OOP ตอนที่ 3 การสร้าง constructor

เรามาตอนจากครั้งก่อน การเขียน PHP แบบ OOP ตอนที่ 2 ผมแนะนำให้ดาวโหลดโค้ดจากครั้งก่อนด้วยนะครับ เพราะผมจะทำต่อจากครั้งก่อนโดย ครั้งนี้จะเป็นการสร้าง construtor ของ class ซึ่งในหลักการของ OOP นั้นการมี constructor นั้นก็เพื่อกำหนดค่าเริ่มต้นให้ object ของ class ที่สร้างขึ้นเพื่อให้มันสามารถทำงานได้ตามที่ผู้ออกแบบคลาสตั้งใจ โดยใน PHP นั้นมันเป็นภาษาออกแนว script ผมเลยรู้สึกว่า constructor ของ php มันออกจะ dynamic พอสมควรแต่ไม่รู้ว่าจะส่งผลให้ทำงานช้ารึเปล่า

โดยเริ่มแรกให้ทำการสร้าง constructor ในไฟล์ class.Student.inc โดยมีโค้ดดังนี้

function __construct($data = array())
{
if(count($data) > 0){
foreach($data as $name => $value){
$this->$name = $value;
}
}
}

Read More…

Tags: , , , , ,

การเขียน PHP แบบ OOP ตอนที่ 2

No Comments

April 2, 2013 at 2:47 pmCategory:php | Uncategorized

การเขียน PHP แบบ OOP ตอนที่ 2

ในตอนที่แล้ว ภาษา PHP: การเขียนแบบ OOP ตอนที่ 1   เป็นเนื้อหาเกี่ยวกับการสร้าง class และ object เบื้องต้นในครั้งนี้จะพูดถึง การสร้าง method get กับ set

โดยเริ่มจากโค้ดจากตอนที่แล้วโดยเปลี่ยนโค้ดดังนี้


<?
class Student{

private $firstName;
private $lastName;

public function display()
{
$display = 'FistName: ' . $this->firstName;
$display .= '<br/>';
$display .= 'LastName: ' . $this->lastName;
return $display;
}

public function setFirstName($name)
{
$this->firstName = $name;
}

public function setLastName($name)
{
$this->lastName = $name;
}

public function getFirstName()
{
return $this->firstName;
}

public function getLastName()
{
return $this->lastName;
}
}

เมื่อลองรันไฟล์ index.php ที่ทำมาจากตอนก่อนก็จะได้ดังนี้

php oop ตอน 2

สังเกตว่าโค้ดใน Class Student มีการเปลี่ยน modifier จาก public เป็น private  เพื่อไม่ให้ object ที่สร้างขึ้นไม่สามารถอ้างอิง member fistName และ lastName หรือเปลี่ยนแปลงค่าได้โดยตรงจึงทำการสร้าง method get และ set ขึ้นมาตามโค้ด

เมื่อลองแก้ไฟล์ index.php ตามโค้ดต่อไปนี้


<?php
require 'class.Student.inc';
echo '<h2>Test Class Student</h2>';
$student = new Student();

echo '<h2>Set Property Class Student</h2>';
$student->setFirstName('Thaicoding');
$student->setLastName('.Com');
echo '<pre>' . print_r($student) . '</pre><br/>';

echo '<h2>Function Display</h2>';
echo $student->display();

echo '<h2>Function get FirstName</h2>';
echo $student->getFirstName();

echo '<h2>Function get LastName</h2>';
echo $student->getLastName();
?>

เมื่อลองรันไฟล์ index.php ก็จะได้ดังรูป

ภาษา PHP: การเขียนแบบ OOP

สังเกตว่า method setFirstName กับ setLastName จะทำการกำหนดค่า member firstName และ lastName ตามค่าที่ส่งเข้าโดย object จะสามารถทำการเรียกใช้งานให้ดูตัวอย่างในไฟล์ index.php คือ $student->setFirstName(‘Thaicoding’);

ส่วน method get นั้นก็แค่ทำการ return ค่า member ที่ต้องการออกมาให้กับ object ที่เรียกใช้งาน ในการทำ method get set นั้นเพื่อป้องกันการเข้าถึง member ของ object ของ class โดยตรงหรือที่เรียกว่า Encapsulation เพื่อให้คนที่เอา class ไปใช้งานนั้นไม่ทำการอ้างอิงถึงจนทำให้เกิดความผิดพลาดของการทำงานของโปรแกรมเกิดขึ้น

ใน php นั้นจะมี magic method ของ _get กับ _set อยู่แต่ในเบื้องต้นนี้ผมเขียนบทความขั้นพื้นฐานก่อนแล้วค่อยหาโอกาสเขียนบทความในรายละเอียดต่อไป

Download SourceCode

Tags: , , , , ,

ภาษา PHP: การเขียนแบบ OOP ตอนที่ 1

No Comments

March 23, 2013 at 8:19 amCategory:php

ภาษา PHP: การเขียนแบบ OOP ตอนที่ 1

ในสมัยนี้การเขียนโปรแกรมในรูปแบบ OOP นั้นมีประโยชน์มากและเป็นรูปแบบทั่วไปสำหรับการพัฒนาโปรแกรมในสมัยนี้ เพราะมันสามารถออกแบบมารองรับการทำงานที่สลับสับซ้อนแล้วอีกอย่างหนึ่งคือมันสามารถ reusable code ได้ทำให้การพัฒนาโค้ดได้เร็วขึ้น และในภาษา PHP นั้นก็สามารถรองรับการเขียนโค้ดในรูปแบบ OOP ได้แล้ว โดยวันนี้จะเป็นการเขียนบทความเกี่ยวกับการเขียน PHP ในรูปแบบ OOP เบื้องต้น โดยมีเนื้อหาในตอนที่ 1 ดังนี้

  • การสร้าง class
  • การสร้าง member , method
  • การสร้าง object

เอาละเรามาเริ่มกันเลยโดย ผมจะทำการสร้าง Class ที่เกี่ยวกับข้อมูลนักเรียนง่ายๆๆ ขึ้นมานั้นคือ Class Student โดยในตอนที่ 1 นี้จะมี member ใน class 2 ตัวคือ firstName กับ lastName และมี method 1 method คือ   display() โดยมีโค้ดดังนี้ Read More…

Tags: , , , ,

CodeIgniter การลบ index.php และการใช้งาน URI Routing

No Comments

February 17, 2013 at 9:18 amCategory:php

ในการใช้ CodeIgniter Framework php ในการพัฒนาเว็บนั้นหากไม่มีการ config เพิ่มเติมนั้นมันจะมีการใช้ index.php ใน url ที่เรียกใช้ controller หากใช้งานเป็น web application ทั่วไปมันคงไม่มีปัญหาอะไรแต่หากทำเป็นเว็บไซด์แล้วมันจะมีปัญหาส่งผลต่อกการ index url ของ google หรือการทำ SEO นั้นเองโดยขั้นตอนการเอา index.php ออกมีขั้นตอนดังนี้ โดยเริ่มแรกนั้นผมจะโดย CodeIgniter เริ่มแรกมาโดยไม่ทำการ config ใดๆเลยแล้วนำไปตั้งบน Web Server ซึ่งในเครื่องของผมนั้นจะใช้ Appserv เพราะมันง่ายสุดสำหรับการใช้งาน โดยผมนำไปวางไว้แล้วตั้งชื่อ folder ว่า code

php framework CodeIgniter

เมื่อลองเรียก url ดูโดยใช้ url ที่มี index.php ซึ่ง Controller default นั้นจะเป็น Welcome

php framework CodeIgniter

Read More…

Tags: , , , , ,

เทคนิคการใช้ netbean เขียน php

No Comments

July 11, 2012 at 1:35 pmCategory:php | Uncategorized | ทั่วไป

หลายคนกำลังมองหา IDE สำหรับเขียน php กันอยู่ผมก็ได้แนะนำ ในบทความ IDE ในการพัฒนา php กันแล้วนะครับวันนี้ผมจะมาต่อกันด้วยเทคนิคการใช้ Netbean ซึ่งเวอร์ชั่นปัจจุบัน เป็น 7.1 แล้วครับ Netbean อาจจะเหมาะกับเครื่องคอมที่แรงหน่อย นะครับแต่หลังๆรู้สึกจะเร็วกว่าเวอร์ชั่นเก่าๆเยอะพอสมความนะครับ เอาละมาถึงเทคนิคที่ผมพอรู้กันบ้างว่ามีอะไร เริ่มแรกก็ Navigator ครับมันก็คือที่ทำทางนั้นเองจริงๆแล้วใน IDE ตัวใหญ่อย่าง Visual Studio นั้นมีอยู่นานแล้วและใช้ง่ายกว่าแต่มันคนละค่ายกันใน Netbean นั้นมีประโยนช์เวลาเราเขียน php เป็น class หรือฟังก์ชั่น จากรูปจะเห็นว่ามันจะเป็นชื่อฟังก์ชั่น และถ้ามีตัวแปรที่เป็น member ก็จะแสดงขึ้นมา เวลาเราดับเบิ้ลคลิกมันก็จะแสดงที่ฟังก์ชั่นหรือ member เลย

IDE ในการพัฒนา php

Read More…

Tags: , , ,

php framework CodeIgniter การใช้งาน MVCเบื้องต้น

May 12, 2012 at 11:23 pmCategory:php

php framework CodeIgniter นั้นเป็น framework ที่ออกแบบมาเพื่อให้ใช้งานแบบ mvc model นั้นก็คือจะแยกเป็น 3 ส่วนที่จะรับผิดชอบในการแต่ละส่วนไปแบ่งออกเป็น M คือ model จะเป็น class ที่ทำหน้าที่ติดต่อฐานข้อมูลซึ่งเราจะเขียนเป็นคลาสที่มีคุณสมบัติและข้อมูลใกล้เคียงกับตารางในฐานข้อมูลที่เราต้องการข้อมูล ต่อมา V View คือส่วนที่จะรับผิดชอบแค่การแสดงผลในส่วนที่จะให้ผู้ใช้เห็นเท่านั้น ต่อมาสุดท้ายคือ C Controller จะเป็นตัวควบคุมว่าผู้ใช้ได้ทำอะไรลงไปในการใช้งานจะดึงข้อมูลจาก model หรือแสดงผลจาก view เป็นต้น

codeigiter นั้นจะแบ่งสามส่วนนี้อยู่ใน folder application ซึ่งมันก็จะแยกออกเป็น 3  folder อีกคือ Read More…

Tags: , , , , , ,

การติดตั้งเริ่มใช้งาน php framework CodeIgniter

No Comments

May 12, 2012 at 11:13 pmCategory:php

เริ่มใช้งาน php framework CodeIgniter

CodeIgniter นั้นเป็น framework ที่ใช้ในการพัฒนาเว็บโดยใช้ภาษา php ซึ่งคำว่า framework นั้นก็คือกรอบของงานเพื่อไม่ให้เราพัฒนาออกนอกลู่นอกทาง หรือว่าลงทะเลไป และมันมีประโยชน์ในการร่วมพัฒนาหลายคน โดยขั้นตอนในการติดตั้งนั้นเริ่มแรกให้ทำการ download จากทางเว็บ http://codeigniter.com/ เมื่อโหลดเสร็จแล้วให้ทำการแตกไฟล์ zip โดยผมแตกไฟล์แล้วทำการเปลี่ยนชื่อ folder เป็น code ซึ่งจะมีโครงสร้างดังรูป หลังจากนั้นให้เรานำไปวางบน web server หรือ server จำลองในเครื่องก็แล้วแต่ Read More…

Tags: , ,

คุณรู้หรือไม่ว่า php มี endfor, endif, endforeach, endwhile

No Comments

May 8, 2011 at 7:47 amCategory:php

หลายคนพัฒนาเว็บด้วยภาษา php มักเจอปัญหาเวลาหน้าเว็บที่ต้องใช้ผสมระหว่าง php กับ html ทำให้เกิดโค้ดที่ไม่สวยงาม แต่ php ก็ได้คิดค้น alternative syntax control ขึ้นมันก็คือพวก endfor, endif, endforeach และ endwhile นั้นเอง

php

แล้วพวกนี้มันนี้ยังไงละ มันมีวิธีใช้ตามนี้ครับ Read More…

Tags: , , , , ,

ภาษา PHP:การติดตั้ง Smarty Template Engine

No Comments

December 19, 2010 at 6:36 amCategory:php

หลังจากที่ผมหายไปนานมากประมาณครึ่งเดือนก็เพราะผมนั่งแก้วิฤตโครงการส่วนตัวที่ผมทำอยู่หลายอาทิตย์ ซึ่งผมก็นั่งทำอยู่นานดังคำว่า ไม่เป็นไร พังก็สร้างใหม่ และตอนนี้ก็เริ่มโคเอละ จากวิฤตครั้งนี้ทำให้เสียเงินไปหลายบาทกันเลยทีเดียว และวันนี้ผมก็เริ่มว่างก็เลยมาดูว่าผมยังค้างบทความอะไรอยู่ เลยมาเขียนต่อดีกว่า เอาละบทความนี้เป็นบทความต่อจากครั้งก่อน? ภาษา PHP : Smarty Template Engine ครั้งนี้ก็จะเป็นการติดตั้งและการใช้งานเบื้องต้น

ขั้นแรกคือการโหลดตัว script smarty ก่อนจากเว็บ smarty.net

เมื่อโหลดเสร็จแล้วก็ทำการแต่ไฟล์ จะได้ไดเรกทอรี Smarty-xxx ( xxx คือหมายเลขเวอร์ชัน) จากนั้นก็นำไปวางที่ไดเรกทอรีที่เราต้องการเรียกใช้

smarty template, สอน php, php เบื้องต้น, การติดตั้ง smarty

ซึ่งไดเรกทอรีของผมที่ต้องการใช้คือ testsmarty ก็นำไปวางจะได้เมื่อในรูป Read More…

Tags: , , ,