namespace Illuminate\View\Engines;use Exception;use ErrorException;use Illuminate\View\Compilers\CompilerInterface;// namespaceclass CompilerEngine extends PhpEngine{// class CompilerEngine extends PhpEngine    /**     * The Blade compiler instance.     *     * @var \Illuminate\View\Compilers\CompilerInterface     */    protected $compiler;// The Blade compiler instance    /**     * A stack of the last compiled templates.     *     * @var array     */    protected $lastCompiled = [];// a stack of the last compiled templates    /**     * Create a new Blade view engine instance.     *     * @param  \Illuminate\View\Compilers\CompilerInterface  $compiler     * @return void     */    public function __construct(CompilerInterface $compiler)    {        $this->compiler = $compiler;// must be set or right    }//Create a new blade view engine instance    /**     * Get the evaluated contents of the view.     *     * @param  string  $path     * @param  array   $data     * @return string     */    public function get($path, array $data = [])    {// evaluated contents of the view.        $this->lastCompiled[] = $path;// this path  be set        // If this given view has expired, which means it has simply been edited since        // it was last compiled, we will re-compile the views so we can evaluate a        // fresh copy of the view. We'll pass the compiler the path of the view.        if ($this->compiler->isExpired($path)) {            $this->compiler->compile($path);        }// If this given view has expired, which means it has simply been edited since       // it was last compiled, we will re-compile the views so we can evaluate a       // fresh copy of the view. we'll pass the compiler the path of the view.        $compiled = $this->compiler->getCompiledPath($path);//get compiled Path        // Once we have the path to the compiled file, we will evaluate the paths with        // typical PHP just like any other templates. We also keep a stack of views        // which have been rendered for right exception messages to be generated.        $results = $this->evaluatePath($compiled, $data);       // Once we have the path to the compiled file, we will evaluate the paths with       // typical PHP just like any other templates. we also keep a stack of views       //which have been rendered for right exception messages to be generated        array_pop($this->lastCompiled);        return $results;    }// get the results.