gy-doc-code
[ class tree: gy-doc-code ] [ index: gy-doc-code ] [ all elements ]

Source for file App.php

Documentation is available at App.php

  1. <?php 
  2.  
  3. namespace Gy\Core;
  4.  
  5. use Gy\Core\Component\Component;
  6. use Gy\Core\Lang;
  7. use Gy\Core\Security;
  8.  
  9. if (!defined("GY_CORE"&& (GY_CORE !== true)) die"gy: err include core" );
  10.  
  11. final class App
  12. {
  13.  
  14.     public $url;
  15.     public $options// настройки проекта
  16.     public $lang// табличка с языковыми сообщениями
  17.     //public $db; // db
  18.     public $urlProject// урл как $this-url только без /gy в конце
  19.  
  20.     private static $APP;
  21.  
  22.     private function  __construct($url$options)
  23.     {
  24.         // подключить настройки
  25.         $this->options = $options;
  26.         
  27.         // записать ещё путь c /gy
  28.         $this->url = $url.'/gy';
  29.         
  30.         // путь до проекта
  31.         $this->urlProject = $url;
  32.         
  33.         // если есть языковой файл то надо подключить его
  34.         $this->lang = new Lang($url'app'$this->options['lang']);
  35.     }
  36.  
  37.     /**
  38.      * createApp - создать объект класса app, запишет его в статичное свойство и вернёт
  39.      * @param string $url - расположение проекта
  40.      * @return object class app
  41.      */
  42.     public static function createApp($url$options)
  43.     {
  44.         if (static::$APP === null{
  45.             static::$APP new static($url$options);
  46.         }
  47.         return static::$APP;
  48.     }
  49.  
  50.     /** 
  51.      *  component отобразить компонент // show component
  52.      *  @param string $name - имя компонента и контроллера сразу
  53.      *  @param string $template - имя шаблона
  54.      *  @param array $arParam - параметры компонента (параметры кеша и прочие нюансы)
  55.      *       // array component config
  56.      *  @param strung $url - url где лежит проект
  57.      *   вернёт объект компонент
  58.      * 
  59.      *  TODO возможно понадобится сделать подключение модели
  60.      *      // если делать универсальные модели для компонентов
  61.      *   или возможность подключать много моделей разных
  62.      *   maybe includ many model in component
  63.      */
  64.     public function component($name$template$arParam)
  65.     {
  66.         if ($name != 'includeHtml'{
  67.             // обезопасим входные параметры
  68.             $arParam Security::filterInputData($arParam);
  69.         }
  70.  
  71.         $component new Component(
  72.             $name
  73.             $template
  74.             $arParam
  75.             $this->urlProject
  76.             $this->options['lang']
  77.         );
  78.         return $component;
  79.     }
  80.  
  81.     /**
  82.      * getAllUrlTisPage()
  83.      *  - вернёт полный путь к текущей страницы (вместе с get параметрами)
  84.      * 
  85.      * @return string 
  86.      */
  87.     public function getAllUrlTisPage()
  88.     {
  89.         return $_SERVER['REQUEST_URI'];
  90.     }
  91.  
  92.     /**
  93.      * getUrlTisPageNotGetProperty()
  94.      *  - вернёт полный путь к текущей страницы (без get параметров)
  95.      * 
  96.      * @return string 
  97.      */
  98.     public function getUrlTisPageNotGetProperty()
  99.     {
  100.         return $_SERVER['SCRIPT_NAME'];
  101.     }
  102.  
  103.  
  104. }

Documentation generated on Sat, 27 Apr 2024 11:17:28 +0300 by phpDocumentor 1.4.3