項目配置文件選擇

.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

相關文章
相關標籤/搜索