コード例 #1
0
ファイル: View.php プロジェクト: simplified-framework/view
 public function __construct()
 {
     $provider = Config::get('providers', 'view', null);
     if ($provider) {
         // use reflection to detect the provider class name
         $refMethod = new \ReflectionMethod($provider, 'provides');
         $rendererClass = $refMethod->invoke(new $provider());
         if (empty($rendererClass)) {
             throw new ViewException("Class {$provider} doesn't provides a valid renderer class");
         }
         $this->renderer = new $rendererClass();
     } else {
         $refMethod = new \ReflectionMethod(__NAMESPACE__ . '\\ViewProvider', 'provides');
         $rendererClass = $refMethod->invoke(new ViewProvider());
         $this->renderer = new $rendererClass();
     }
 }
コード例 #2
0
 private function startSession()
 {
     if (headers_sent()) {
         throw new SessionException('Unable to start session handling, headers already sent.');
     }
     $provider = Config::get('providers.session');
     if ($provider) {
         if (!class_exists($provider)) {
             throw new IllegalArgumentException('Unable to set session provider to ' . $provider);
         }
         $handlerClass = (new $provider())->provides();
         $handler = new $handlerClass();
         session_set_save_handler($handler, true);
     }
     session_start();
 }
コード例 #3
0
 public function delete()
 {
     $table_name = $this->getTable();
     $config = Config::get('database', $this->getConnection(), 'default');
     $conn = new Connection($config);
     $pk = $this->getPrimaryKey();
     if (!isset($this->attributes[$pk])) {
         return -1;
     }
     return (new DeleteQuery($table_name, $conn))->where($pk, $this->attributes[$pk])->execute();
 }