require_once not working in plugin wordpress

The issue was resolved. I had to hook the custom classes to the customize_register action hook. Something like this –

function itlst_extend_customize_control() {    
if ( class_exists('WP_Customize_Control') ) {

class itlst_WP_Customize_Property_Control extends WP_Customize_Control {

/**
 * Render the control's content.
 */
public function render_content() {
    $dropdown = wp_dropdown_categories(
        array(
            'name'              => '_customize-dropdown-categories-' . $this->id,
            'echo'              => 0,
            'show_option_none'  => __( '— Select —', 'it-listings' ),
            'taxonomy'          => 'property-type',
            'option_none_value' => '0',
            'selected'          => $this->value(),
        )
    );

    $dropdown = str_replace( '<select', '<select ' . $this->get_link(), $dropdown );

    printf(
        '<label class="customize-control-select"><span class="customize-control-title">%s</span> %s</label>',
        esc_html($this->label),
        $dropdown
    );
}
}
}
add_action('customize_register', 'itlst_extend_customize_control');

This is peculiar as in themes, nothing of this sort has to be done. Seems like classes are included after the customize_register hook in plugins.

tech