} else { return false; } } if ($this->host !== null) { $pathInfo = strtolower($request->getHostInfo()) . ($pathInfo === '' ? '' : '/' . $pathInfo); } if (!preg_match($this->pattern, $pathInfo, $matches)) { return false; } $matches = $this->substitutePlaceholderNames($matches); foreach ($this->defaults as $name => $value) { if (!isset($matches[$name]) || $matches[$name] === '') { $matches[$name] = $value; } }
} if ($this->host !== null) { $pathInfo = strtolower($request->getHostInfo()) . ($pathInfo === '' ? '' : '/' . $pathInfo); } if (!preg_match($this->pattern, $pathInfo, $matches)) { return false; } $matches = $this->substitutePlaceholderNames($matches); foreach ($this->defaults as $name => $value) { if (!isset($matches[$name]) || $matches[$name] === '') {
* {@inheritdoc} */ public function parseRequest($manager, $request) { foreach ($this->rules as $rule) { /* @var $rule UrlRule */ $result = $rule->parseRequest($manager, $request); if (YII_DEBUG) { Yii::debug([ 'rule' => method_exists($rule, '__toString') ? $rule->__toString() : get_class($rule), 'match' => $result !== false, 'parent' => self::className(), ], __METHOD__);
* {@inheritdoc} */ public function parseRequest($manager, $request) { $pathInfo = $request->getPathInfo(); if ($this->prefix === '' || strpos($pathInfo . '/', $this->prefix . '/') === 0) { return parent::parseRequest($manager, $request); } return false; } /**
*/ public function parseRequest($request) { if ($this->enablePrettyUrl) { /* @var $rule UrlRule */ foreach ($this->rules as $rule) { $result = $rule->parseRequest($this, $request); if (YII_DEBUG) { Yii::debug([ 'rule' => method_exists($rule, '__toString') ? $rule->__toString() : get_class($rule), 'match' => $result !== false, 'parent' => null, ], __METHOD__);
* Resolves the current request into a route and the associated parameters. * @return array the first element is the route, and the second is the associated parameters. * @throws NotFoundHttpException if the request cannot be resolved. */ public function resolve() { $result = Yii::$app->getUrlManager()->parseRequest($this); if ($result !== false) { list($route, $params) = $result; if ($this->_queryParams === null) { $_GET = $params + $_GET; // preserve numeric keys } else { $this->_queryParams = $params + $this->_queryParams;
* @throws NotFoundHttpException if the requested route is invalid */ public function handleRequest($request) { if (empty($this->catchAll)) { try { list($route, $params) = $request->resolve(); } catch (UrlNormalizerRedirectException $e) { $url = $e->url; if (is_array($url)) { if (isset($url[0])) { // ensure the route is absolute $url[0] = '/' . ltrim($url[0], '/');
{ try { $this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send();
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php'; $config = require __DIR__ . '/../config/web.php'; require_once(__DIR__ . '/functions.php'); try { (new Application($config))->run(); } catch (InvalidConfigException $e) { (new MessageOnEmail)->sendEmail($e, Yii::$app->request->url); }