phprs\Response::append PHP Method

append() public method

附加更多数据
public append ( array $buffer )
$buffer array
    public function append($buffer)
    {
        foreach ($buffer as $name => $funcs) {
            foreach ($funcs as $func) {
                $this->buffer[$name][] = $func;
            }
        }
    }

Usage Example

Example #1
0
 /**
  * 调用路由规则匹配的api
  * @param Request $request
  * @param Response $respond
  * @return void
  */
 public function __invoke($request = null, &$respond = null)
 {
     if ($request === null) {
         $request = new Request(null, $this->url_begin);
     }
     if ($respond == null) {
         $respond = new Response();
     }
     $request['$.router'] = $this;
     //先按配置的顺序调用hook
     foreach ($this->hook_routes as $hook) {
         $res = new BufferedRespond();
         if (!$this->invokeRoute($hook, $request, $res)) {
             continue;
         }
         $respond->append($res->getBuffer());
         $break = false;
         $respond->flush('break', function ($var) use(&$break) {
             $break = $var;
         });
         if ($break) {
             Logger::info("invoke break");
             $respond->flush();
             return;
         }
     }
     $res = new BufferedRespond();
     Verify::isTrue($this->invokeRoute($this->routes, $request, $res), new NotFound());
     $respond->append($res->getBuffer());
     $respond->flush();
 }