Beispiel #1
0
 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);
         }
     }
 }
Beispiel #2
0
 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));
     }
 }
Beispiel #3
0
 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);
 }