本文整理匯總了PHP中Zend\Http\PhpEnvironment\Request::getMethod方法的典型用法代碼示例。如果您正苦於以下問題:PHP Request::getMethod方法的具體用法?PHP Request::getMethod怎麽用?PHP Request::getMethod使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Zend\Http\PhpEnvironment\Request
的用法示例。
在下文中一共展示了Request::getMethod方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: TreatRequest
public function TreatRequest()
{
if ($this->IsAuthorized()) {
$request = new Request();
switch ($request->getMethod()) {
case 'GET':
return $this->DoGet();
break;
case 'POST':
return $this->DoPost();
break;
default:
throw new \Exception();
}
}
return "false";
}
示例2: saveAction
public function saveAction(Params $params, Request $request, Response $response, Form $form, Finder $finderService, Update $updateService, Form $form, View $view)
{
if ($request->getMethod() !== Request::METHOD_PUT) {
return $view;
}
$id = $params('id');
$entity = $finderService->find(['T4webTranslate' => ['Words' => ['Id' => (int) $id]]]);
if (!$entity) {
$response->setStatusCode(Response::STATUS_CODE_404);
$view->setErrors(['message' => 'bad params']);
return $view;
}
$data = Json::decode($request->getContent(), Json::TYPE_ARRAY);
$form->setData($data);
if (!$form->isValid()) {
$response->setStatusCode(Response::STATUS_CODE_404);
$view->setErrors($form->getMessages());
return $view;
}
$entity->populate($data);
$result = $updateService->update($id, $entity->extract());
$view->setVariables($result->extract());
return $view;
}
示例3: parseArguments
/**
* QueryStringをパースし、$_GETに上書き
* @return void
*/
public static function parseArguments()
{
global $cookie, $get, $post, $method;
global $defaultpage;
$request = new Request();
// GET, POST, COOKIE
$get = $request->getQuery();
$post = $request->getPost();
$cookie = $request->getCookie();
$method = $request->getMethod();
$vars = array();
if (strlen($get->toString()) > self::MAX_QUERY_STRING_LENGTH) {
// Something nasty attack?
self::dump('suspicious');
self::dieMessage(_('Query string is too long.'));
}
if (count($get) === 0) {
// Queryがない場合
$get->set('page', $defaultpage);
} else {
if (count($get) === 1 && empty(array_values((array) $get)[0])) {
// 配列の長さが1で最初の配列に値が存在しない場合はキーをページ名とする。
$k = trim(array_keys((array) $get)[0]);
$get->set('page', rawurldecode($_SERVER['QUERY_STRING']));
unset($get[$k]);
}
}
// 外部からの変數を$vars配列にマージする
if (empty($post)) {
$vars = (array) $get;
// Major pattern: Read-only access via GET
} else {
if (empty($get)) {
$vars = (array) $post;
// Minor pattern: Write access via POST etc.
} else {
$vars = array_merge((array) $get, (array) $post);
// Considered reliable than $_REQUEST
}
}
// var_dump($vars);
// die;
if (!isset($vars['cmd'])) {
$vars['cmd'] = 'read';
}
if (isset($vars['page']) && is_string($vars['page']) && preg_match(Wiki::INVALIED_PAGENAME_PATTERN, $vars['page']) === false) {
// ページ名チェック
self::dump('suspicious');
die('Invalid page name.');
}
if (is_string($vars['cmd']) && preg_match(PluginRenderer::PLUGIN_NAME_PATTERN, $vars['cmd']) === false) {
// 入力チェック: cmdの文字列は英數字以外ありえない
self::dump('suspicious');
die(sprintf('Plugin name %s is invalied or too long! (less than 64 chars)', $vars['cmd']));
}
// 文字コード変換
// <form> で送信された文字 (ブラウザがエンコードしたデータ) のコードを変換
// POST method は常に form 経由なので、必ず変換する
if (isset($vars['encode_hint']) && !empty($vars['encode_hint'])) {
// do_plugin_xxx() の中で、<form> に encode_hint を仕込んでいるので、
// encode_hint を用いてコード検出する。
// 全體を見てコード検出すると、機種依存文字や、妙なバイナリ
// コードが混入した場合に、コード検出に失敗する恐れがある。
$encode = mb_detect_encoding($vars['encode_hint']);
mb_convert_variables(SOURCE_ENCODING, $encode, $vars);
} else {
// 全部まとめて、自動検出/変換
mb_convert_variables(SOURCE_ENCODING, 'auto', $vars);
}
// 環境変數のチェック
self::checkEnv($request->getEnv());
switch ($method) {
case Request::METHOD_POST:
self::spamCheck($vars['cmd']);
break;
case Request::METHOD_OPTIONS:
case Request::METHOD_PROPFIND:
case Request::METHOD_DELETE:
case 'MOVE':
case 'COPY':
case 'PROPPATCH':
case 'MKCOL':
case 'LOCK':
case 'UNLOCK':
// WebDAV
$matches = array();
foreach (self::$ua_dav as $pattern) {
if (preg_match('/' . $pattern . '/', $log_ua, $matches)) {
PluginRenderer::executePluginAction('dav');
exit;
}
}
break;
}
return $vars;
}
示例4: switch
//Do validation if required
do {
$authHeader = $request->getHeader('authorization');
if (!$authHeader) {
$validate = false;
$response = Response::createMessage("01");
break;
}
$acmeRequest = new \Project\mediator\Request($configPath);
$acmeRequest->authorize($authHeader);
if (!$acmeRequest->isAuthorized) {
$validate = false;
$response = $acmeRequest->getResponse();
break;
}
$requestMethod = $request->getMethod();
/*
* Types (Whenever new types are defined update this comment too)
* AE => Add event
* DE => Delete event
* GE => Get Events
* UE => Update Events
* LI => Logged in status
*/
switch (strtoupper($requestMethod)) {
case 'AE':
//validation
//Todo-Ambuj Perform validation like check for name
//if(empty($_POST['EventName']) || empty($_POST['EventDesc']) || empty($_POST['EventDate']) || empty($_POST['EventTime']) || empty($_POST['EventLocation']) || empty($_POST['EventDressCode'])) {
$body = $request->getContent();
if (!$body) {
示例5: toArray
/**
* @return array
*/
public function toArray()
{
return ['method' => $this->request->getMethod(), 'uri' => $this->request->getUriString(), 'responseCode' => $this->response->getStatusCode(), 'execution_time' => $this->endTime - $_SERVER['REQUEST_TIME_FLOAT'], 'timers' => $this->timersReport];
}