Ejemplo n.º 1
0
 /**
  * Initialize API
  *
  * Only one instance of API may be present
  * @param array $settings
  * @param Phramework\URIStrategy\IURIStrategy $URIStrategy
  * URIStrategy object
  * @param object|null $translationObject  *[Optional]* Set custom translation class
  * @throws Phramework\Exceptions\ServerException
  */
 public function __construct($settings, $URIStrategyObject, $translationObject = null)
 {
     self::$settings = $settings;
     self::$user = false;
     self::$language = 'en';
     self::$requestUUID = \Phramework\Models\Util::generateUUID();
     //Instantiate StepCallback object
     self::$stepCallback = new \Phramework\Extensions\StepCallback();
     if (!is_subclass_of($URIStrategyObject, \Phramework\URIStrategy\IURIStrategy::class, true)) {
         throw new \Phramework\Exceptions\ServerException('Class is not implementing Phramework\\URIStrategy\\IURIStrategy');
     }
     self::$URIStrategy = $URIStrategyObject;
     //If custom translation object is set add it
     if ($translationObject) {
         self::setTranslation($translationObject);
     } else {
         //Or instantiate default translation object
         //sef::$translation = new \Phramework\Extensions\Translation(
         //    self::getSetting('language'),
         //    self::getSetting('translation', 'track_missing_keys', null, false)
         //);
     }
     self::$instance = $this;
 }