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 > PHP > PHP Forum > ขอตัวอย่าง OOP PHP เวลาใช้ในงานเขียนเว็บจริงหน่อยครับ



 

ขอตัวอย่าง OOP PHP เวลาใช้ในงานเขียนเว็บจริงหน่อยครับ

 



Topic : 025925



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์




ตอนนี้ ผมกำลังศึกษา การเขียนเชิงวัตถุ PHP อยู่ครับ เรื่องทฤษฎีพอเข้าใจครับ แต่เวลาเอาไปใช้ในการเขียนเว็บจริงๆ นึกภาพไม่ออกเลยครับ ลองอ่านหนังสือ คัมภีร์ การโปรแกรมเชิงวัตถุด้วย php ผมว่าก็ยังไม่ค่อยจะเป็นการเขียนแบบ oop ตามที่ศึกษามาเลย
อยากให้ผู้รู้จริงช่วยยกตัวอย่างให้ดูหน่อยครับ
เอาแบบที่เขียนจริงๆนะ ไม่เอาเปรียบเทียบกับสิ่งของ (แบบเทียบเป็นรถ เทียบเป็นคน แบบเนี้ย ไม่เข้าใจครับ)



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-03-29 14:29:19 By : RangerBank View : 9414 Reply : 14
 

 

No. 1



โพสกระทู้ ( 306 )
บทความ ( 0 )



สถานะออฟไลน์


จาก ทฤษฏี อ่ะครับ เขาจะบอกให้เราสร้าง class ของแต่ละหัวข้อที่เราต้องการ เช่น

Code class ของการติดต่อฐานข้อมูล (PHP)
<?php
/**** Class Database ****/
Class MyDatabase
{
/**** function connect to database ****/
function MyDatabase($strHost,$strDB,$strUser,$strPassword)
{
$this->objConnect = mysql_connect($strHost,$strUser,$strPassword);
mysql_query("SET NAMES TIS620");
$this->DB = mysql_select_db($strDB);
}

/**** function select record ****/

function fncSelectRecordAll()
{
$strSQL = "SELECT * FROM $this->strTable ";
$objQuery = @mysql_query($strSQL);
return @mysql_fetch_array($objQuery);
}


/*** end class auto disconnect ***/
function __destruct() {
return @mysql_close($this->objConnect);
}
}

?>


ตอนนี้ class ที่เราสร้างขึ้นจะถูกเรียกว่า object แล้วครับ โดยจะมีชื่อตาม class ที่เราสร้าง เวลาที่เราเรียกใช้ ก้อ
Code (PHP)
<?php
include("phpMySQLFunctionClassDatabase.php");

//**** New class database ****//
$strHost = "localhost";
$strDB = "myDB";
$strUser = "root";
$strPassword = "rootpassword";
$clsMyDB = new MyDatabase($strHost,$strDB,$strUser,$strPassword);

//**** Call to function select record ****//
$clsMyDB->strTable = "DataTable";
$objSelect = $clsMyDB->fncSelectRecordAll();

?>



ซึ่งรูปแบบพื้นฐานจะเป็นแบบนี้...
Code (PHP) PHP_Object
<?php
class foo
{
function do_foo()
{
echo "Doing foo.";
}
}

$bar = new foo;
$bar->do_foo();
?>


ลองศึกษาดูนะครับ ผมเองก้อไม่ค่อยเก่งเรื่อง oop เท่าไหร่ ปกติจะเขียนแบบโบราณ ๆ แต่ทำงานได้ อิอิ (ผิดพลาดประการใดขออภัยมานะที่นี้)


ps. ขอบคุณตัวอย่างโค๊ดจาก https://www.thaicreate.com






Date : 2009-03-29 16:57:48 By : noomna19
 


 

No. 2



โพสกระทู้ ( 13 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณสำหรับคำแนะนำคร้าบบ
Date : 2009-03-29 17:33:19 By : RangerBank
 

 

No. 3



โพสกระทู้ ( 236 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ขอบคุณครับ ผมก็กำลังเริ่มเขียนแบบ oop เหมือนกัน
Date : 2009-03-29 20:36:11 By : khunset
 


 

No. 4



โพสกระทู้ ( 224 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter

ผู้น้อยขอคาราวะ 1 จอก
Date : 2009-03-29 23:05:52 By : zepherus
 


 

No. 5



โพสกระทู้ ( 148 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

การเขียน oop ก็คล้ายๆ กับ function

แต่เป็นการจัดการกับ function เป็นหมวดหมู่ และยังสามารถใช้งานได้อีกหลายๆ แบบ

ผมแนะนำ ให้หัดเขียน เป็น oop นะครับแล้วคุณจะรู้ว่า มันง่ายจริงๆ

และทำงานได้เร็วกว่าเขียนแบบ code ทั้งหน้าด้วยนะครับ

เวลามีงานคล้ายๆ กันก็จะใช้เวลาทำงานได้เร็วกว่าเดิมอีกด้วย

ลองดูนะ สู้ๆ มาเขียน oop กันดีกว่า
Date : 2009-03-29 23:12:59 By : dr.website
 


 

No. 6



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอบคุณทุกๆท่าน....... เช่นกันครับ
Date : 2009-03-30 11:10:57 By : paejung
 


 

No. 7



โพสกระทู้ ( 251 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


อยากเขียนแบบ oop เหมียนกันอ่ะ
แต่คิดว่ามันยาก ก้อเลยเขียนแบบบ้านๆ
ถ้า web นี้มีบนเรียนสอบแบบ oop ก้อยิ่งดีเลยค่ะ
Date : 2009-03-31 09:20:43 By : paphun
 


 

No. 8



โพสกระทู้ ( 143 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอคาราวะ 2 จอกเลย กำลังอยากรู้พอดีค่า
Date : 2009-04-09 12:03:03 By : ชะเอม
 


 

No. 9



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับเพิ่งเคยเห็นครั้งแรกจริงๆ
ไม่ค่อยได้สนใจเท่าไหร่ เพราะมอง PHP เป็น อินเตอร์พีเตอร์ ง่า
คล้ายๆ java เนอะคับ -*-
Date : 2009-04-10 12:52:39 By : agazin
 


 

No. 10

Guest


สำหรับสมาชิกทีต้องการดูผ่าน VDO

Go to : สอนการเขียน PHP กับ OOP (Object Oriented Programming) ผ่าน VDO ออนไลน์
Date : 2011-08-07 06:51:15 By : thaicreate
 


 

No. 11



โพสกระทู้ ( 1,463 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger


Date : 2011-12-25 01:50:01 By : num
 


 

No. 12



โพสกระทู้ ( 63 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ต้องได้แนวคิด OOP ก่อนอ่ะครับ แล้วจะรู้ว่า สิ่งที่เขียๆนอยู่อะไรมันจับมามัดเป็นฟังชั่นได้

อยากดู Code ก็ลองโหลด wordpress มาแกะดู


ประวัติการแก้ไข
2011-12-25 02:03:51
Date : 2011-12-25 02:03:21 By : evanesscaz
 


 

No. 13



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Go to : สอนการเขียน PHP กับ OOP (Object Oriented Programming) ผ่าน VDO ออนไลน์

Basic OOP ครับ ดูด้วยทำไปด้วยครับ
Date : 2011-12-25 06:57:17 By : webmaster
 


 

No. 14

Guest


<?php

class TemperatureDegrees{
private $value;
private $temperatureUnit;

public function __construct($value,$temperatureUnit){
$this->value=$value;
$this->temperatureUnit=$temperatureUnit;
$temperatureUnit->setTemperatureDegrees($this);
}


public function setTemperatureUnit($temperatureUnit){
$this->temperatureUnit=$temperatureUnit;
}

public function getValue(){
return $this->value;
}

public function setValue($value){
$this->value=$value;
}

public function __toString(){
return (string)$this->getValue();
}

public function add($addDegrees){
return $this->temperatureUnit->add($addDegrees);
}

public function addToSeft($addDegrees){
$this->temperatureUnit->addToSeft($addDegrees);
}
public function toCelsius(){
return $this->temperatureUnit->toCelsius();
}
public function toFahrenheit(){
return $this->temperatureUnit->toFahrenheit();
}
public function toKelvin(){
return $this->temperatureUnit->toKelvin();
}
}

class Celsius extends TemperatureDegrees{
public function __construct($value){
parent::__construct($value,new TemperatureUnitCelsius());
}
}

class Fahrenheit extends TemperatureDegrees{
public function __construct($value){
parent::__construct($value,new TemperatureUnitFahrenheit());
}
}
class Kelvin extends TemperatureDegrees{
public function __construct($value){
parent::__construct($value,new TemperatureUnitKelvin());
}
}


class TemperatureUnit{

public function setTemperatureDegrees($degrees){
$this->degrees=$degrees;
}

protected function getName(){
return substr(get_class($this),strpos(get_class($this),'Unit')+4);
}

public function add($addDegrees){
$class=$this->getName();
$method='to'.$this->getName();
return new $class($this->degrees->getValue()+$addDegrees->$method()->getValue());
}

public function addToSeft($addDegrees){
$class=$this->getName();
$method='to'.$this->getName();
$this->degrees->setValue(new $class($this->degrees->getValue()+$addDegrees->$method()->getValue()));
return $this->degrees;
}
}
class TemperatureUnitCelsius extends TemperatureUnit{

public function toCelsius(){
return $this->degrees;
}
public function toFahrenheit(){
return new Fahrenheit($this->degrees->getValue() * (9 / 5) + 32);
}
public function toKelvin(){
return new Kelvin($this->degrees->getValue() + 273.15);
}
}

class TemperatureUnitFahrenheit extends TemperatureUnit{
public function toCelsius(){
return new Celsius(($this->degrees->getValue() -32) * 5/9);
}
public function toFahrenheit(){
return new Fahrenheit($this->degrees->getValue());
}
public function toKelvin(){
return new Kelvin(($this->degrees->getValue() + 459.67) * 5/9);
}

}

class TemperatureUnitKelvin extends TemperatureUnit{
public function toCelsius(){
return new Celsius($this->degrees->getValue() - 273.15);
}
public function toFahrenheit(){
return new Fahrenheit($this->degrees->getValue() * (9/5) - 459.67);
}
public function toKelvin(){
return new Kelvin($this->degrees->getValue());
}

}

$celsius=new Celsius(-150);
echo $celsius . 'C<br/>';
echo $celsius->toFahrenheit(). 'F<br/>';
echo $celsius->toKelvin() . 'K<br/>';
echo '<br/>';
$fahrenheit=new Fahrenheit(458);
echo $fahrenheit . 'F<br/>';
echo $fahrenheit->toCelsius(). 'C<br/>';
echo $fahrenheit->toKelvin(). 'K<br/>';
echo '<br/>';
$kelvin=new Kelvin(9.15);
echo $kelvin .'K<br/>';
echo $kelvin->toCelsius(). 'C<br/>';
echo $kelvin->toFahrenheit().'F<br/>';

เขียนแบบ OOP สำหรับ แปลงค่าอุณหภูมิ
Date : 2012-02-11 22:02:28 By : กขค
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอตัวอย่าง OOP PHP เวลาใช้ในงานเขียนเว็บจริงหน่อยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
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 อัตราราคา คลิกที่นี่