Send to your Kindle RIGHT:[[:t/解析]] *ファイル間の相関 [#k1a09b4e] &ref(require.png); -手続き指向。機能分割。 -require()をlib\pukiwiki.phpに集めている。「どこから何を呼ぶか」に制限無し。 -どのプラグインからも全てのファイルを呼べるようにしている。 プラグインはおデブちゃんアンチパターン(The Blob)になるかも。だが、プラグインは単機能ツール程度の規模なので問題にならない。 -lib\init.php周辺が細かく分かれている理由は状況ごとにファイルを使い分けるためと、長いから分けた…くらい。 *require [#n7c88a6e] |index.php(23)|require(LIB_DIR . 'pukiwiki.php');| |lib\html.php(152)|require(SKIN_FILE);| |lib\init.php(56)|require(INI_FILE);| |lib\init.php(112)|require_once(constant($langfile));| |lib\init.php(163)|require(UA_INI_FILE); // Also manually| |lib\init.php(386)|require(DATA_HOME . 'rules.ini.php');| |lib\mbstring.php(38)|require_once(JCODE_FILE);| |lib\plugin.php(43)|require_once(PLUGIN_DIR . $name . '.inc.php');| |lib\pukiwiki.php(38)|require(LIB_DIR . 'func.php');| |lib\pukiwiki.php(39)|require(LIB_DIR . 'file.php');| |lib\pukiwiki.php(40)|require(LIB_DIR . 'plugin.php');| |lib\pukiwiki.php(41)|require(LIB_DIR . 'html.php');| |lib\pukiwiki.php(42)|require(LIB_DIR . 'backup.php');| |lib\pukiwiki.php(44)|require(LIB_DIR . 'convert_html.php');| |lib\pukiwiki.php(45)|require(LIB_DIR . 'make_link.php');| |lib\pukiwiki.php(46)|require(LIB_DIR . 'diff.php');| |lib\pukiwiki.php(47)|require(LIB_DIR . 'config.php');| |lib\pukiwiki.php(48)|require(LIB_DIR . 'link.php');| |lib\pukiwiki.php(49)|require(LIB_DIR . 'auth.php');| |lib\pukiwiki.php(50)|require(LIB_DIR . 'proxy.php');| |lib\pukiwiki.php(52)|require(LIB_DIR . 'mbstring.php');| |lib\pukiwiki.php(59)|require(LIB_DIR . 'init.php');| |lib\pukiwiki.php(63)|require(LIB_DIR . 'mail.php'); // Mail notification| |lib\pukiwiki.php(100)|require(LIB_DIR . 'spam.php');| |lib\pukiwiki.php(101)|require(LIB_DIR . 'spam_pickup.php');| RIGHT:[[:t/解析]] *ファイル間の相関 [#k1a09b4e] &ref(require.png); -手続き指向。機能分割。 -require()をlib\pukiwiki.phpに集めている。「どこから何を呼ぶか」に制限無し。 -どのプラグインからも全てのファイルを呼べるようにしている。 プラグインはおデブちゃんアンチパターン(The Blob)になるかも。だが、プラグインは単機能ツール程度の規模なので問題にならない。 -lib\init.php周辺が細かく分かれている理由は状況ごとにファイルを使い分けるためと、長いから分けた…くらい。 *require [#n7c88a6e] |index.php(23)|require(LIB_DIR . 'pukiwiki.php');| |lib\html.php(152)|require(SKIN_FILE);| |lib\init.php(56)|require(INI_FILE);| |lib\init.php(112)|require_once(constant($langfile));| |lib\init.php(163)|require(UA_INI_FILE); // Also manually| |lib\init.php(386)|require(DATA_HOME . 'rules.ini.php');| |lib\mbstring.php(38)|require_once(JCODE_FILE);| |lib\plugin.php(43)|require_once(PLUGIN_DIR . $name . '.inc.php');| |lib\pukiwiki.php(38)|require(LIB_DIR . 'func.php');| |lib\pukiwiki.php(39)|require(LIB_DIR . 'file.php');| |lib\pukiwiki.php(40)|require(LIB_DIR . 'plugin.php');| |lib\pukiwiki.php(41)|require(LIB_DIR . 'html.php');| |lib\pukiwiki.php(42)|require(LIB_DIR . 'backup.php');| |lib\pukiwiki.php(44)|require(LIB_DIR . 'convert_html.php');| |lib\pukiwiki.php(45)|require(LIB_DIR . 'make_link.php');| |lib\pukiwiki.php(46)|require(LIB_DIR . 'diff.php');| |lib\pukiwiki.php(47)|require(LIB_DIR . 'config.php');| |lib\pukiwiki.php(48)|require(LIB_DIR . 'link.php');| |lib\pukiwiki.php(49)|require(LIB_DIR . 'auth.php');| |lib\pukiwiki.php(50)|require(LIB_DIR . 'proxy.php');| |lib\pukiwiki.php(52)|require(LIB_DIR . 'mbstring.php');| |lib\pukiwiki.php(59)|require(LIB_DIR . 'init.php');| |lib\pukiwiki.php(63)|require(LIB_DIR . 'mail.php'); // Mail notification| |lib\pukiwiki.php(100)|require(LIB_DIR . 'spam.php');| |lib\pukiwiki.php(101)|require(LIB_DIR . 'spam_pickup.php');|