I2C Verification environment using the UVM

In this model you use in /iic/iic_tb/test/iicPcTest/iicPcTest.svh
phase.raise_objection(this,“iicPcTest”);

What is the difference between uvm_test_done. and phase.?

  •      uvm_test_done.raise_objection(this);  
    
  •      phase.raise_objection(this,"iicPcTest"); 
    

Also, which is better use?
Ben