設定用変数の統合†
- ページ: BugTrack2
- 投稿者: -
- 優先順位: 普通
- 状態: 提案
- カテゴリー: 本体新機能
- 投稿日: 2016-02-09 (火) 02:29:27
- バージョン:
メッセージ†
現在、pukiwiki.init.phpにおいて多数の変数が定義、初期化されています。
しかし、それぞれが独立した変数であり、別ファイルの関数で使うためすべてをglobalでパブリック化する必要があります
なので、設定用に連想配列を設けてそれに一括設定してみてはいかがでしょうか
参考: 他アプリ/フレームワーク†
- WordPress - wp-config.php
- https:// wpdocs.osdn.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86
- MediaWiki - DefaultSettings.php / LocalSettings.php
- https:// www.mediawiki.org/wiki/Manual:Configuration_settings/ja
- DokuWiki - dokuwiki.php / local.php
- https:// www.dokuwiki.org/ja:config
- FuelPHP - config.php
- http:// fuelphp.jp/docs/1.7/general/configuration.html
- CodeIgniter - config.php
- http:// codeigniter.jp/user_guide_ja/libraries/config.html
- Ethena - (application)-ini.php
- http:// www.ethna.jp/ethna-document-dev_guide-app-config.html
- Symfony - config.php
- http:// docs.symfony.gr.jp/symfony2/reference/configuration/framework.html
- Laravel - app.php
- http:// readouble.com/laravel/5/0/dev/ja/configuration.html
設計案A(umorigu)†
- PukiWikiConfig クラス: 設定値をfunctionの戻り値として返す
- PukiWikiConfigSetter クラス: 設定値をpublic fieldとして保持する。PukiWikiConfig の初期化をするためのクラス
- config() 関数: PukiWikiConfig クラスのインスタンスを返す
- 最初の一度だけPukiWikiConfigSetterにより初期化を行う
- config($setter) を呼び出した時点で内部PukiWikiConfigインスタンスが保持する値は固定され、その後書き換える手段はない
設定時:
$setter = PukiWikiConfigSetter();
$setter->page_title = 'Sample Title';
...
config($setter);
利用時:
$config = config();
echo $config->page_title();
実装例†