ThinkPHP 3.2 原生支援 YAML 設定檔,但需額外安裝 Spyc 解析器。本文記錄完整整合流程與坑點。
// 入口檔 index.php
define('CONF_EXT', '.yaml');
Application/ Common/Conf/config.yaml Home/Conf/config.yaml Admin/Conf/config.yaml
ThinkPHP 內建 yaml_parse_file() 會嘗試 vendor('spyc.Spyc') 載入 Spyc。
ThinkPHP/Library/Vendor/spyc/Spyc.php 放入上述目錄重新整理專案,不再出現 Class 'Spyc' not found,即完成整合。
# config.yaml app_debug: true url_model: 2 db_config: type: mysql host: 127.0.0.1 name: mydb user: root pass: secret prefix: tp_ cache: type: Redis host: 127.0.0.1 port: 6379
spyc 必須小寫Spyc::YAMLLoad()新版內建 symfony/yaml,無需額外安裝,直接設定 config.yaml 即可使用。
掌握 YAML 整合,讓專案設定更優雅易維護。