本文整理汇总了PHP中Illuminate\Routing\Route::uri方法的典型用法代码示例。如果您正苦于以下问题:PHP Route::uri方法的具体用法?PHP Route::uri怎么用?PHP Route::uri使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Illuminate\Routing\Route
的用法示例。
在下文中一共展示了Route::uri方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: filterRouteAsClass
protected function filterRouteAsClass(Route $route)
{
if ($this->option('name') && !str_contains($route->getName(), $this->option('name')) || $this->option('path') && !str_contains(implode('|', $route->methods()) . ' ' . $route->uri(), $this->option('path'))) {
return null;
}
return $route;
}
示例2: getRouteInformation
/**
* Get the route information for a given route.
*
* @param $route \Illuminate\Routing\Route
* @param $filter string
* @param $namespace string
*
* @return array
*/
protected function getRouteInformation(Route $route, $filter, $namespace)
{
$host = $route->domain();
$methods = $route->getMethods();
$uri = $route->uri();
$name = $route->getName();
$action = $route->getActionName();
$jsroute = array_get($route->getAction(), 'jsroute', null);
if (!empty($namespace)) {
$a = $route->getAction();
if (isset($a['controller'])) {
$action = str_replace($namespace . '\\', '', $action);
}
}
switch ($filter) {
case 'all':
if ($jsroute === false) {
return null;
}
break;
case 'only':
if ($jsroute !== true) {
return null;
}
break;
}
return compact('host', 'methods', 'uri', 'name', 'action');
}
示例3: __construct
public function __construct(Route $route = null)
{
if (!$route || !array_key_exists('controller', $route->getAction())) {
return;
}
// route will be null when not called by documentor
list($controller, $method) = explode('@', $route->getAction()['controller']);
$this->handler = explode('\\', $route->getAction()['controller']);
$this->handler = end($this->handler);
$this->hash = md5($this->handler);
$this->group = $this->getApiGroup($controller, $method);
$this->groupHash = md5($this->group);
$this->sort = $this->getApiSort($controller, $method);
$this->path = $route->uri();
$this->httpMethod = $route->getMethods()[0];
$this->controllerMethod = $method;
$this->controller = $controller;
$this->title = $this->getApiTitle($controller, $method);
$this->description = $this->getApiDescription($controller, $method);
$requestclass = $this->getRequestClass($controller, $method, $this->path, $this->httpMethod);
$this->inputProps = $requestclass ? $requestclass->apiFields() : [];
$this->response = $requestclass ? $requestclass->exampleResponse() : '';
$this->urlIdMap = $this->getUrlIdMap($controller);
$this->responseCodes = $this->getResponseCodes($controller, $method, !!$this->inputProps);
}
示例4: matches
/**
* Validate a given rule against a route and request.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
*
* @return bool
*/
public function matches(Route $route, Request $request)
{
$this->route = $route;
$this->request = $request;
$uri = $route->uri();
$prefix = $route->getPrefix();
// Transform the $uri to the form of `prefix.URI-fragment` e.g. `page.about`
if (!empty($prefix)) {
$uri = str_replace('/', '.', $uri);
}
// if the current page is a generic page
// then just use the uri to test
if ($this->is_generic($uri)) {
return $this->is_it_matches($uri);
}
// if the current page is a specified page
// extract the post type and post slug
$post_info = explode('.', $uri);
$post_type = $post_info[0];
$post_slug = $post_info[1];
$post_info_greater_than_2 = count($post_info) > 2;
$post_hierarchy = array_slice($post_info, 1);
if ($post_type === 'category' and \is_category()) {
$isSubCategory = $post_info_greater_than_2;
if ($isSubCategory) {
$cat = get_category(get_query_var('cat'));
$hierarchy = $this->get_category_parents($cat);
array_push($hierarchy, urldecode($cat->slug));
return $hierarchy == $post_hierarchy;
}
}
if ($post_type === 'taxonomy' and \is_tax()) {
$isSubTerm = $post_info_greater_than_2;
if ($isSubTerm) {
$taxonomy = get_query_var('taxonomy');
$term = get_term_by('slug', get_query_var('term'), $taxonomy);
$hierarchy = $this->get_taxonomy_parents($term, $post_slug);
array_unshift($hierarchy, $taxonomy);
array_push($hierarchy, urldecode($term->slug));
return $hierarchy == $post_hierarchy;
}
return \is_tax($post_slug);
}
if ($post_type === 'page' and \is_page()) {
// if sub-page is supplied, detect if the current page matches
$isSubPage = count($post_info) > 2;
if ($isSubPage) {
$currentPost = \get_post(\get_the_ID());
$hierarchy = $this->get_page_parents($currentPost);
array_push($hierarchy, $currentPost->post_name);
return $hierarchy == $post_hierarchy;
}
}
return $this->is_it_matches($post_type, $post_slug);
}
示例5: matches
/**
* Validate a given rule against a route and request.
*
* @param LaravelRoute $route illuminate route
* @param LaravelRequest $request illuminate request
*
* @return bool
*/
public function matches(Route $route, Request $request)
{
$path = $request->path() == '/' ? '/' : '/' . $request->path();
$firstSegment = $request->segment(1);
$uri = $route->uri();
if (strpos($uri, '{instanceGroup') === 0 && $firstSegment === null) {
return true;
} else {
return preg_match($route->getCompiled()->getRegex(), rawurldecode($path));
}
}
示例6: getPatternFilters
/**
* Get all of the pattern filters matching the route.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
protected function getPatternFilters($route)
{
$patterns = array();
foreach ($route->methods() as $method) {
// For each method supported by the route we will need to gather up the patterned
// filters for that method. We will then merge these in with the other filters
// we have already gathered up then return them back out to these consumers.
$inner = $this->getMethodPatterns($route->uri(), $method);
$patterns = array_merge($patterns, array_keys($inner));
}
return $patterns;
}
示例7: canReview
/**
* canReview
*
* @param Route $route laravel route
* @param Request $request laravel request
*
* @return bool
*/
private function canReview(Route $route, Request $request)
{
$firstSegment = $request->segment(1);
if ($firstSegment === null) {
return true;
}
$uri = $route->uri();
if (strpos($uri, '{') === false) {
return false;
}
$actions = $route->getAction();
if (isset($actions['module'])) {
return true;
}
return false;
}
示例8: getRouteInformation
protected function getRouteInformation(Route $route)
{
$uri = implode('|', $route->methods()) . ' ' . $route->uri();
return $this->filterRoute(['uri' => $uri, 'name' => $route->getName(), 'before' => $this->getBeforeFilters($route), 'after' => $this->getAfterFilters($route)]);
}
示例9: getRouteInformation
/**
* @param \Illuminate\Routing\Route $route
*
* @return array
*/
protected function getRouteInformation(Route $route)
{
return $this->filterRoute(['host' => $route->domain(), 'method' => implode('|', $route->methods()), 'uri' => $route->uri(), 'name' => $route->getName(), 'action' => $route->getActionName(), 'middleware' => $this->getMiddleware($route)]);
}
示例10: getRouteInformation
/**
* Get the route information for a given route.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
protected function getRouteInformation(Route $route)
{
return $this->filterRoute(array('host' => $route->domain(), 'uri' => implode('|', $route->methods()) . ' ' . $route->uri(), 'name' => $route->getName(), 'action' => $route->getActionName(), 'version' => implode(', ', array_get($route->getAction(), 'version')), 'protected' => array_get($route->getAction(), 'protected') ? 'Yes' : 'No', 'scopes' => $this->getScopes($route)));
}
示例11: matches
/**
* Validate a given rule against a route and request.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
*
* @return bool
*/
public function matches(Route $route, Request $request)
{
/** @var \LaraPress\Routing\Route $route */
return $route->wordpressConditional() == null || call_user_func($route->wordpressConditional(), $route->uri());
}
示例12: canReview
/**
* canReview
*
* @param Route $route laravel route
* @param Request $request laravel request
*
* @return bool
*/
private function canReview(Route $route, Request $request)
{
if (!is_null($route->getCompiled()->getHostRegex())) {
return false;
}
$uri = $route->uri();
if (strpos($uri, '{instanceGroup') !== 0) {
return false;
}
$actions = $route->getAction();
if (isset($actions['module'])) {
return true;
}
return false;
}
示例13: getRouteInformation
/**
* Get the route information for a given route.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
protected function getRouteInformation(Route $route)
{
return $this->filterRoute(['uri' => $route->uri(), 'methods' => $route->methods(), 'name' => $route->getName(), 'action' => $route->getActionName()]);
}
示例14: refreshState
/**
* Reset the properties that need to be updated.
*
* @param Route $route
* @param Request $request
*/
private function refreshState(Route $route, Request $request)
{
$this->route = $route;
$this->request = $request;
$this->uri = str_replace('/', '.', $route->uri());
// Transform the $uri to the form of `prefix.URI-fragment` e.g. `page.about`
$uriComponents = explode('.', $this->uri);
// e.g. `page.foo.bar` => ['page', 'foo', 'bar']
if (count($uriComponents) === 1) {
// the current page is a generic page
$this->isGenericPage = true;
$this->pageType = $uriComponents[0];
// e.g. `page` `home`
$this->mainSelector = null;
$this->routingHierarchy = null;
} else {
// the current page is a specified page
$this->isGenericPage = false;
$this->pageType = $uriComponents[0];
// e.g. `{page}.foo.bar`
$this->mainSelector = $uriComponents[1];
// e.g. `page.{foo}.bar`
$this->routingHierarchy = array_slice($uriComponents, 1);
// e.g. `page.{foo.bar}`
}
// get and set the queried object only once
if ($this->queriedObject === false) {
$this->queriedObject = get_queried_object();
}
}
示例15: getPatternFilters
/**
* Get all of the pattern filters matching the route.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
protected function getPatternFilters($route)
{
$patterns = [];
foreach ($route->methods() as $method) {
$inner = $this->getMethodPatterns($route->uri(), $method);
$patterns = array_merge($patterns, array_keys($inner));
}
return $patterns;
}