โค้ดพวก -> คืออะไรหรอคับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: โค้ดพวก -> คืออะไรหรอคับ

โดย mindphp » 28/02/2008 4:02 am

ตามที่แนะนำไป ข้างบนน่ะครับ

function b () {
echo a(12);
}

โดย bankbonkbank » 28/02/2008 2:37 am

mindphp เขียน:function b () {
echo a(12);
}

ถ้า แบบ OOP ก็
function b () {
echo $this->a(12); // เมื่อ a() , b() อยู่ใน class เดียวกัน
}
แล้วถ้าเป็นแบบไม่ใช้ OOP ล่ะครับ ทำได้มั๊ยครับ

พอดีผมทำไปเยอะแล้วอะ ไม่อยากเปลี่ยนใหม่หมดอ่าคับ

โดย mindphp » 28/02/2008 2:13 am

function b () {
echo a(12);
}

ถ้า แบบ OOP ก็
function b () {
echo $this->a(12); // เมื่อ a() , b() อยู่ใน class เดียวกัน
}

โดย bankbonkbank » 28/02/2008 12:54 am

mindphp เขียน:ขอโทษ ครับ ที่แนะนำ ข้อมูลที่ท่านมี ในหลังสืออยู่แล้ว
แต่ถ้าได้อ่านในบทความนั้น ก็มีบอกอยู่แล้วว่ามันดี ยังไง

ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุคือ
1. การจัดรูปแบบโค้ดเป็นระบบระเบียบ ทำให้ง่ายต่อการพัฒนา และแก้ไขในภายหลัง
2.มีการป้องกันของข้อมูล เพื่อป้องกันการนำข้อมูลไปใช้อย่างผิดๆ ดังนั้นหากต้องการนำข้อมูลภายใน Object ไปใช้
3.การนำไปใช้สามารถทำได้ง่ายไม่ยุ่งวุ่นวาย และสามารถนำไปใช้ซ้ำได้โดยไม่ต้องเขียนโค้ดใหม่


ข้อดีของ OOP สำหรับ php5

* เข้าใจง่าย เพราะการทำงานเปรียบเสมือนการจำลองเหมือนในโลกจริง โดยอาศัยการมองทุกอย่างเป็น object ซึ่งแต่ละตัวมีหน้าที่และความหมายในตัว
* บำรุงรักษา และแก้ไขโปรแกรมได้ง่าย
* มีความปลอดภัยสูง เพราะจัดการกับ error ได้ดี
* นำกลับมาใช้ใหม่ได้ (reusability) ลดขั้นตอนในการเขียนโปรแกรม
* โปรแกรมมีคุณภาพสูง ขนาดโปรแกรมใหญ่ๆ
* เขียนโปรแกรมมีระบียบ เป็นระบบ

ข้อเสียของ OOP

* เข้าใจยาก สำหรับผู้เริ่มต้นเขียนโปรแกรม หรือถนัดเขียนโปรแกรม แบบ procedural
* ทำงานได้ช้ากว่านิดหน่อย สำหรับโปรแกรมขนาดเล็กๆ แต่ถ้าใหญ่ๆ จะทำงานดีขึ้น
* ใช้เวลาเขียน นานกว่า

ยังมีอีกเยอะคับ รอท่านอื่นมาแนะนำอีกที ละกันครับ
ไม่กล้าแนะนำมากครับ เดี๋ยวผมไปพูดสิ่งที่มีในหลังสือท่านอีก
ไม่เป็นไรหรอกครับ

-.- แล้วขอถามอีกอย่างครับ เราจะใช้ ฟังก์ชั่น ซ้อนฟังก์ชั่นยังไงครับ

เช่น

function a ($a) {
$a += 1;
return $a;
}

แล้วฟังก์ชั่น b ()

ผมต้องการใช้ค่าในฟังก์ชั่น a แบบนี้อ่าคับ

function b () {
echo = a(12);
}

จะทำยังไงครับ ต้องใช้ global แบบไหน แล้วมันเกี่ยวกับ class (OOP) ไหมครับ

โดย mindphp » 28/02/2008 12:27 am

ขอโทษ ครับ ที่แนะนำ ข้อมูลที่ท่านมี ในหลังสืออยู่แล้ว
แต่ถ้าได้อ่านในบทความนั้น ก็มีบอกอยู่แล้วว่ามันดี ยังไง

ประโยชน์ของการเขียนโปรแกรมเชิงวัตถุคือ
1. การจัดรูปแบบโค้ดเป็นระบบระเบียบ ทำให้ง่ายต่อการพัฒนา และแก้ไขในภายหลัง
2.มีการป้องกันของข้อมูล เพื่อป้องกันการนำข้อมูลไปใช้อย่างผิดๆ ดังนั้นหากต้องการนำข้อมูลภายใน Object ไปใช้
3.การนำไปใช้สามารถทำได้ง่ายไม่ยุ่งวุ่นวาย และสามารถนำไปใช้ซ้ำได้โดยไม่ต้องเขียนโค้ดใหม่


ข้อดีของ OOP สำหรับ php5

* เข้าใจง่าย เพราะการทำงานเปรียบเสมือนการจำลองเหมือนในโลกจริง โดยอาศัยการมองทุกอย่างเป็น object ซึ่งแต่ละตัวมีหน้าที่และความหมายในตัว
* บำรุงรักษา และแก้ไขโปรแกรมได้ง่าย
* มีความปลอดภัยสูง เพราะจัดการกับ error ได้ดี
* นำกลับมาใช้ใหม่ได้ (reusability) ลดขั้นตอนในการเขียนโปรแกรม
* โปรแกรมมีคุณภาพสูง ขนาดโปรแกรมใหญ่ๆ
* เขียนโปรแกรมมีระบียบ เป็นระบบ

ข้อเสียของ OOP

* เข้าใจยาก สำหรับผู้เริ่มต้นเขียนโปรแกรม หรือถนัดเขียนโปรแกรม แบบ procedural
* ทำงานได้ช้ากว่านิดหน่อย สำหรับโปรแกรมขนาดเล็กๆ แต่ถ้าใหญ่ๆ จะทำงานดีขึ้น
* ใช้เวลาเขียน นานกว่า

ยังมีอีกเยอะคับ รอท่านอื่นมาแนะนำอีกที ละกันครับ
ไม่กล้าแนะนำมากครับ เดี๋ยวผมไปพูดสิ่งที่มีในหลังสือท่านอีก

โดย bankbonkbank » 27/02/2008 10:03 pm

ในหนังสือ PHP ของผมก็มีครับ

แต่อ่านแล้วก็ งงๆ ว่ามัน ใช้ทำอะไรพิเศษกว่าปกติกันแน่ -.-

โดย mindphp » 26/02/2008 11:19 pm

ลองอ่าน การเขียนโปรแกรมเชิงวัตถุ เป็นการเขียนโปรแกรมที่แตกต่างจากการเขียน
โปรแกรมแบบธรรมดา (แบบโครงสร้าง:Structure Programing)

https://www.mindphp.com/modules.php?name ... cle&sid=54

โดย bankbonkbank » 26/02/2008 11:02 pm

mindphp เขียน:แบบ แรก เป็น OOP
class class_aa
{
function aa()
{
echo 'aaaa';
}
}

แบบ สอง function
function aa()
{
echo 'aaaa';
}

ถ้าจะแสดง aaaa ออกมาจาก สองแบบข้างบนทำได้ดังนี้
แบบ แรก
$obj_a = new class_aa;
$obj_a->aa(); // จะได้ คำว่า aaaa ออกมา
แบบที่สอง
aa(); // จะได้ คำว่า aaaa ออกมา


:-D :-D :-D
แล้วงั้นจะทำเป็นแบบแรกให้ยุ่งยากทำไมอ่าคับ :-D

โดย mindphp » 25/02/2008 2:57 am

แบบ แรก เป็น OOP
class class_aa
{
function aa()
{
echo 'aaaa';
}
}

แบบ สอง function
function aa()
{
echo 'aaaa';
}

ถ้าจะแสดง aaaa ออกมาจาก สองแบบข้างบนทำได้ดังนี้
แบบ แรก
$obj_a = new class_aa;
$obj_a->aa(); // จะได้ คำว่า aaaa ออกมา
แบบที่สอง
aa(); // จะได้ คำว่า aaaa ออกมา


:-D :-D :-D

โดย bankbonkbank » 25/02/2008 2:48 am

ยังไงผมก็ยังไม่เข้าใจอยู่ดี = ="

ถ้าไม่เป็นการรบกวน ขอให้ท่าน ยกตัวอย่าง ให้เห็นความแตกต่างหน่อยครับ

ขอบคุณมากครับ

ข้างบน