Example #1
0
 /**
  * 访问link属性时才实例化model
  *
  * @param string $property
  * @return RedisDriver|Config|CouchDriver|MongoDriver|PDOSqlDriver|Request|Response|View|mixed|null
  */
 function __get($property)
 {
     switch ($property) {
         case 'link':
             return $this->link = $this->getLink();
         default:
             return parent::__get($property);
     }
 }
Example #2
0
 /**
  * 输出带layer的view
  *
  * @param array $data
  * @param string $method
  * @param bool $load_layer
  * @return string|void
  * @throws CoreException
  */
 function obRender($data, $method, $load_layer)
 {
     ob_start();
     $this->{$method}($data);
     $method_content = ob_get_clean();
     parent::getDelegate()->getClosureContainer()->run('obRender', $method_content);
     if ($load_layer) {
         $this->loadLayer($method_content);
     } else {
         echo $method_content;
     }
 }
Example #3
0
 /**
  * 发送一个包含文件名的下载头
  *
  * @param null $file_name
  * @param array $add_header
  * @param bool $only_add_header
  */
 protected function sendDownloadHeader($file_name = null, $add_header = array(), $only_add_header = false)
 {
     if (null === $file_name) {
         $file_name = parent::getController() . '_' . parent::getAction();
     }
     $download_header = array("Pragma: public", "Expires: 0", "Cache-Control:must-revalidate, post-check=0, pre-check=0", "Content-Type: application/force-download", "Content-Type: application/octet-stream", "Content-Type: application/download", "Content-Disposition:attachment;filename={$file_name}", "Content-Transfer-Encoding:binary");
     if (!empty($add_header)) {
         if (true === $only_add_header) {
             $download_header = $add_header;
         } else {
             $download_header = array_merge($download_header, $add_header);
         }
     }
     Response::getInstance()->setHeader($download_header);
 }