Report_phase usage within interface

In reply to dave_59:

In reply to prniar:
The simple way is constructing a uvm_component inside your module or interface.

module something;
class my_check extends uvm_pkg::uvm_component;
...
function void report_phase(uvm_phase phase);
// your code here
endfunction
endclass
my_check h=new("my_check",null);
...
endmodule

Construction of the class will enable the report_phase to get executed.

dave sir,
class my_check extends uvm_pkg::uvm_component;

what is meaning of this extention ,

normally i am using :- class shubham extends uvm_component;
please tell me what is importance of uvm_pkg here