แนวคิด OOPS ใน PHP | การเขียนโปรแกรมเชิงวัตถุใน PHP

เผยแพร่แล้ว: 2020-12-14

PHP เป็นแพลตฟอร์มที่ยืดหยุ่นในแง่ของการเข้าถึงฟังก์ชันและตัวแปรของสมาชิก 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 โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

มาเป็นนักพัฒนาเต็มรูปแบบ

สมัครเลยตอนนี้สำหรับปริญญาโทด้านวิศวกรรมซอฟต์แวร์