سلام. داشتم کدهای یک پلاگین وردپرسی (المنتور) رو بررسی میکردم که سوالی برام پیش اومد.
داخل این پلاگین در درون کلاس ویجتها از هیچ پراپرتی استفاده نشده. در عوض همه چیز در قالب متدها قرار گرفته.
در مواردی که قراره فقط نام ویجت یا آی دی ویجت ذخیره بشه آیا بهتر نبود که به جای استفاده از یک متد از یک پراپرتی استفاده بشه؟
دلیل استفاده از متد برای برگردوندن فقط یک اسم چیه؟ و انتخاب بین متدی که یک کلمه رو بر میگردونه و متغیری که یک کلمه رو ذخیره میکنه چه تفاوتهایی دارند؟
البته شاید من موضوع رو اشتباه متوجه شده باشم اما به هر حال توی این مرحله فکر میکنم که المنتور ترجیح داده حتی برای ذخیره اسامی خاص هم از متد به جای پراپرتی یا متغیر استفاده کنه. و دلیل این کار رو نمیدونم.
نمونه:
class Widget_Accordion extends Widget_Base {
/**
* Get widget name.
*
* Retrieve accordion widget name.
*
* @since 1.0.0
* @access public
*
* @return string Widget name.
*/
public function get_name() {
return 'accordion';
}
/**
* Get widget title.
*
* Retrieve accordion widget title.
*
* @since 1.0.0
* @access public
*
* @return string Widget title.
*/
public function get_title() {
return esc_html__( 'Accordion', 'elementor' );
}
/**
* Get widget icon.
*
* Retrieve accordion widget icon.
*
* @since 1.0.0
* @access public
*
* @return string Widget icon.
*/
public function get_icon() {
return 'eicon-accordion';
}
/**
* Get widget keywords.
*
* Retrieve the list of keywords the widget belongs to.
*
* @since 2.1.0
* @access public
*
* @return array Widget keywords.
*/
public function get_keywords() {
return [ 'accordion', 'tabs', 'toggle' ];
}
protected function is_dynamic_content(): bool {
return false;
}
/**
* Get style dependencies.
*
* Retrieve the list of style dependencies the widget requires.
*
* @since 3.24.0
* @access public
*
* @return array Widget style dependencies.
*/
public function get_style_depends(): array {
return [ 'widget-accordion' ];
}
.
.
.