แนวคิด OOPS ใน PHP | การเขียนโปรแกรมเชิงวัตถุใน PHP
เผยแพร่แล้ว: 2020-12-14PHP เป็นแพลตฟอร์มที่ยืดหยุ่นในแง่ของการเข้าถึงฟังก์ชันและตัวแปรของสมาชิก OOP ใน PHP หมายถึงรูปแบบการเขียนโปรแกรมที่มีการเชื่อมโยงของคลาส วัตถุ และส่วนประกอบต่างๆ
PHP เป็นภาษาโปรแกรมฝั่งเซิร์ฟเวอร์ที่ใช้สำหรับการพัฒนาเว็บ การเขียนโปรแกรมเชิงวัตถุใน PHP ช่วยให้นักพัฒนาสร้างเว็บแอปพลิเคชันที่ซับซ้อนและนำมาใช้ใหม่ได้ การเขียนโปรแกรมเชิงวัตถุเป็นรูปแบบการเขียนโปรแกรมที่อ้างถึงการเชื่อมโยงขององค์ประกอบต่าง ๆ และหมุนรอบการสืบทอด ความหลากหลาย การห่อหุ้ม และแนวคิดนามธรรม
OOP ถูกตั้งโปรแกรมในลักษณะที่ผู้ใช้สามารถโฟกัสที่วัตถุในขณะที่พัฒนาโปรแกรมและโค้ด แต่ไม่ใช่ขั้นตอน OOP ยังเน้นเขียนโปรแกรมให้ใกล้เคียงกับชีวิตจริง ในบทความนี้ เราจะมาสำรวจแนวคิด OOP หลักบางส่วนใน PHP
สารบัญ
แนวคิด OOPS ที่สำคัญใน PHP
PHP เป็นภาษาโปรแกรมเชิงวัตถุที่รองรับแนวคิดหลายอย่าง บางส่วนมีดังนี้:
คลาสและอ็อบเจ็กต์ – คลาสเป็นประเภทข้อมูลที่กำหนดโดยโปรแกรมเมอร์ ซึ่งรวมถึงตัวแปรในเครื่องและเมธอดในเครื่อง นอกจากนี้ยังเป็นคอลเล็กชันของอ็อบเจ็กต์ ในขณะที่อ็อบเจ็กต์มีคุณสมบัติและพฤติกรรมที่คล้ายคลึงกัน อินสแตนซ์โครงสร้างข้อมูลเดียวที่กำหนดโดยคลาสเป็นวัตถุ คลาสเป็นแบบทั่วไปและแบบเฉพาะเจาะจง นักพัฒนาสามารถสร้างอินสแตนซ์อ็อบเจ็กต์ได้ แต่ไม่ใช่คลาส และอ็อบเจ็กต์คืออินสแตนซ์ของคลาส
อินเทอร์ เฟซ – ส่วนต่อประสานใน PHP เป็นคำอธิบายของการกระทำที่วัตถุสามารถทำได้ มันถูกเขียนในลักษณะเดียวกับที่คลาสถูกประกาศด้วยทุกคำสำคัญของอินเตอร์เฟส เมธอดที่ประกาศในอินเทอร์เฟซเป็นแบบสาธารณะ และสามารถขยายได้เหมือนกับคลาสที่มีตัวดำเนินการขยายเดียวกัน

นามธรรม - นามธรรมเป็นแนวคิดของการเปลี่ยนจุดเน้นจากรายละเอียดการเขียนโปรแกรมและการดำเนินการอย่างเป็นรูปธรรมของสิ่งต่าง ๆ เป็นประเภทและความพร้อมใช้งานของการดำเนินงาน สิ่งที่เป็นนามธรรมทำให้การเขียนโปรแกรมเป็นเรื่องง่ายและเป็นเรื่องทั่วไปสำหรับนักพัฒนา และเป็นเหมือนการทำให้ข้อกำหนดทั่วไปกลายเป็นเรื่องทั่วๆ ไป
ตัว สร้าง – เป็นฟังก์ชันพิเศษที่ถูกเรียกโดยอัตโนมัติเมื่อใดก็ตามที่มีการสร้างวัตถุจากคลาส
Destructor – เป็นฟังก์ชันพิเศษที่เรียกใช้โดยอัตโนมัติเมื่อใดก็ตามที่วัตถุถูกลบหรือออกจากขอบเขต
โอเวอร์โหลด – เป็นชนิดพิเศษของความหลากหลายซึ่งตัวดำเนินการทั้งหมดหรือสองสามตัวมีการใช้งานที่หลากหลายขึ้นอยู่กับชนิดของอาร์กิวเมนต์ ฟังก์ชันเดียวกันอาจมีการใช้งานมากเกินไป
อ่าน: แนวคิดและหัวข้อโครงการ PHP
หลักการและแนวคิด OOPS ใน PHP
หลักการเขียนโปรแกรมเชิงวัตถุที่สำคัญใน PHP มีดังนี้:
การ ห่อหุ้ม - แนวคิดนี้เน้นย้ำถึงคุณสมบัติการโยง เมธอด และซ่อนรายละเอียดการใช้งาน วัตถุประสงค์หลักของการห่อหุ้มคือเพื่อจำกัดความยุ่งยากในระหว่างการพัฒนาซอฟต์แวร์ และยังทำให้การใช้คลาสอ็อบเจ็กต์ง่ายขึ้นอีกด้วย นอกจากนี้ยังปกป้องสถานะภายในของวัตถุและทำให้ง่ายต่อการบำรุงรักษา
การ สืบทอด - แนวคิดนี้สอดคล้องกับความสัมพันธ์ระหว่างคลาส และเน้นความสัมพันธ์ระหว่างคลาสย่อยและคลาสพาเรนต์ นอกจากนี้ เด็กยังใช้วิธีที่กำหนดโดยพาเรนต์
ฟังก์ชันหลักของการสืบทอดคือความสามารถในการนำกลับมาใช้ใหม่ได้ ซึ่งมีประโยชน์อย่างยิ่งเมื่อนักพัฒนาต้องนำเสนอฟังก์ชันพื้นฐาน เช่น การอัปเดต การเพิ่ม หรือการลบส่วนประกอบข้อมูลออกจากฐานข้อมูล การสืบทอดถูกแบ่งส่วนเป็นการสืบทอดระดับเดียวและการสืบทอดหลายระดับ
ความ หลากหลาย - คำนี้หมายถึงการใช้อินสแตนซ์แต่ละรายการภายใต้วิธีการดำเนินการหลายวิธี เป็นแนวคิดที่ช่วยให้ผู้ใช้สามารถกำหนดวิธีการโดยการเปลี่ยนกลุ่มหรือเปลี่ยนวิธีการทำ Polymorphism เน้นที่การรักษาแอปพลิเคชันควบคู่ไปกับการดำเนินการกรณีใช้งานที่ขยายได้
อ่านเพิ่มเติม: คำถามสัมภาษณ์ PHP
การสร้างวัตถุใน PHP
ก่อนอื่นใน PHP คลาสจะถูกสร้างขึ้นโดยที่ผู้ใช้สามารถสร้างหลายอ็อบเจ็กต์ในคลาสเดียวกันได้ตามต้องการ แต่ละวัตถุถูกสร้างขึ้นด้วยความช่วยเหลือของคำหลักใหม่ เมื่อสร้างคลาสแล้ว นักพัฒนาสามารถสร้างอ็อบเจ็กต์ได้มากเท่าที่ต้องการสำหรับคลาสเดียวกัน
เรียกสมาชิกฟังก์ชัน
เมื่อวัตถุถูกสร้างขึ้น นักพัฒนาสามารถเข้าถึงฟังก์ชันเมธอดและตัวแปรของคลาสได้โดยใช้ตัวดำเนินการ '->' ฟังก์ชันสมาชิกหนึ่งฟังก์ชันสามารถประมวลผลตัวแปรสมาชิกของอ็อบเจ็กต์ที่เกี่ยวข้องเท่านั้น ให้เรายกตัวอย่างที่แสดงวิธีการกำหนดราคาและชื่อหนังสือสามเล่มโดยเรียกฟังก์ชันสมาชิก:

$physics->setTitle( “ฟิสิกส์สำหรับมัธยมปลาย” );
$chemistry->setTitle( “เคมีขั้นสูง” );
$maths->setTitle( “พีชคณิต” );
$ฟิสิกส์->setPrice( 10 );
$เคมี->setPrice( 15 );
$maths->setPrice( 7 );
ในการรับชุดค่า คุณสามารถเรียกใช้ฟังก์ชันสมาชิกอื่น:
$ฟิสิกส์->getTitle();
$เคมี->getTitle();
$maths->getTitle();
$ฟิสิกส์->getPrice();
$เคมี->getPrice();
$maths->getPrice();
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้:
ฟิสิกส์สำหรับโรงเรียนมัธยม
เคมีขั้นสูง
พีชคณิต
10
15
7
การสร้างคลาสนามธรรม
<?php
คลาสนามธรรม DBCommonMethods
{
ส่วนตัว $host;
ส่วนตัว $db;
$uid ส่วนตัว;
รหัสผ่าน $ ส่วนตัว;
ฟังก์ชันสาธารณะ __construct($host, $db, $uid, $password)
{
$this->host = $host;
$this->db = $db;
$this->uid = $uid;
$this->รหัสผ่าน = $รหัสผ่าน;
}
}
?>
ที่นี่,
- “คลาสนามธรรม” หมายถึงคลาสที่ไม่สามารถใช้โดยตรงสำหรับการสร้างวัตถุ
- “$host,$db …” เป็นตัวแปรคลาสทั่วไปในการใช้งานต่างๆ
การสร้างอินเทอร์เฟซ
ให้เราสร้างอินเทอร์เฟซที่มีวิธีการมาตรฐานเพื่อใช้ตัวแปรฐานข้อมูลที่แตกต่างกัน:
<?php
อินเทอร์เฟซ DBInterface
{
ฟังก์ชั่นสาธารณะ db_connect();
การแทรกฟังก์ชันสาธารณะ($data);
ฟังก์ชั่นสาธารณะอ่าน($ที่ไหน);
อัปเดตฟังก์ชันสาธารณะ($where);
ฟังก์ชั่นสาธารณะ ลบ($where);
}
?>
ที่นี่,
- “อินเทอร์เฟซ” เป็นคีย์เวิร์ดสำหรับสร้างอินเทอร์เฟซ
- “หน้าที่สาธารณะ” เป็นวิธีมาตรฐานในการดำเนินการ
ให้เราสร้างคลาสที่เป็นรูปธรรมที่สามารถขยายคลาสและอินเตอร์เฟส DBCommon Methods:
<?php class MySQLDriver ขยาย
DBCommonMethods ใช้ DBInterface { ฟังก์ชั่นสาธารณะ __construct($host, $db, $uid, $password)
{
ผู้ปกครอง::__construct($host, $db, $uid, $password); }
ฟังก์ชั่นสาธารณะ db_connect () { // รหัสเชื่อมต่อไปที่นี่ }
ฟังก์ชั่นสาธารณะ delete($where) { //delete code go here }
การแทรกฟังก์ชันสาธารณะ ($ data) { // ใส่โค้ดที่นี่ }
ฟังก์ชั่นสาธารณะ read($where) { //read code go here }
อัปเดตฟังก์ชันสาธารณะ ($ ที่ไหน) { // อัปเดตโค้ดที่นี่ }
} ?>
ฟังก์ชันแทนที่
ฟังก์ชันในคลาสย่อยจะแทนที่ด้วยชื่อเดียวกับคลาสพาเรนต์ ในคลาสย่อย ผู้พัฒนาสามารถแก้ไขนิยามฟังก์ชันที่สืบทอดมาจากคลาสพาเรนต์
ฟังก์ชัน getPrice() {
echo $this->price “<br/>”;
ส่งคืน $this->price;
}
ฟังก์ชัน getTitle(){
echo $this->title “<br/>”;
คืนค่า $this->title;

}
ทัศนวิสัย
แต่ละเมธอดและคุณสมบัติใน PHP มีการมองเห็นที่ประกาศโดยคำหลัก เช่น ส่วนตัว สาธารณะ และการป้องกัน ซึ่งอธิบายไว้ด้านล่าง:
- สาธารณะ- อนุญาตให้ผู้ใช้จากภายนอกเข้าถึงวิธีการและทรัพย์สิน
- ส่วนตัว- ไม่ให้การเข้าถึงแก่ผู้ใช้ใด ๆ ยกเว้นตัวเอง
- Protected- อนุญาตเฉพาะคลาสย่อยและตัวมันเองเพื่อเข้าถึงวิธีการและคุณสมบัติ
ลงทะเบียนเรียน หลักสูตรวิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
บทความนี้กล่าวถึงแนวคิดพื้นฐานของการเขียนโปรแกรมเชิงวัตถุใน PHP
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์แบบฟูลสแตก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ
