继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

CompileEngine.php-1

慕慕森
关注TA
已关注
手记 284
粉丝 18
获赞 103

namespace Illuminate\View\Engines;

 

use Exception;

use ErrorException;

use Illuminate\View\Compilers\CompilerInterface;

// namespace

class 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.

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP