当前位置: 首页>>代码示例>>PHP>>正文


PHP Slim::stop方法代码示例

本文整理汇总了PHP中Slim\Slim::stop方法的典型用法代码示例。如果您正苦于以下问题:PHP Slim::stop方法的具体用法?PHP Slim::stop怎么用?PHP Slim::stop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Slim\Slim的用法示例。


在下文中一共展示了Slim::stop方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _handleError

 /**
  * @param SlimBootstrap\Exception $exception
  *
  * @throws Slim\Exception\Stop
  */
 private function _handleError(SlimBootstrap\Exception $exception)
 {
     $this->_app->getLog()->log($exception->getLogLevel(), $exception->getCode() . ' - ' . $exception->getMessage());
     $this->_app->response->setStatus($exception->getCode());
     $this->_app->response->setBody($exception->getMessage());
     $this->_app->stop();
 }
开发者ID:bigpoint,项目名称:slim-bootstrap,代码行数:12,代码来源:Hook.php

示例2: instantiateRoutes

 /**
  * @return $this
  */
 private function instantiateRoutes()
 {
     foreach ($this->routes as $routeParams) {
         $route = new Route($routeParams);
         $method = $route->method;
         $this->app->{$method}($route->path, function () use($route) {
             $arguments = func_get_args();
             call_user_func_array([$route->controller, $route->action], $arguments);
             $this->app->stop();
         });
     }
     return $this;
 }
开发者ID:alexdevid,项目名称:google-parsing,代码行数:16,代码来源:Kernel.php

示例3: checkAuth

 /**
  * @param Route $route
  * @throws \Slim\Exception\Stop
  */
 private function checkAuth(Route $route)
 {
     $request = OAuth2\Request::createFromGlobals();
     $scopeRequired = [];
     if ($route->isSecure()) {
         $scopeRequired = 'admin';
     }
     if (!$this->oauth->verifyResourceRequest($request, NULL, $scopeRequired)) {
         $response = $this->oauth->getResponse();
         $this->app->response()->status($response->getStatusCode());
         $response->send();
         $this->app->stop();
     }
 }
开发者ID:alexdevid,项目名称:slim-rest,代码行数:18,代码来源:Kernel.php

示例4: _handleEndpointCall

 /**
  * @param object $endpoint
  * @param string $type
  * @param array  $params
  *
  * @throws Slim\Exception\Stop
  */
 private function _handleEndpointCall($endpoint, $type, array $params)
 {
     if ($endpoint instanceof SlimBootstrap\Endpoint\InjectClientId) {
         $endpoint->setClientId($this->_app->router()->getCurrentRoute()->getParam('clientId'));
     }
     try {
         $outputWriter =& $this->_hook->getResponseOutputWriter();
         if ($endpoint instanceof SlimBootstrap\Endpoint\ForceDefaultMimeType) {
             $csvConfig = array();
             if (true === \array_key_exists('csv', $this->_applicationConfig) && true === \is_array($this->_applicationConfig['csv'])) {
                 $csvConfig = $this->_applicationConfig['csv'];
             }
             // create output writer
             $responseOutputWriterFactory = new SlimBootstrap\ResponseOutputWriter\Factory($this->_app->request, $this->_app->response, $this->_app->response->headers, $this->_applicationConfig['shortName'], $csvConfig);
             $outputWriter = $responseOutputWriterFactory->create($endpoint->getDefaultMimeType());
         }
         if ($endpoint instanceof SlimBootstrap\Endpoint\Streamable) {
             if ($outputWriter instanceof SlimBootstrap\ResponseOutputWriterStreamable) {
                 $endpoint->setOutputWriter($outputWriter);
                 \ob_start();
                 $endpoint->{$type}($params, $this->_app->request->{$type}());
                 \ob_end_clean();
             } else {
                 throw new SlimBootstrap\Exception('media type does not support streaming', 406, Slim\Log::WARN);
             }
         } else {
             $data = $endpoint->{$type}($params, $this->_app->request->{$type}());
             if ($endpoint instanceof SlimBootstrap\Endpoint\PlainData) {
                 if ($outputWriter instanceof SlimBootstrap\ResponseOutputWriterPlainData) {
                     $outputWriter->writePlain($data);
                 } else {
                     throw new SlimBootstrap\Exception('media type does not support plain data writing', 406, Slim\Log::WARN);
                 }
             } else {
                 $outputWriter->write($data);
             }
         }
     } catch (SlimBootstrap\Exception $e) {
         $this->_app->getLog()->log($e->getLogLevel(), $e->getCode() . ' - ' . $e->getMessage());
         $this->_app->response->setStatus($e->getCode());
         $this->_app->response->setBody($e->getMessage());
         $this->_app->stop();
     }
 }
开发者ID:bigpoint,项目名称:slim-bootstrap,代码行数:51,代码来源:Bootstrap.php

示例5: outputTable


//.........这里部分代码省略.........
     }
     switch ($this->mimeBest) {
         case 'text/csv':
         case 'text/tab-separated-values':
             if ($this->mimeBest === 'text/tab-separated-values') {
                 $delimiter = "\t";
             } else {
                 $delimiter = ",";
             }
             ob_start();
             $out = fopen('php://output', 'w');
             fputcsv($out, $headers, $delimiter);
             foreach ($data as $i) {
                 fputcsv($out, $i, $delimiter);
             }
             fclose($out);
             $out = ob_get_contents();
             ob_end_clean();
             $this->app->response->setBody($out);
             break;
         case 'text/plain':
             ob_start();
             $out = fopen('php://output', 'w');
             // fwrite($out, implode(' => ', $headers) . PHP_EOL);
             foreach ($data as $i) {
                 fwrite($out, implode(' => ', $i) . PHP_EOL);
             }
             fclose($out);
             $out = ob_get_contents();
             ob_end_clean();
             $this->app->response->setBody($out);
             break;
         case 'application/rdf+xml':
         case 'text/turtle':
         case 'application/x-turtle':
             $this->outputRDF(array_merge([$headers], $data), 'table', 'eg:predicate');
             // TODO
             break;
         case 'application/json':
             $op = array();
             foreach ($data as $row) {
                 $op[] = array_combine($headers, $row);
             }
             $this->app->response->setBody(json_encode($op, JSON_PRETTY_PRINT));
             // PHP 5.4+
             break;
             // full webpage output
         // full webpage output
         case 'text/html':
         case 'application/xhtml+xml':
             // add the alternate formats for ajax query and pagination buttons
             $this->prepareWebResultView();
             // escaping for output
             array_walk($headers, '\\SameAsLite\\Helper::escapeInputArray');
             array_walk($data, '\\SameAsLite\\Helper::escapeInputArray');
             $tables = array();
             // no headers were given
             // turn the array keys into table headlines
             // use the sub-keys in the first column
             // and the array values in the second column
             if (!$headers && \SameAsLite\Helper::countdim($data) === 2) {
                 foreach ($data as $hdr => $dat) {
                     // reset the table
                     $subtabledata = array();
                     if (is_array($dat)) {
                         foreach ($dat as $k => $v) {
                             if (is_array($v)) {
                                 $hdr = $k;
                                 // TODO
                                 //add a new data row with key and value
                                 foreach ($v as $uk => $uv) {
                                     $subtabledata[] = array($uk, $uv);
                                 }
                             } else {
                                 //add a new data row with key and value
                                 $subtabledata[] = array($k, $v);
                             }
                         }
                     } else {
                         $subtabledata[] = array($hdr, $dat);
                     }
                     $tables[] = array('title' => $hdr, 'headers' => array(), "data" => $subtabledata);
                 }
                 // var_dump($tables);die;
             } else {
                 $tables[] = array('headers' => $headers, "data" => $data);
                 foreach ($data as &$d) {
                     if (!is_array($d)) {
                         $d = array_map('\\SameAsLite\\Helper::linkify', $d);
                         // $d = \SameAsLite\Helper::linkify($d);
                     }
                 }
             }
             $this->app->render('page/table.twig', array('tables' => $tables));
             break;
         default:
             throw new Exception\ContentTypeException('Could not render tabular output as ' . $this->mimeBest);
     }
     $this->app->stop();
 }
开发者ID:joetm,项目名称:sameAs-Lite,代码行数:101,代码来源:WebApp.php

示例6: array

$app->view->parserExtensions = array(new \Slim\Views\TwigExtension());
//route middleware
$authenticator = function () use($app) {
    $response = $app->response();
    $response->header("Content-type", "application/json");
    //determine if the user has authorization.
    $authorization = $app->request->headers->get('Authorization');
    if (!is_null($authorization)) {
        //check token expiry
        $manager = new UserManager();
        try {
            $user = $manager->where('token', '=', $authorization);
            if ($user['token_expire'] < date('Y-m-d H:i:s')) {
                $response->body(json_encode(['status' => 401, 'message' => 'You have no authorization']));
                $response->status(401);
                $app->stop();
                return $response;
            }
            $app->response->header('Authorization', $authorization);
        } catch (RecordNotFoundException $e) {
            $response->body(json_encode(['status' => 401, 'message' => 'You have no authorization']));
            $response->status(401);
            $app->stop();
            return $response;
        }
    } else {
        $response->body(json_encode(['status' => 401, 'message' => 'You have no authorization']));
        $response->status(401);
        $app->stop();
        return $response;
    }
开发者ID:emeka-osuagwu,项目名称:Emoji,代码行数:31,代码来源:index.php


注:本文中的Slim\Slim::stop方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。