protected static function classArray() { if (is_null(self::$classes) || !is_array(self::$classes)) { self::$classes = (require COMMON_PATH . '/autoload.conf.php'); $appClassList = appConfig::getAutoloadClass(); if (!empty($appClassList)) { self::$classes = array_merge(self::$classes, $appClassList); } } }
public static function createClassMap() { $configAutoloader = Config::get('Autoloader'); $configClassMap = Config::get('ClassMap'); // Config/Autoloader.php dosyasından tarama // ayaraı kapalı ise tarama yapmaz. if ($configAutoloader['directoryScanning'] === false) { return false; } // ClassMap'in oluşturulması için hangi dizinlerin // taranması gerektiği Config/Autoloader.php dosyasında // yer alır. Bu dizinlerin bilgisi alınıyor. $classMap = $configAutoloader['classMap']; // Belirtilen dizinler ve alt dizinler taranıyor // ve sınıf haritaları oluşturuluyor... if (!empty($classMap)) { foreach ($classMap as $directory) { $classMaps = self::searchClassMap($directory, $directory); } } $classArray = array_diff_key(isset($classMaps['classes']) ? $classMaps['classes'] : array(), isset($configClassMap['classes']) ? $configClassMap['classes'] : array()); $eol = eol(); // Config/ClassMap.php $path = CONFIG_DIR . 'ClassMap.php'; // ---------------------------------------------------------------------------------------- // ClassMap dosyasının sınıflar bölümü oluşturuluyor. // ---------------------------------------------------------------------------------------- if (!is_file($path)) { $classMapPage = '<?php' . $eol; } else { $classMapPage = ''; } if (!empty($classArray)) { self::$classes = $classMaps['classes']; foreach ($classArray as $k => $v) { $classMapPage .= '$config[\'ClassMap\'][\'classes\'][\'' . $k . '\'] = \'' . $v . '\';' . $eol; } } $namespaceArray = array_diff_key(isset($classMaps['namespaces']) ? $classMaps['namespaces'] : array(), isset($configClassMap['namespaces']) ? $configClassMap['namespaces'] : array()); // ---------------------------------------------------------------------------------------- // ClassMap dosyasının isim alanları bölümü oluşturuluyor. // ---------------------------------------------------------------------------------------- if (!empty($namespaceArray)) { self::$namespaces = $classMaps['namespaces']; foreach ($namespaceArray as $k => $v) { $classMapPage .= '$config[\'ClassMap\'][\'namespaces\'][\'' . $k . '\'] = \'' . $v . '\';' . $eol; } } // ---------------------------------------------------------------------------------------- // ClassMap verisi yine aynı isimde bir dosya olarak oluşturuluyor. // ---------------------------------------------------------------------------------------- if (!file_put_contents($path, $classMapPage, FILE_APPEND)) { die(getErrorMessage('Error', 'fileNotWrite', $path)); } }
public static function createClassMap() { $configAutoloader = Config::get('Autoloader'); // Config/Autoloader.php dosyasından tarama // ayaraı kapalı ise tarama yapmaz. if ($configAutoloader['directoryScanning'] === false) { return false; } // ClassMap'in oluşturulması için hangi dizinlerin // taranması gerektiği Config/Autoloader.php dosyasında // yer alır. Bu dizinlerin bilgisi alınıyor. $classMap = $configAutoloader['classMap']; // Belirtilen dizinler ve alt dizinler taranıyor // ve sınıf haritaları oluşturuluyor... if (!empty($classMap)) { foreach ($classMap as $directory) { $classMaps = self::searchClassMap($directory, $directory); } } // Config/ClassMap.php $path = CONFIG_DIR . 'ClassMap.php'; // ---------------------------------------------------------------------------------------- // ClassMap dosyasının sınıflar bölümü oluşturuluyor. // ---------------------------------------------------------------------------------------- $classMapPage = '<?php' . eol(); $classMapPage .= '$config[\'ClassMap\'][\'classes\'] = array' . eol() . '(' . eol(); if (!empty($classMaps['classes'])) { self::$classes = $classMaps['classes']; foreach ($classMaps['classes'] as $k => $v) { $classMapPage .= "\t" . '\'' . $k . '\' => \'' . $v . '\',' . eol(); } } $classMapPage = rtrim($classMapPage, ',' . eol()); $classMapPage .= eol() . ');' . eol(2); // ---------------------------------------------------------------------------------------- // ClassMap dosyasının isim alanları bölümü oluşturuluyor. // ---------------------------------------------------------------------------------------- $classMapPage .= '$config[\'ClassMap\'][\'namespaces\'] = array' . eol() . '(' . eol(); if (!empty($classMaps['namespaces'])) { self::$namespaces = $classMaps['namespaces']; foreach ($classMaps['namespaces'] as $k => $v) { $classMapPage .= "\t" . '\'' . $k . '\' => \'' . $v . '\',' . eol(); } } $classMapPage = rtrim($classMapPage, ',' . eol()); $classMapPage .= eol() . ');'; // ---------------------------------------------------------------------------------------- // ClassMap verisi yine aynı isimde bir dosya olarak oluşturuluyor. // ---------------------------------------------------------------------------------------- $fileOpen = fopen($path, 'w'); $fileWrite = fwrite($fileOpen, $classMapPage); if (empty($fileWrite)) { die(getErrorMessage('Error', 'fileNotWrite', $path)); } fclose($fileOpen); }