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

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

Factory.php

標簽:
PHP

<?php

 

namespace Illuminate\View;

 

use Closure;

use Illuminate\Support\Arr;

use Illuminate\Support\Str;

use InvalidArgumentException;

use Illuminate\Contracts\Support\Arrayable;

use Illuminate\View\Engines\EngineResolver;

use Illuminate\Contracts\Events\Dispatcher;

use Illuminate\Contracts\Container\Container;

use Illuminate\Contracts\View\Factory as FactoryContract;

// super cool namespace

class Factory implements FactoryContract

{// factory implements the Factory Contract

    /**

     * The engine implementation.

     *

     * @var \Illuminate\View\Engines\EngineResolver

     */

    protected $engines;// The engine implementation

 

    /**

     * The view finder implementation.

     *

     * @var \Illuminate\View\ViewFinderInterface

     */

    protected $finder;//The view finder implementation,this protected

 

    /**

     * The event dispatcher instance.

     *

     * @var \Illuminate\Contracts\Events\Dispatcher

     */

    protected $events;// the event dispatcher instance

 

    /**

     * The IoC container instance.

     *

     * @var \Illuminate\Contracts\Container\Container

     */

    protected $container;//The IoC container instance

 

    /**

     * Data that should be available to all templates.

     *

     * @var array

     */

    protected $shared = [];//Data that should be available to all templates.

   // this mind may be too expensive

 

    /**

     * Array of registered view name aliases.

     *

     * @var array

     */

    protected $aliases = [];// array of registered view name aliases.

 

    /**

     * All of the registered view names.

     *

     * @var array

     */

    protected $names = [];//all of the registered view names.

 

    /**

     * The extension to engine bindings.

     *

     * @var array

     */

    protected $extensions = ['blade.php' => 'blade', 'php' => 'php'];

   // The extension to engine bindings.

 

    /**

     * The view composer events.

     *

     * @var array

     */

    protected $composers = [];//The view composer events

 

    /**

     * All of the finished, captured sections.

     *

     * @var array

     */

    protected $sections = [];//All of the finished, captured sections

 

    /**

     * The stack of in-progress sections.

     *

     * @var array

     */

    protected $sectionStack = [];//The stack of in-progress sections.

 

    /**

     * The number of active rendering operations.

     *

     * @var int

     */

    protected $renderCount = 0;// The number of active rendering operations.

 

    /**

     * Create a new view factory instance.

     *

     * @param  \Illuminate\View\Engines\EngineResolver  $engines

     * @param  \Illuminate\View\ViewFinderInterface  $finder

     * @param  \Illuminate\Contracts\Events\Dispatcher  $events

     * @return void

     */

    public function __construct(EngineResolver $engines, ViewFinderInterface $finder, Dispatcher $events)

    {// create a new view factory instance.

        $this->finder = $finder;

        $this->events = $events;

        $this->engines = $engines;// get this engines

 

        $this->share('__env', $this);

    }//share env

 

    /**

     * Get the evaluated view contents for the given view.

     *

     * @param  string  $path

     * @param  array   $data

     * @param  array   $mergeData

     * @return \Illuminate\Contracts\View\View

     */

    public function file($path, $data = [], $mergeData = [])

    {// get the data

        $data = array_merge($mergeData, $this->parseData($data));

// array_merge

        $this->callCreator($view = new View($this, $this->getEngineFromPath($path), $path, $path, $data));

// callCreator

        return $view;

    }// Get the evaluated view contents for the given view.

點擊查看更多內容
TA 點贊

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

評論

作者其他優質文章

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

100積分直接送

付費專欄免費學

大額優惠券免費領

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

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消