当前位置: 首页 > news >正文

小学英语教师做应用相关网站施工企业是什么

小学英语教师做应用相关网站,施工企业是什么,百度 wordpress插件,pdf插件 wordpress介绍 Laravel 框架的所有配置文件都保存在 config 目录中。每个选项都有说明,你可随时查看这些文件并熟悉都有哪些配置选项可供你使用。 使用 您可以在应用程序的任何位置使用全局 config 辅助函数轻松访问配置值。 可以使用“点”语法访问配置值,其中…

介绍

Laravel 框架的所有配置文件都保存在 config 目录中。每个选项都有说明,你可随时查看这些文件并熟悉都有哪些配置选项可供你使用。

使用

您可以在应用程序的任何位置使用全局 config 辅助函数轻松访问配置值。 可以使用“点”语法访问配置值,其中包括您希望访问的文件名和选项。 也可以指定默认值,如果配置选项不存在,将返回:

$value = config('app.timezone');// 如果配置值不存在,则检索默认值...
$value = config('app.timezone', 'Asia/Seoul');

使用分析

我们可以先看一下助手函数 config

if (! function_exists('config')) {/*** Get / set the specified configuration value.** If an array is passed as the key, we will assume you want to set an array of values.** @param  array|string|null  $key* @param  mixed  $default* @return mixed*/function config($key = null, $default = null){if (is_null($key)) {return app('config');}if (is_array($key)) {return app('config')->set($key);}return app('config')->get($key, $default);}
}

分析

app(‘config’) 是注册到服务容器的实例,这里我们追踪到config 的实例是

Illuminate\Contracts\Config\Repository

Repository 的 set & get 方法代码如下

    /*** Set a given configuration value.** @param  array|string  $key* @param  mixed  $value* @return void*/public function set($key, $value = null){$keys = is_array($key) ? $key : [$key => $value];foreach ($keys as $key => $value) {Arr::set($this->items, $key, $value);}}/*** Get the specified configuration value.** @param  array|string  $key* @param  mixed  $default* @return mixed*/public function get($key, $default = null){if (is_array($key)) {return $this->getMany($key);}return Arr::get($this->items, $key, $default);}

这时我们就可以清晰的知道,助手函数config($key = null, $default = null)的含义:

  • 如果$key 不传或者传null,返回的是注册到服务容器中Repository实例
  • 如果$key 为数组,那么修改Repository 的 items的值
  • 其他情况 返回 Repository 的 items[$key] ?? $default

  • 此时我们就可能有疑问 Repositiry 中 items 值是什么时候进行赋值的呢?赋的值又是那些呢?接下来我们一点点的分析

    绑定服务容器

    在laravel运行中,并没有直接绑定 Repositiry 到容器中,而是第一次构建config实例的时候进行了绑定,app(‘config’) 或者 app()->make(‘config’) 时检测是否进行绑定,如果没有的话进行绑定,下面时make函数:

        /*** Resolve the given type from the container.** @param  string  $abstract* @param  array  $parameters* @return mixed*/public function make($abstract, array $parameters = []){$abstract = $this->getAlias($abstract);if (! $this->bound($abstract) &&array_key_exists($abstract, $this->availableBindings) &&! array_key_exists($this->availableBindings[$abstract], $this->ranServiceBinders)) {$this->{$method = $this->availableBindings[$abstract]}();$this->ranServiceBinders[$method] = true;}return parent::make($abstract, $parameters);}
    

    根据代码可知

    $this->availableBindings['config'] = registerConfigBindings
    

    registerConfigBindings函数即为绑定到容器方法

        /*** Register container bindings for the application.** @return void*/protected function registerConfigBindings(){$this->singleton('config', function () {return new ConfigRepository;});}
    

    因此在调用make(‘config’) 时若没有绑定,自动调用registerConfigBindings方法进行绑定

    配置文件赋值

    在bootstrap/app.php中,进行对配置文件进行了赋值,譬如:

    $app->configure('auth');
    $app->configure('permission');
    $app->configure('excel');
    $app->configure('database');
    

    configure函数为:

        /*** Load a configuration file into the application.** @param  string  $name* @return void*/public function configure($name){if (isset($this->loadedConfigurations[$name])) {return;}$this->loadedConfigurations[$name] = true;$path = $this->getConfigurationPath($name);if ($path) {$this->make('config')->set($name, require $path);}}
    

    这里的操作就是将conf/$name.conf 的内容写到 Repositiry 中 items 值中

http://www.yayakq.cn/news/115955/

相关文章:

  • 企业网站建设xplogo主页去掉wordpress
  • 长沙市城市建设档案馆官方网站外贸圈阿里巴巴
  • 宁波市节约型机关建设考试网站佛山全网优化
  • 技术支持 郑州做网站东莞关键词优化效果
  • wordpress主题网站模板网站建设和维护待遇
  • 免流网站开发设计灵感网站整理
  • 做网站难度大吗电子商务网站建设的方法有哪些
  • 河北省城乡建设培训网官方网站wordpress仿站难吗
  • 做小说网站做国外域名还是国内的好处网站建设中 什么意思
  • 公司做网站的费用的会计分录平面设计很难学吗
  • 桦甸市城乡建设局网站广州优化seo
  • 宁海有做网站的吗动漫网站建站目的
  • 做网站一定要实名认证吗网站内容如何编辑
  • 三亚网站建设公司中药材天地网做中药零售网站
  • 做阿里巴巴网站应怎样定位如何鉴别网站有没有做301重定向
  • 个人网站制作过程建设银行的官方网站电脑版
  • 马鞍山网站设计制作无锡手机网站建设服务
  • 百度给做网站收费多少钱什么为网站建设提供基础素材
  • 做旅游游客产品的网站wordpress上传到域名
  • 做交互的设计网站白云企业网站建设
  • 公司变更地址需要几天做神马seo快速排名软件
  • 国外电子商务网站百度app官方下载安装到手机
  • 西安网站推广慧创网站建设有哪些方法
  • 定安住房和城乡建设局网站做网站 外文参考文献
  • 建设网站需要花费多少钱个人网站设计模板中文
  • 体现网站特色自己做黑彩网站
  • 做一个网站得多少钱甘肃省住房和城乡建设厅注册中心网站
  • 网站开发的职责与分工网站logo如何修改
  • 巨鹿做网站哪家好wordpress 营销
  • 广州黄埔做网站的公司勾线外包网站