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


PHP Api::forbidden方法代码示例

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


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

示例1: isBanned

 private function isBanned($ip)
 {
     $row = rdb('core', 'banned')->inCache(false)->where(['ip', '=', (int) str_replace('.', '', $ip)])->first(true);
     if ($row) {
         Api::forbidden();
     }
 }
开发者ID:schpill,项目名称:thin,代码行数:7,代码来源:Flood.php

示例2: dispatch

 public function dispatch($uri)
 {
     if (fnmatch('*/*/*', $uri) && !fnmatch('*/*/*/*', $uri)) {
         list($token, $controller, $action) = explode('/', $uri);
         if (strstr($action, '?')) {
             list($action, $query) = explode('?', $action, 2);
             $query = urldecode($query);
             parse_str($query, $query);
             foreach ($query as $k => $v) {
                 $_REQUEST[$k] = $v;
             }
         }
         $controller = Inflector::lower($controller);
         $action = Inflector::lower($action);
         $dir = Config::get('webservices.dir', APPLICATION_PATH . DS . 'webservices');
         if (is_dir($dir)) {
             $acl = $dir . DS . 'acl.php';
             if (is_file($acl)) {
                 $acl = (include $acl);
                 $userrights = isAke($acl, $token, []);
                 $controllerRights = isAke($userrights, $controller, []);
                 if (in_array($action, $controllerRights)) {
                     $file = $dir . DS . $controller . '.php';
                     if (is_file($file)) {
                         require_once $file;
                         $class = 'Thin\\' . Inflector::camelize($controller . '_webservice');
                         $instance = lib('caller')->make($class);
                         $methods = get_class_methods($instance);
                         if (in_array('init', $methods)) {
                             $instance->init();
                         }
                         if (in_array('boot', $methods)) {
                             $instance->boot();
                         }
                         if (in_array($action, $methods)) {
                             return $instance->{$action}();
                         }
                     }
                 }
             }
         }
     }
     Api::forbidden();
 }
开发者ID:schpill,项目名称:standalone,代码行数:44,代码来源:webservices.php

示例3: api

 private static function api($uri)
 {
     $method = Request::method();
     $uri = substr(str_replace('/api/', '/', $uri), 1);
     $tab = explode('/', $uri);
     if (count($tab) < 3) {
         Api::forbidden();
     }
     $module = current($tab);
     $controller = $tab[1];
     $action = $tab[2];
     $tab = array_slice($tab, 3);
     $count = count($tab);
     if (0 < $count && $count % 2 == 0) {
         for ($i = 0; $i < $count; $i += 2) {
             $_REQUEST[$tab[$i]] = $tab[$i + 1];
         }
     }
     $file = Config::get('app.module.dir') . DS . 'api' . DS . $module . DS . $controller . '.php';
     if (!File::exists($file)) {
         Api::NotFound();
     }
     require_once $file;
     $class = 'Thin\\' . ucfirst($controller) . 'Api';
     $i = new $class();
     $methods = get_class_methods($i);
     $call = strtolower($method) . ucfirst($action);
     if (!in_array($call, $methods)) {
         Api::NotFound();
     }
     if (in_array('init', $methods)) {
         $i->init($call);
     }
     $i->{$call}();
     if (in_array('after', $methods)) {
         $i->after();
     }
 }
开发者ID:schpill,项目名称:standalone,代码行数:38,代码来源:router.php


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