手记

FileViewFinder-1.php

namespace Illuminate\View;

 

use InvalidArgumentException;

use Illuminate\Filesystem\Filesystem;

// about namespace

class FileViewFinder implements ViewFinderInterface

{// FileViewFinder implements ViewFinderInterface

    /**

     * The filesystem instance.

     *

     * @var \Illuminate\Filesystem\Filesystem

     */

    protected $files;//The filesystem instance.

   // The protected

 

    /**

     * The array of active view paths.

     *

     * @var array

     */

    protected $paths;//The array of active view paths

   // set the view paths

 

    /**

     * The array of views that have been located.

     *

     * @var array

     */

    protected $views = [];//The array of views that have been located

   // array of views

 

    /**

     * The namespace to file path hints.

     *

     * @var array

     */

    protected $hints = [];//The namespace to file path hints/ just like notes

 

    /**

     * Register a view extension with the finder.

     *

     * @var array

     */

    protected $extensions = ['blade.php', 'php'];// Register a view extension with the finder

   // get the extension with the finder.

 

    /**

     * Create a new file view loader instance.

     *

     * @param  \Illuminate\Filesystem\Filesystem  $files

     * @param  array  $paths

     * @param  array  $extensions

     * @return void

     */

    public function __construct(Filesystem $files, array $paths, array $extensions = null)

    {// something this construct is always loader instance.

        $this->files = $files;// set files

        $this->paths = $paths;// set path

 

        if (isset($extensions)) {//if have extensions

            $this->extensions = $extensions;// set the extensions

        }

    }// set the instance

 

    /**

     * Get the fully qualified location of the view.

     *

     * @param  string  $name

     * @return string

     */

    public function find($name)

    {//Get the fully qualified location of the view.

        if (isset($this->views[$name])) {

            return $this->views[$name];

        }// return it,just set this world

 

        if ($this->hasHintInformation($name = trim($name))) {// determine this hints

            return $this->views[$name] = $this->findNamedPathView($name);// set this path of view

        }

 

        return $this->views[$name] = $this->findInPaths($name, $this->paths);// default set this path

    }

0人推荐
随时随地看视频
慕课网APP