首页 > Web开发 > 详细

[李景山php]每天laravel-20161106|EngineResolver.php

时间:2016-09-06 23:51:12      阅读:328      评论:0      收藏:0      [点我收藏+]
<?php

namespace Illuminate\View\Engines;

use Closure;
use InvalidArgumentException;

class EngineResolver
{// engineResolver
    /**
     * The array of engine resolvers.
     *
     * @var array
     */
    protected $resolvers = [];// The array of engine resolvers.

    /**
     * The resolved engine instances.
     *
     * @var array
     */
    protected $resolved = [];// The resolved engine instances.

    /**
     * Register a new engine resolver.
     *
     * The engine string typically corresponds to a file extension.
     *
     * @param  string   $engine
     * @param  \Closure  $resolver
     * @return void
     */
    public function register($engine, Closure $resolver)
    {
        unset($this->resolved[$engine]);// first to unset it

        $this->resolvers[$engine] = $resolver;// set it
    }// Register a new engine resolver.
   // change the new register

    /**
     * Resolver an engine instance by name.
     *
     * @param  string  $engine
     * @return \Illuminate\View\Engines\EngineInterface
     * @throws \InvalidArgumentException
     */
    public function resolve($engine)
    {// resolver an engine instance by name.
        if (isset($this->resolved[$engine])) {
            return $this->resolved[$engine];
        }// isset resolved

        if (isset($this->resolvers[$engine])) {
            return $this->resolved[$engine] = call_user_func($this->resolvers[$engine]);
        }// isset resolvers
       // call_user_func has been used

        throw new InvalidArgumentException("Engine $engine not found.");
    }// throw new exception
}


本文出自 “专注php 群号:414194301” 博客,请务必保留此出处http://jingshanls.blog.51cto.com/3357095/1846650

[李景山php]每天laravel-20161106|EngineResolver.php

原文:http://jingshanls.blog.51cto.com/3357095/1846650

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!