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

网站建设哪家服务好莫停之科技windows优化大师

网站建设哪家服务好,莫停之科技windows优化大师,做婚恋网站要多少钱,网站营销外包公司简介遵循惯例重于配置的原则,系统会按照下面的顺序来加载配置文件(配置的优先顺序从右到左),所以优先级的顺序为动态配置 > 模块配置 > 应用配置 > 惯例配置惯例配置->应用配置->模块配置->动态配置惯例配置&#x…

0e518d598a78b7074cc971f03f215c25.png

遵循惯例重于配置的原则,系统会按照下面的顺序来加载配置文件(配置的优先顺序从右到左),所以优先级的顺序为动态配置 > 模块配置 > 应用配置 > 惯例配置

惯例配置->应用配置->模块配置->动态配置
  • 惯例配置:核心框架内置的配置文件,无需更改。
  • 应用配置:每个应用的全局配置文件(框架安装后会生成初始的应用配置文件),有部分配置参数仅能在应用配置文件中设置。
  • 模块配置:每个模块的配置文件(相同的配置参数会覆盖应用配置),有部分配置参数模块配置是无效的,因为已经使用过。
  • 动态配置:主要是指在控制器或者行为中进行(动态)更改配置,该配置方式只在当次请求有效,因为不会保存到配置文件中

官方使用文档:https://www.kancloud.cn/manual/thinkphp5_1/353951

先介绍,Yaconf文档地址:http://www.laruence.com/2015/06/12/3051.html

yaml文档地址:https://www.runoob.com/w3cnote/yaml-intro.html

yaconf和yaml的源码安装,github克隆源代码即可

$ cd yaconf-master
$ phpize
$ ./configure --with-config=/usr/local/bin/php-config
$ make && make install# 生成yaconf.so文件,修改php.ini文件,指定yaconf存放配置文件目录,重启php-fpm
# 这里就不赘述yaml扩展的安装
extension=yaconf.so
extension=yaml.so
yaconf.directory=/Users/liujingxiong/web/easySwooleApi/ini


使用Yaconf的好处:
1. 它使用单独的一个配置目录(在yaconf.directory指定), 不和代码在一起.
2. 它在PHP启动的时候, 处理所有的要处理的配置, 然后这些配置就会常驻内存, 随着PHP的生命周期存亡. 避免了每次请求的时候解析配置文件.
3. 所有的配置内容都是immutable的, 这就可以借助于Fork的COW, 降低内存占用, 并且在访问配置的时候, 几乎不需要任何的内存Copy, 也不会有无谓的引用计数增减
4. 最重要的, 配置目录和代码分离以后, 可以借助一个配置管理后台, 来实现配置的统一化管理.
5. 它支持(对于非ZTS)配置变更重新加载, 也就是说配置如果有变化(建议更改配置一定使用mv, 不要使用cp), 它会reload, 不需要重启(检测的频率由yaconf.check_delay控制).
6. 它支持丰富的配置类型, 包括字符串, 数组, 分节, 分节继承, 并且还可以在配置中直接写PHP的常量和环境变量等.
7. 最重要的是, 它很简单.

从原理开始:

<?

在框架初始化时会调用到App.php类中的init方法(后面讲解框架执行流程的时候还会详细降到,这里先提一下)会调用到$this->config->load()方法即走到Config.php类中的加载配置文件方法。

<?

走到LoadFile()方法,这里使用的是工厂模式,不同后缀的配置文件的加载,但是这里的if判断写的没有必要,不够统一,直接将php,yaml后缀的的配置文件也走工厂模式。这里用到工厂模式所有的类都去实现parse方法,调用Loader::factory()方法进行类的实例化,结合容器和反射思想,这些后面都会介绍。最终通过Config类的set方法将所有的配置存到Config类的config属性中。

<?

补充上.php和.yaml后缀的配置文件

// thinkconfigdrivenPhp.php
// thinkconfigdrivenYaml.php

测试用例:

// applicationindexcontrollerTestConfig.php
// tp51.ini
name='allen'
age=23

结果:

24d53e37ccf60a66f6af2b71baf24371.png

如何使用.yaml结尾的配置文件,需要在.env文件中定义CONFIG_EXT=".yaml", 如果想所有的配置文件都生效,那么需要将config/下的配置文件都改为.yaml结尾,这里我猜到一个坑,就是.env中定义的是.yaml,但是其他的配置文件没有修改,导致如何修改config/下的配置文件都不生效,这里需要注意一下。

// configallen.yaml

结果:

92f41308cb6cec2f52a2406f2f769b89.png
http://www.lbrq.cn/news/2381833.html

相关文章:

  • 微信小程序制作视频网络推广优化seo
  • 装饰网站建设的方案大作设计网站
  • 成都网站设计推荐柚米产品软文
  • 淘宝网站c 设计怎么做网络做推广公司
  • 域名有了主机有了如何做网站网站的优化seo
  • 没有网站可以做域名解析吗seo培训
  • 长春网站推广优化公司seo英文怎么读
  • 沈阳营销型网站制作如何做网络推广人员
  • 做外贸有哪些网站简短的营销软文范文
  • python网站开发招聘友情连接出售
  • 京网站建设公司东莞软文推广
  • 站长统计向日葵app下载竞价托管推广
  • 珠海门户网站建设报价哈尔滨网站优化
  • 设计作品网站有哪些seo第三方点击软件
  • 内蒙古最新消息谷歌seo外链
  • 江门网站制作软件网站优化网
  • 做网站销售东西 需要什么资质做一个官网要多少钱
  • 淄博哪里做网站苏州百度搜索排名优化
  • 四平网站建设哪家效果好软文营销案例200字
  • 目前有做电子合同的网站吗郑州网站优化顾问
  • 网站后台 点击插入国际免费b站
  • 网站如何做外链域名查询平台
  • erp系统哪个品牌最好seo快速排名百度首页
  • 渗透wordpress论坛seodao cn
  • 2018春节放假安排 网站建设公司品牌宣传
  • 溧阳有没有做网站的公司关键词排名怎么做上去
  • 国家和城乡建设部网站首页网络软文范例
  • 益阳市建设局网站是什么结构优化
  • 福清市住房和城乡建设局网站疫情最新情况 最新消息 全国
  • 网站设计红色表示什么营销手段有哪些方式
  • Vue3 从 0 到 ∞:Composition API 的底层哲学、渲染管线与生态演进全景
  • LVS实验
  • Python高级编程技巧探讨:装饰器、Patch与语法糖详解
  • uniapp各端通过webview实现互相通信
  • Apache IoTDB(1):时序数据库介绍与单机版安装部署指南
  • 倒计时熔断机制的出价逻辑