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


PHP static::method方法代码示例

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


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

示例1: input

 public static function input($arguments)
 {
     if (!defined("STDIN")) {
         define("STDIN", fopen('php://stdin', 'r'));
     }
     $_argv = array();
     $_argv['command'] = null;
     $_argv['args'] = array();
     $_argv['options'] = array();
     $i = 0;
     foreach ($arguments as $k => $v) {
         $v = strtolower($v);
         if (substr($v, 0, 2) == '--') {
             $_argv['options'][] = $v;
         } else {
             if ($i == 1) {
                 $_argv['command'] = $v;
             }
             if ($i > 1) {
                 $_argv['args'][] = $v;
             }
         }
         $i++;
     }
     $command = $_argv['command'];
     $method = 'help';
     if (strpos($command, ':') !== false) {
         list($command, $method) = explode(':', $command);
     }
     static::$command = $command;
     static::$method = $method;
     static::$arguments = $_argv['args'];
     static::$options = $_argv['options'];
     return $_argv;
 }
开发者ID:fluorine-framework,项目名称:framework,代码行数:35,代码来源:hydrogen.php

示例2: connect

 /**
  * Actual routing + sanitizing data
  *
  * @param       $class
  * @param array $params
  */
 public static function connect($namespace, $class, $params = array())
 {
     $defaults = array('indexPage' => 'index', 'loginPage' => false, 'loginRedirect' => false);
     static::$class = strtolower($class);
     $class = $namespace . '\\' . $class;
     $params += $defaults;
     extract($params);
     // Authenticated controllers
     if ($loginPage) {
         Auth::checkLogin($loginRedirect, $loginPage);
     }
     $method = $indexPage;
     $parameters = array();
     if (isset($_SERVER[URI_INFO])) {
         $url = explode('/', substr($_SERVER[URI_INFO], 1));
         array_shift($url);
         if ($url) {
             foreach ($url as $key => $element) {
                 if (!$key && !is_numeric($element)) {
                     $method = $element;
                 } else {
                     $parameters[] = $element;
                 }
             }
         }
     }
     // Check availability
     try {
         $methodInfo = new \ReflectionMethod($class, $method);
         // Methods that start with _ are not accesible from browser
         $name = $methodInfo->getName();
         if ($name[0] == '_') {
             $method = $indexPage;
         }
         $methodParams = $methodInfo->getParameters();
         // Force cast parameters by arguments default value
         if ($methodParams) {
             foreach ($methodParams as $parameterKey => $parameterValue) {
                 try {
                     $defaultValue = $parameterValue->getDefaultValue();
                     $type = gettype($defaultValue);
                     if ($defaultValue) {
                         unset($methodParams[$parameterKey]);
                     }
                     //							settype($parameters[$parameterKey], $type);
                 } catch (\Exception $e) {
                     continue;
                 }
             }
         }
         //				if(count($methodParams) != count($parameters)) {
         //					$parameters = array();
         //				}
     } catch (\Exception $e) {
         $method = $indexPage;
     }
     static::$method = $method;
     call_user_func_array($class . '::' . $method, $parameters);
     return;
 }
开发者ID:unDemian,项目名称:gcdc-migrate,代码行数:66,代码来源:Router.php

示例3: before

 public function before()
 {
     $this->template = $this->layout . '/template';
     $this->controller = Request::active()->controller;
     $this->action = Request::active()->action;
     static::$method = $this->controller . '/' . $this->action;
     $this->render_template();
     parent::before();
     $this->set_path();
     $this->check_maintenance();
     $this->init();
 }
开发者ID:khoapld,项目名称:wjshop,代码行数:12,代码来源:core.php

示例4: before

 public function before()
 {
     $this->controller = Request::active()->controller;
     $this->action = Request::active()->action;
     static::$method = $this->controller . '/' . $this->action;
     $this->data['success'] = false;
     Lang::load('app');
     $this->render_template();
     parent::before();
     $this->set_title();
     $this->set_path();
     $this->init();
 }
开发者ID:khoapld,项目名称:wjshop,代码行数:13,代码来源:admin.php

示例5: initialize

 protected static function initialize()
 {
     if (static::$initialized) {
         return;
     }
     static::$initialized = true;
     static::$method = $_SERVER['REQUEST_METHOD'];
     static::$request = $_SERVER['REQUEST_URI'];
     static::$script = $_SERVER['SCRIPT_NAME'];
     static::$original = null;
     static::$redirect = null;
     static::applyRoutes();
     static::route();
 }
开发者ID:mehulsbhatt,项目名称:MindaPHP,代码行数:14,代码来源:Router.php

示例6: dispatch

 public static function dispatch()
 {
     static::$method = Request::method();
     $uri = substr(str_replace('/ws/', '/', $_SERVER['REQUEST_URI']), 1);
     $tab = explode('/', $uri);
     if (count($tab) < 3) {
         Api::forbidden();
     }
     $namespace = 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 = APPLICATION_PATH . DS . 'webservices' . DS . $namespace . DS . $controller . '.php';
     if (!File::exists($file)) {
         Api::NotFound();
     }
     require_once $file;
     $class = 'Thin\\' . ucfirst($controller) . 'Ws';
     $i = new $class();
     $methods = get_class_methods($i);
     $call = strtolower(static::$method) . ucfirst($action);
     if (!Arrays::in($call, $methods)) {
         Api::NotFound();
     }
     if (Arrays::in('init', $methods)) {
         $i->init($call);
     }
     $i->{$call}();
     if (Arrays::in('after', $methods)) {
         $i->after();
     }
 }
开发者ID:schpill,项目名称:standalone,代码行数:38,代码来源:Rest.php

示例7: dispatch

 public static function dispatch($module = null)
 {
     $module = is_null($module) ? 'front' : $module;
     $ever = context()->get('MVC404');
     if (true !== $ever) {
         $file = APPLICATION_PATH . DS . 'config' . DS . SITE_NAME . '_routes.php';
         if (File::exists($file)) {
             $routes = (include $file);
             static::$routes = isAke($routes, $module, []);
         }
         if (count(static::$routes)) {
             $baseUri = Config::get('application.base_uri', '');
             if (strlen($baseUri)) {
                 $uri = strReplaceFirst($baseUri, '', $_SERVER['REQUEST_URI']);
             } else {
                 $uri = $_SERVER['REQUEST_URI'];
             }
             static::$uri = $uri;
             static::$method = Request::method();
             return static::find();
         }
     }
     return false;
 }
开发者ID:schpill,项目名称:standalone,代码行数:24,代码来源:Router.php

示例8: init

 public static function init()
 {
     //Sanitize inputs
     //.Remove magic quotes
     if (magic_quotes()) {
         $magics = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
         foreach ($magics as &$magic) {
             $magic = array_strip_slashes($magic);
         }
     }
     //.Unset globals
     foreach (array($_GET, $_POST) as $global) {
         if (is_array($global)) {
             foreach ($global as $k => $v) {
                 global ${$k};
                 ${$k} = NULL;
             }
         }
     }
     //.Clean post input
     array_map(function ($v) {
         return Request::clearValue($v);
     }, $_POST);
     //Remove /public/index.html from path_info..
     foreach (array("PATH_INFO", "ORIG_PATH_INFO", "PATH_TRANSLATED", "PHP_SELF") as $k) {
         if (isset($_SERVER[$k])) {
             $_SERVER[$k] = str_replace("/public/index.html", "/", $_SERVER[$k]);
         }
     }
     static::$server = $_SERVER;
     static::$get = $_GET;
     static::$post = $_POST;
     $_GET = null;
     $_POST = null;
     $_SERVER = null;
     $_REQUEST = null;
     //Detect environment
     $list = (require J_PATH . "config" . DS . "environments" . EXT);
     $env = "";
     $envWithWildcard = array_first($list);
     $hosts = array(array_get(static::$server, "HTTP_HOST", "localhost"), array_get(static::$server, "SERVER_NAME", "localhost"), array_get(static::$server, "SERVER_ADDR", "localhost"), gethostname());
     foreach ($hosts as $host) {
         foreach ($list as $k => $v) {
             foreach ((array) $v as $hostname) {
                 if ($hostname != "" && $hostname == $host) {
                     $env = $k;
                     break;
                 } else {
                     if ($hostname == "*") {
                         $envWithWildcard = $k;
                     }
                 }
             }
             if (!empty($env)) {
                 break;
             }
         }
         if (!empty($env)) {
             break;
         }
     }
     if (empty($env)) {
         $env = $envWithWildcard;
     }
     static::$env = $env;
     //Detect method
     $method = strtoupper(array_get(static::$server, "REQUEST_METHOD", "GET"));
     if ($method == "POST" && static::hasReq("_method")) {
         $methodReq = static::req("_method", "POST");
         if (array_search($methodReq, static::$availableMethods) !== false) {
             $method = $methodReq;
         }
     }
     static::$method = $method;
 }
开发者ID:jura-php,项目名称:jura,代码行数:75,代码来源:Request.php

示例9: setRoute

    private static function setRoute($route)
    {
        $value = explode('.', $route['value']);
        $method = explode('/', implode('.', array_slice($value, 1)));
        $vars = isset($method[1]) ? explode(',', $method[1]) : array();

        static::$controller = str_replace('::', '\\', '\\'.$value[0]);
        static::$method = $method[0];
        static::$params = $route['params'];
        static::$vars = $vars;
        static::$extension = (isset($route['params']['extension']) ? $route['params']['extension'] : null);
    }
开发者ID:nirix,项目名称:avalon,代码行数:12,代码来源:router.php

示例10: method

 /**
  * @return string
  */
 public static function method()
 {
     if (!static::$method) {
         if (static::$post->has('_method')) {
             static::$method = strtoupper(static::$post->get('_method'));
         } else {
             static::$method = $_SERVER['REQUEST_METHOD'];
         }
     }
     return static::$method;
 }
开发者ID:avalonphp,项目名称:avalon,代码行数:14,代码来源:Request.php

示例11: __construct

 public function __construct()
 {
     static::$instance = $this;
     static::$request = $_REQUEST;
     static::$get = $_GET;
     static::$post = $_POST;
     static::$server = $_SERVER;
     static::$headers = static::getAllHeaders();
     static::$requestUri = static::prepareRequestUri();
     static::$baseUrl = static::prepareBaseUrl();
     static::$basePath = static::prepareBasePath();
     static::$pathInfo = static::preparePathInfo();
     static::$method = static::$server['REQUEST_METHOD'];
 }
开发者ID:nirix,项目名称:radium,代码行数:14,代码来源:Request.php

示例12: controller

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

示例13: route

 public static function route()
 {
     static::$method = Request::method();
     $pjax = isAke(Request::headers(), 'x-pjax', []);
     static::$pjax = !empty($pjax);
     $uri = substr($_SERVER['REQUEST_URI'], 1);
     if (static::$pjax) {
         static::$method = 'GET';
     }
     if (fnmatch("*?*", $uri) && static::$pjax) {
         $uri = str_replace('?', '/', $uri);
         $uri = str_replace('=', '/', $uri);
         $uri = str_replace('&', '/', $uri);
     }
     if (!strlen($uri)) {
         $controller = 'index';
         $action = 'home';
     } else {
         $tab = explode('/', $uri);
         if (count($tab) == 1) {
             $seg = current($tab);
             if (strlen($seg) == 2) {
                 $_REQUEST['lng'] = strtolower($seg);
                 $controller = 'index';
                 $action = 'home';
             } else {
                 $controller = strtolower($seg);
                 $action = 'index';
             }
         } elseif (count($tab) == 2) {
             $first = current($tab);
             $second = end($tab);
             if (strlen($first) == 2) {
                 $_REQUEST['lng'] = strtolower($first);
                 $controller = $second;
                 $action = 'index';
             } else {
                 $controller = strtolower($first);
                 $action = strtolower($second);
             }
         } else {
             $first = current($tab);
             $second = $tab[1];
             $third = end($tab);
             if (strlen($first) == 2) {
                 $_REQUEST['lng'] = strtolower($first);
                 $controller = $second;
                 $action = 'index';
             } else {
                 $controller = strtolower($first);
                 $action = strtolower($second);
                 $tab = array_slice($tab, 2);
                 $count = count($tab);
                 if (0 < $count && $count % 2 == 0) {
                     for ($i = 0; $i < $count; $i += 2) {
                         $_REQUEST[$tab[$i]] = $tab[$i + 1];
                     }
                 }
             }
         }
     }
     static::$route = ['controller' => $controller, 'action' => $action];
 }
开发者ID:schpill,项目名称:standalone,代码行数:63,代码来源:Mvc.php

示例14: __initialize

 /**
  * Static Constructor
  *
  * Checks if the current request is an AJAX request and what HTTP method was used
  * when submitting the request.
  *
  * @return void
  */
 public static function __initialize()
 {
     $req = static::server('http_x_requested_with', false);
     static::$ajax = $req and strtolower($req) == 'xmlhttprequest';
     static::$method = strtolower(static::server('request_method', 'get'));
 }
开发者ID:nerdsrescueme,项目名称:Core,代码行数:14,代码来源:input.php

示例15: init

 /**
  * Sets up the request.
  */
 public static function init()
 {
     static::$query = new ParameterBag($_GET);
     static::$post = new ParameterBag($_POST);
     static::$properties = new ParameterBag();
     static::$server = new ParameterBag($_SERVER);
     static::$headers = static::buildHeaderBag();
     static::$method = isset($_POST['_method']) ? $_POST['_method'] : $_SERVER['REQUEST_METHOD'];
     static::$requestUri = $_SERVER['REQUEST_URI'];
     static::$scriptName = $_SERVER['SCRIPT_NAME'];
     static::$basePath = rtrim(str_replace(basename(static::$scriptName), '', static::$scriptName), '/');
     static::$pathInfo = str_replace(static::$scriptName, '', static::$requestUri);
     static::$pathInfo = static::preparePathInfo();
     static::$segments = explode('/', trim(static::$pathInfo, '/'));
 }
开发者ID:nirix,项目名称:unframework,代码行数:18,代码来源:Request.php


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