Guest User

Untitled

a guest
Jul 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. <?php
  2. namespace Application;
  3.  
  4. class Bootstrap extends \Library\Bootstrap {
  5.  
  6. /**
  7. * Başlangıç methodu, setup hazırlanıyor.
  8. *
  9. * @return void
  10. */
  11. public function init()
  12. {
  13. self::setupLogger();
  14. self::setupRegistry();
  15. self::setupEnvironment();
  16. self::setupConfiguration();
  17. self::setupDatabase();
  18. self::setupRoutes();
  19. self::setupView();
  20.  
  21. self::$router->dispatch();
  22. }
  23.  
  24. /**
  25. * Loglama işlemleri
  26. */
  27. protected static function setupLogger()
  28. {
  29. self::$logger = \Library\Logger::getInstance();
  30. self::$logger->handleExceptions();
  31. self::$logger->handleErrors();
  32. self::$logger->setLogPath(sprintf(ROOT_DIR . '/log/%s.log', date('Ym')));
  33.  
  34. /*
  35. \Library\Logger::log('ERROR', 'naber');
  36. \Library\Logger::log('DEBUG', 'naber');
  37. \Library\Logger::log('WARNING', 'naber');
  38. \Library\Logger::log('NOTICE', 'naber');
  39. \Library\Logger::log('EXCEPTION', 'naber');
  40. \Library\Logger::log('DEBUG', 'naber');
  41. */
  42. }
  43.  
  44. /**
  45. * Registry kullanıma hazırlanılıyor.
  46. *
  47. * @static
  48. * @return void
  49. */
  50. protected static function setupRegistry() {
  51. self::$registry = \Library\Registry::getInstance();
  52. }
  53.  
  54. /**
  55. * Çevresel işlemler
  56. *
  57. * @static
  58. * @return void
  59. */
  60. protected static function setupEnvironment()
  61. {
  62. ini_set('display_errors', 1);
  63. error_reporting(E_ALL);
  64.  
  65. //Burada çevreyi tanımlayan bir algoritma işlenebilir.
  66. define('APPLICATION_ENVIRONMENT', 'development');
  67.  
  68. $cache = \Library\Cache\Connector::getInstance('Memcache');
  69. $cache->connect();
  70.  
  71. self::$registry->set('cache', $cache);
  72. }
  73.  
  74. /**
  75. *
  76. * Konfigürasyon ayarları çevrelere göre ayarlanıyor.
  77. *
  78. * @static
  79. * @return void
  80. */
  81. protected static function setupConfiguration()
  82. {
  83. self::$config = \Application\Configuration::getInstance();
  84.  
  85. self::$config->setRegistry(self::$registry);
  86.  
  87. //Ayarlar belli çevrelerde çalışır.
  88. self::$config->addEnvironment('development', 'configDevelopment');
  89. self::$config->addEnvironment('stage', 'configStage');
  90. self::$config->addEnvironment('production', 'configProduction');
  91.  
  92. //Çevreye göre ayar çalıştırılır.
  93. self::$config->run(APPLICATION_ENVIRONMENT);
  94. }
  95.  
  96. protected static function setupDatabase()
  97. {
  98. self::$database = \Library\Database\Connector::getInstance(self::$registry->get('database.connector'));
  99. self::$database->setConfiguration(self::$registry->get('database.settings'));
  100. self::$database->isInDevelopment((APPLICATION_ENVIRONMENT == 'development'));
  101.  
  102. $connection = self::$database->connect();
  103. self::$registry->set('database.connection', $connection);
  104. }
  105.  
  106. protected static function setupRoutes()
  107. {
  108.  
  109. self::$router = \Library\Router::getInstance();
  110. self::$router->setRouteCache(self::$registry->get('cache'));
  111.  
  112. //Rotalar ekleniyor. Detaylı bilgi için addRoute'un PHPDoc'una bakınız.
  113.  
  114. self::$router->addRoute('^users/(?P<username>[A-Za-z0-9]+)/(?P<id>\d+)$', array('Index','Test'));
  115. self::$router->addRoute('^test/(?P<action>[a-z]+)/(?P<username>[A-Za-z0-9]+)$', array('Test\Abc\Xyz','$action'));
  116.  
  117. //Error Route
  118. self::$router->addRoute('^error/(?P<code>\d+)$', array('Error', 'error'));
  119. //Default route.
  120. self::$router->addRoute('^.*', array('Index', 'index'));
  121. }
  122.  
  123. protected static function setupView()
  124. {
  125. self::$view = \Library\View::getInstance();
  126. self::$view->setTemplateEngine('PHP');
  127. //self::$view->setTranscoder('Mobility');
  128. self::$registry->set('view', self::$view);
  129. }
  130.  
  131. }
Add Comment
Please, Sign In to add comment