การเขียน PHP แบบ Oos หรือ Ps

เริ่มโดย sunbrightz, 20 มีนาคม 2018, 13:24:16

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

sunbrightz

สงสัยว่าถ้าเขียน PHP โดยเขียนแบบ Object oriented style ที่เป็นแบบ -> อะไรแบบนี้



กับแบบ Procedural style ประมาณว่า

<?php
$strsql 
"SELECT * FROM keygen";
$query mysqli_query($connect,$strsql);
while(
$result mysqli_fetch_array($query)){}
?>




มันมีความแตกต่างกันยังไงไหมครับ  :-X

!Blogger SEO~~

ผลลัพท์ไม่ต่างกันครับ

ที่เป็น OO เขาต้องการเพื่อที่เวลาแก้ไข จะดูง่ายครับ ถ้าเข้าใจหลักการของ OOP ก็จะมองโครงสร้างง่ายครับ
[direct=https://bit.ly/forexthai]สมัครเทรด Forex [/direct][direct=https://bit.ly/thforex]รายได้เสริม Passive Income $$$[/direct][direct=https://bit.ly/smarthunter]Copy Trade แจ่มมาก[/direct]
[direct=https://bit.ly/traderth][/direct]

gilbert

คือการอ้างถึง method ครับ

class Test {

function hello() {
}

}

$test = new Test();
$test->hello();

ประมาณนี้ครับ

infamous

สำหรับผม มันเป็นเรื่องของการห่อหุ้มของกลุ่มใดๆหรือหน้าที่สำหรับทำงานใดๆ ให้มีโครงสร้างหรือแนวทางที่เหมือนกันครับ

OOP มันจะดีตรงที่ว่า เราไม่จำเป็นต้องรู้ว่าใน $this->db->query() มันประกอบไปด้วย function call อะไรหรือ logic อะไรบ้าง
แต่เราสามารถ รู้ได้ทันทีว่า ถ้าหากต้องการ query เราสามารถ เขียน $this->db->query('...') ได้เลย โดยที่ไม่ต้องใช้ mysqli_connect() หรือ พวก fetch function
และแน่นอนว่า result set ที่ได้มันจะได้เป็นก้อน ไม่ใช่ array หรือ object แบบ stdClass เสมอไป ขึ้นอยู่กับโครงสร้างของการออกแบบด้วยครับ

สรุปง่ายๆคือ OOP มันจะเป็น wrapper ที่ช่วยห่อหุ้ม object หรือ class ใดๆให้เป็นก้อน ใช้งานง่าย เวลาแก้ไขระดับ core ก็ไม่ยุ่งยากครับ หรือแก้ไขที่ core ตัวเดียว ตัวอื่นที่สืบทอดไปก็ไม่ส่งผลกระทบมาก
มีความยืดหยุ่นในการสืบทอด ซึ่งเป็น concept หลักในหลายๆอย่าง ของหลักการ oop ในภาษาต่างๆ

ยกตัวอย่าง oop กับ ps ในเรื่องเกี่ยวกับบ้านจัดสรร(จำได้แม่นมากตอนเรียนป.ตรี)

OOP คือ ชุดโครงสร้างที่เหมือนกันหรือคล้ายกันทั้งหลัง แต่แตกต่างกันเพียง properties บางส่วนเช่นหน้าต่าง ประตู ห้องครัวเท่านั้น
PS  คือ บ้านจัดสรรที่มีโครงสร้างที่ไม่เหมือนกัน สร้างใครสร้างมัน คุณลักษณะแต่ละส่วนก็จะแตกต่างกันออกไป

ผิดพลาดส่วนใดก็ขอโทษด้วยนะครับ

goragod

ถ้าในอดีต (PHP 5.3) Object จะเป็นรองการเขียนปกติอยู่หลายขุมนะครับ และ PHP ก็เน้นพัฒนาไปในทาง Object และตั้งแต่ PHP7 ขึ้นไป Object ก็ถือว่าเหนือการเขียนแบบปกติอยู่หลายขุมเช่นกัน ... อันนี้ว่าด้วยเรื่องประสิทธิภาพอย่างเดียวนะครับ

ในด้านการใช้งาน แบบ Object มันมีข้อดีตรงที่มันมี property และ การสืบทอด ซึ่ง Editor สมัยใหม่หลายๆตัว ได้ใช้ความสามารถนี้ในการช่วยการเขียนด้วยการลิสต์รายการ property ที่เป็นไปได้มาแสดงอัตโนมัติแค่พิมพ์ -> ใน Object ทำให้การเขียนโปรแกรมแบบ Object ง่ายขึ้น

ถ้าจะให้ดีกว่านี้ ก็ต้องรอ PHP พัฒนาเป็น Object เต็มตัว (เช่น MVC) ซึ่งไม่รู้จะเกิดขึ้นหรือเปล่า เพราะถ้าเกิดจริง คนเขียน PHP คงต้องปรับตัวกันขนานใหญ่

สรุป ในปัจจุบันที่มี คำสั่งที่เป็น Object ให้เลือก แนะนำให้ใช้ Object ในการเขียนครับ

sunbrightz

แล้วในด้านประสิทธิภาพละครับ ความเร็ว ความหน่วง จะต่างกันไหมครับ

goragod

#6
ถ้า PHP 7 ขึ้นไป Object มีประสิทธิภาพดีกว่าอย่างเห็นได้ชัดเจนครับ

เปรียบเทียบความเร็วในการเข้าถึงข้อมูลของตัวแปรแอเรย์ กับ property ของ Object

!Blogger SEO~~

อ้างถึงจาก: goragod ใน 21 มีนาคม 2018, 14:23:07
ถ้า PHP 7 ขึ้นไป Object มีประสิทธิภาพดีกว่าอย่างเห็นได้ชัดเจนครับ

เปรียบเทียบความเร็วในการเข้าถึงข้อมูลของตัวแปรแอเรย์ กับ property ของ Object

ไม่เคยทดสอบรูปแบบนี้เลยครับ เลยสงสัยว่า
การเข้าถึงข้อมูลที่เป็น Array ค่อนข้างไว กว่า ปกติ ใช่ไหมครับ หรือเป็นที่ v. PHP อย่างเดียวครับ
กรณี ภาษาอื่น เช่น C# มีผลลัพธ์คล้ายคลึงไหมครับ
[direct=https://bit.ly/forexthai]สมัครเทรด Forex [/direct][direct=https://bit.ly/thforex]รายได้เสริม Passive Income $$$[/direct][direct=https://bit.ly/smarthunter]Copy Trade แจ่มมาก[/direct]
[direct=https://bit.ly/traderth][/direct]