亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PhpEngine.php

標簽:
PHP

<?php

 

namespace Illuminate\View\Engines;

 

use Exception;

use Throwable;

use Symfony\Component\Debug\Exception\FatalThrowableError;

 

class PhpEngine implements EngineInterface

{// PhpEngine implements EngineInterface

    /**

     * Get the evaluated contents of the view.

     *

     * @param  string  $path

     * @param  array   $data

     * @return string

     */

    public function get($path, array $data = [])

    {

        return $this->evaluatePath($path, $data);

    }// get the evaluated contents of the view.

   // evaluate Path

 

    /**

     * Get the evaluated contents of the view at the given path.

     *

     * @param  string  $__path

     * @param  array   $__data

     * @return string

     */

    protected function evaluatePath($__path, $__data)

    {// Get the evaluated contents of the view at the given path

        $obLevel = ob_get_level();// get this ob level

 

        ob_start();// start ob

 

        extract($__data, EXTR_SKIP);// get this data

 

        // We'll evaluate the contents of the view inside a try/catch block so we can

        // flush out any stray output that might get out before an error occurs or

        // an exception is thrown. This prevents any partial views from leaking.

        try {

            include $__path;// try get this file

        } catch (Exception $e) {

            $this->handleViewException($e, $obLevel);// handle

        } catch (Throwable $e) {

            $this->handleViewException(new FatalThrowableError($e), $obLevel);// handle

        }// we'll evaluate the contents of the view inside a try/catch block so we can

       // flush out any stray output that might get out before an error occurs or

       // an exception is thrown. this prevents any partial view from leaking.

 

        return ltrim(ob_get_clean());

    }

 

    /**

     * Handle a view exception.

     *

     * @param  \Exception  $e

     * @param  int  $obLevel

     * @return void

     *

     * @throws $e

     */

    protected function handleViewException(Exception $e, $obLevel)

    {

        while (ob_get_level() > $obLevel) {

            ob_end_clean();

        }// clean ever thing

 

        throw $e;// throw $e

    }//Handle a view exception.

}

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消