ฉันมีสองคลาส: Action
และMyAction
. หลังถูกประกาศเป็น:
class MyAction extends Action {/* some methods here */}
สิ่งที่ฉันต้องการคือเมธอดในAction
คลาส (เฉพาะในนั้นเนื่องจากจะมีคลาสที่สืบทอดมาจำนวนมากและฉันไม่ต้องการใช้เมธอดนี้ในทุกคลาส) ซึ่งจะส่งคืนชื่อคลาสจากการเรียกแบบคงที่ นี่คือสิ่งที่ฉันกำลังพูดถึง:
Class Action {
function n(){/* something */}
}
และเมื่อฉันเรียกมันว่า:
MyAction::n(); // it should return "MyAction"
แต่การประกาศแต่ละครั้งในคลาสพาเรนต์มีสิทธิ์เข้าถึงเฉพาะ__CLASS__
ตัวแปรคลาสพาเรนต์ซึ่งมีค่า“ Action”
มีวิธีใดบ้างที่เป็นไปได้ในการดำเนินการนี้