バグ報告 > 管理機能 > 2.12.3の「カテゴリ登録CSV」機能はバグがあります |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Fang |
投稿日時: 2013/5/14 20:59
対応状況: −−−
|
半人前 登録日: 2013/5/10 居住地: 投稿: 19 |
Re: 2.12.3の「カテゴリ登録CSV」機能はバグがあります ご回答ありがとうございます。
SC_ClassAutoloader::autoloadの一部ソースを 参考してテストで行いました。 以下はテスト用のソースです。 define("CLASS_EX_REALDIR", "data/class_ex/"); define("CLASS_REALDIR", "data/class/"); $class = "SC_Helper_DB_EX"; $arrClassNamePart = explode('_', $class); $is_ex = end($arrClassNamePart) === 'Ex'; $count = count($arrClassNamePart); $classpath = $is_ex ? CLASS_EX_REALDIR : CLASS_REALDIR; if (($arrClassNamePart[0] === 'GC' || $arrClassNamePart[0] === 'SC') && $arrClassNamePart[1] === 'Utils') { $classpath .= $is_ex ? 'util_extends/' : 'util/'; } elseif ($arrClassNamePart[0] === 'SC' && $is_ex === true && $count >= 4) { $arrClassNamePartTemp = $arrClassNamePart; // FIXME クラスファイルのディレクトリ命名が変。変な現状に合わせて強引な処理をしてる。 $arrClassNamePartTemp[1] = $arrClassNamePartTemp[1] . '_extends'; $classpath .= strtolower(implode('/', array_slice($arrClassNamePartTemp, 1, -2))) . '/'; } elseif ($arrClassNamePart[0] === 'SC' && $is_ex === false && $count >= 3) { $classpath .= strtolower(implode('/', array_slice($arrClassNamePart, 1, -1))) . '/'; } elseif ($arrClassNamePart[0] === 'SC') { // 処理なし } // PEAR用 // FIXME トリッキー else { $classpath = ''; $class = str_replace('_', '/', $class); } $classpath .= "$class.php"; echo $classpath; 実行の結果は data/class/helper/db/SC_Helper_DB_EX.php です。 やはりclass/helper/dbという存在していないパスになってしまいました。 ちなみに、私はLinuxで開発していますから、大文字と小文字が区別します。 |
フラット表示 | 前のトピック | 次のトピック |