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
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章