สิ่งที่คุณต้องรู้เกี่ยวกับคุณสมบัติใน PHP



บทความนี้จะให้ความรู้โดยละเอียดและครอบคลุมเกี่ยวกับลักษณะใน PHP วิธีการใช้งานและความแตกต่างจากการสืบทอด

ก่อนที่เราจะเข้าใจลักษณะใน . เราได้เรียนรู้เกี่ยวกับการสืบทอดนั่นหมายความว่าคลาสสามารถขยายคลาสอื่น ๆ ได้ สมมติว่าคลาส B ขยายคลาส A และคลาส C ยังขยายคลาส A ซึ่งหมายความว่าฟังก์ชันที่กำหนดในคลาส A สามารถเข้าถึงได้โดยคลาส B และคลาส C แต่สมมติว่าคลาส B และคลาส C มีฟังก์ชันแทนที่ X และสมมติว่าคลาส D คือ ขยายทั้งสองชั้นเรียน

traits-in-php





แม้ว่าการสืบทอดหลายรายการจะไม่รองรับโดย PHP แต่สมมติว่ามันเป็นกรณีนั้นคลาส D จะทำงานใด มาจากคลาส B หรือมาจากคลาส C? ดังนั้นนี่จึงเป็นปัญหาการสืบทอดหลายประการนั่นเป็นสาเหตุที่ PHP ไม่รองรับ แต่มีหลายกรณีที่คุณต้องการขยายคลาสมากกว่าหนึ่งคลาสเพื่อให้โค้ดใช้ซ้ำได้

แปลงสตริงเป็นอาร์เรย์ php



เมื่อเราพูดถึงปัญหาการสืบทอดเดี่ยวคลาส D จะขยายคลาส C แต่ถ้าเราต้องการมีฟังก์ชันบางอย่างของคลาส B ในคลาส D สำหรับสิ่งนี้เราสามารถใช้ลักษณะที่แนะนำใน PHP 5.4 เป็นเรื่องง่ายและสะดวกในการสร้าง มันเหมือนกับคลาส แต่สำหรับกลุ่มของวิธีการเท่านั้นและเช่นเดียวกับคลาสนามธรรมคุณไม่สามารถสร้างอินสแตนซ์ดิสเครตได้

ลักษณะใน PHP

โดยทั่วไปพวกเขาสามารถกำหนดทั้งสมาชิกแบบคงที่และวิธีการแบบคงที่ซึ่งช่วยให้นักพัฒนาสามารถใช้วิธีการซ้ำได้อย่างอิสระในคลาสอิสระหลายชั้นในลำดับชั้นที่แตกต่างกัน ลักษณะหลีกเลี่ยงปัญหาที่เกี่ยวข้องกับการสืบทอดหลายอย่าง Mixins และยังช่วยลดความซับซ้อน



ไวยากรณ์:

 

สามารถรวมลักษณะภายในคลาสอื่น ๆ ได้ด้วยวิธีนี้

class Post {use Sharable} class Comment {use Sharable}

เนื่องจาก PHP ไม่อนุญาตให้มีการสืบทอดหลายรายการ Trait จึงถูกใช้เพื่อเอาชนะสิ่งนี้โดยอนุญาตให้เรานำฟังก์ชันเดิมมาใช้ซ้ำในหลายคลาส ตัวอย่างด้านล่างแสดงให้เห็นถึงการทำงานของลักษณะใน PHP

หน่วยความจำฮีปและสแต็กใน java
func ()?>

เอาท์พุต:

ข้อดีของลักษณะ

ลักษณะช่วยลดการทำซ้ำรหัสในขณะที่ป้องกันการสืบทอดคลาสที่ซับซ้อนซึ่งอาจไม่สมเหตุสมผลในบริบทของแอปพลิเคชันของคุณ

ค้นหาความยาวของอาร์เรย์จาวาสคริปต์

สิ่งนี้ช่วยให้สามารถกำหนดลักษณะง่ายๆที่ชัดเจนและรัดกุมแล้วผสมผสานในฟังก์ชันนั้น ๆ ตามความเหมาะสม

ลักษณะเทียบกับอินเทอร์เฟซใน PHP

โดยทั่วไปความแตกต่างที่สำคัญระหว่างอินเทอร์เฟซและลักษณะใน PHP คือลักษณะโดยทั่วไปจะกำหนดการใช้งานจริงของแต่ละวิธีในแต่ละคลาสดังนั้นอินเทอร์เฟซเดียวกันจึงถูกนำไปใช้ในหลายคลาส แต่มีพฤติกรรมที่แตกต่างกันในขณะที่ลักษณะเป็นเพียงส่วนของโค้ดที่แทรก ในชั้นเรียนใน PHP

 

ด้วยเหตุนี้เราจึงสิ้นสุดลักษณะเหล่านี้ในบทความ python ฉันหวังว่าคุณจะได้เรียนรู้เกี่ยวกับ Traits, Advantage of Traits และความแตกต่างระหว่าง Traits และ Interfaces

หากคุณพบว่าบล็อก PHP นี้เกี่ยวข้องโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ 'Traits in PHP' แล้วเราจะติดต่อกลับไป