Changeset 21742
- Timestamp:
- 2012/04/14 22:20:48 (12 years ago)
- Location:
- branches/version-2_12-dev/data
- Files:
-
- 2 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/app_initial.php
r21580 r21742 37 37 } 38 38 39 // クラスのオートローディングに対応するフックを入れるために、ここに入れる必要あり 40 require_once(CLASS_EX_REALDIR . 'helper_extends/SC_Helper_Plugin_Ex.php'); 41 39 42 // クラスのオートローディングを定義する 40 setClassAutoloader(); 43 require_once(CLASS_EX_REALDIR . '/SC_ClassAutoloader_Ex.php'); 44 spl_autoload_register(array('SC_ClassAutoloader_Ex', 'autoload')); 41 45 42 46 SC_Helper_HandleError_Ex::load(); … … 46 50 $objInit->init(); 47 51 48 49 /**50 * クラスのオートローディングを定義する51 *52 * 関数なので、このように囲う必要はないが、メインの処理フローを分かりやすくするため定義した。53 * @return void54 */55 function setClassAutoloader() {56 /**57 * クラスのオートローディング本体58 *59 * LC_* には対応していない。60 * @return void61 */62 function __autoload($class) {63 $arrClassNamePart = explode('_', $class);64 $is_ex = end($arrClassNamePart) === 'Ex';65 $count = count($arrClassNamePart);66 $classpath = $is_ex ? CLASS_EX_REALDIR : CLASS_REALDIR;67 68 if (($arrClassNamePart[0] === 'GC' || $arrClassNamePart[0] === 'SC') && $arrClassNamePart[1] === 'Utils') {69 $classpath .= $is_ex ? 'util_extends/' : 'util/';70 }71 elseif ($arrClassNamePart[0] === 'SC' && $is_ex === true && $count >= 4) {72 $arrClassNamePartTemp = $arrClassNamePart;73 // FIXME クラスファイルのディレクトリ命名が変。変な現状に合わせて強引な処理をしてる。74 $arrClassNamePartTemp[1] = $arrClassNamePartTemp[1] . '_extends';75 $classpath .= strtolower(implode('/', array_slice($arrClassNamePartTemp, 1, -2))) . '/';76 }77 elseif ($arrClassNamePart[0] === 'SC' && $is_ex === false && $count >= 3) {78 $classpath .= strtolower(implode('/', array_slice($arrClassNamePart, 1, -1))) . '/';79 }80 elseif ($arrClassNamePart[0] === 'SC') {81 // 処理なし82 }83 // PEAR用84 // FIXME トリッキー85 else {86 $classpath = '';87 $class = str_replace('_', '/', $class);88 }89 90 $classpath .= "$class.php";91 include $classpath;92 }93 }
Note: See TracChangeset
for help on using the changeset viewer.