项目配置文件选择

.env

这种文件是在 laravel 框架里看到的,他是使用 phpdotenv composer 包来进行读取和使用的。php

使用方法

加载 composer 包linux

composer require vlucas/phpdotenv

项目使用laravel

<?php

require __DIR__ . '/vendor/autoload.php';

$dotenv = Dotenv\Dotenv::create(__DIR__);
$dotenv->load();

$projectName = getenv('project_name');
$projectName = $_ENV['project_name'];
$projectName = $_SERVER['project_name'];

深刻请查看项目的 README.md 文件。git

yaml

YAML 试图用一种比 XML 更敏捷的方式,来完成XML所完成的任务。github

安装配置

yaml 文件的使用是须要 php 加载 yaml 扩展的。yaml 扩展又依赖于 libyaml,下面以 centos7 系统为例安装:shell

# http://pecl.php.net/package/yaml 取最新扩展包地址
wget http://pecl.php.net/get/yaml-2.0.4.tgz

# 解压
tar -zxvf yaml-2.0.4.tgz

# 进行扩展文件夹
cd yaml-2.0.4

phpize
vim install_sh
> ./configure --with-php-config=/usr/local/php/bin/php-config

# 编译安装
sh install_sh
make -j 2
make install

# php 加载扩展
vim /usr/local/php/etc/php.ini
> extension=yaml.so

项目使用

<?php

$config = yaml_parse_file(__DIR__ . '/config.yaml');

print_r($config['project_name']);

深刻了解vim

学习通过疑问

为何不直接使用 php 文件当配置,而用其余类型文件来配置

好像没有什么特殊的做用,无论是 .env 仍是 yaml 文件都须要配置,反而直接 php 文件当配置会方便易懂一些(.env/yaml 都有本身的语法,不懂的人须要学习)。centos

.env 在 linux 中是隐藏文件的意思,file_get_contents 读取不了隐藏文件?

小小试验了一下,只有文件有读取权限均可以读取的了里面的内容。composer

相关文章
相关标签/搜索