Browse Source
Move the router classes to a namespace and expose it with a public interface
remotes/origin/ldap_group_count
Move the router classes to a namespace and expose it with a public interface
remotes/origin/ldap_group_count
11 changed files with 266 additions and 55 deletions
-
2apps/files_sharing/appinfo/routes.php
-
14lib/base.php
-
7lib/private/appframework/routing/routeconfig.php
-
12lib/private/route/route.php
-
105lib/private/route/router.php
-
15lib/private/server.php
-
2lib/public/appframework/app.php
-
6lib/public/iservercontainer.php
-
79lib/public/route/iroute.php
-
71lib/public/route/irouter.php
-
8tests/lib/appframework/routing/RoutingTest.php
@ -0,0 +1,79 @@ |
|||
<?php |
|||
/** |
|||
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> |
|||
* This file is licensed under the Affero General Public License version 3 or |
|||
* later. |
|||
* See the COPYING-README file. |
|||
*/ |
|||
namespace OCP\Route; |
|||
|
|||
interface IRoute { |
|||
/** |
|||
* Specify PATCH as the method to use with this route |
|||
*/ |
|||
public function patch(); |
|||
|
|||
/** |
|||
* Specify the method when this route is to be used |
|||
* |
|||
* @param string $method HTTP method (uppercase) |
|||
* @return \OCP\Route\IRoute |
|||
*/ |
|||
public function method($method); |
|||
|
|||
/** |
|||
* The action to execute when this route matches, includes a file like |
|||
* it is called directly |
|||
* |
|||
* @param $file |
|||
*/ |
|||
public function actionInclude($file); |
|||
|
|||
/** |
|||
* Specify GET as the method to use with this route |
|||
*/ |
|||
public function get(); |
|||
|
|||
/** |
|||
* Specify POST as the method to use with this route |
|||
*/ |
|||
public function post(); |
|||
|
|||
/** |
|||
* Specify DELETE as the method to use with this route |
|||
*/ |
|||
public function delete(); |
|||
|
|||
/** |
|||
* The action to execute when this route matches |
|||
* |
|||
* @param string|callable $class the class or a callable |
|||
* @param string $function the function to use with the class |
|||
* @return \OCP\Route\IRoute |
|||
* |
|||
* This function is called with $class set to a callable or |
|||
* to the class with $function |
|||
*/ |
|||
public function action($class, $function = null); |
|||
|
|||
/** |
|||
* Defaults to use for this route |
|||
* |
|||
* @param array $defaults The defaults |
|||
* @return \OCP\Route\IRoute |
|||
*/ |
|||
public function defaults($defaults); |
|||
|
|||
/** |
|||
* Requirements for this route |
|||
* |
|||
* @param array $requirements The requirements |
|||
* @return \OCP\Route\IRoute |
|||
*/ |
|||
public function requirements($requirements); |
|||
|
|||
/** |
|||
* Specify PUT as the method to use with this route |
|||
*/ |
|||
public function put(); |
|||
} |
|||
@ -0,0 +1,71 @@ |
|||
<?php |
|||
/** |
|||
* Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl> |
|||
* This file is licensed under the Affero General Public License version 3 or |
|||
* later. |
|||
* See the COPYING-README file. |
|||
*/ |
|||
|
|||
namespace OCP\Route; |
|||
|
|||
interface IRouter { |
|||
|
|||
public function __construct(); |
|||
|
|||
/** |
|||
* Get the files to load the routes from |
|||
* |
|||
* @return string[] |
|||
*/ |
|||
public function getRoutingFiles(); |
|||
|
|||
public function getCacheKey(); |
|||
|
|||
/** |
|||
* loads the api routes |
|||
*/ |
|||
public function loadRoutes(); |
|||
|
|||
/** |
|||
* Sets the collection to use for adding routes |
|||
* |
|||
* @param string $name Name of the collection to use. |
|||
*/ |
|||
public function useCollection($name); |
|||
|
|||
/** |
|||
* Create a \OCP\Route\IRoute. |
|||
* |
|||
* @param string $name Name of the route to create. |
|||
* @param string $pattern The pattern to match |
|||
* @param array $defaults An array of default parameter values |
|||
* @param array $requirements An array of requirements for parameters (regexes) |
|||
* @return \OCP\Route\IRoute |
|||
*/ |
|||
public function create($name, $pattern, array $defaults = array(), array $requirements = array()); |
|||
|
|||
/** |
|||
* Find the route matching $url. |
|||
* |
|||
* @param string $url The url to find |
|||
* @throws \Exception |
|||
*/ |
|||
public function match($url); |
|||
|
|||
/** |
|||
* Get the url generator |
|||
* |
|||
*/ |
|||
public function getGenerator(); |
|||
|
|||
/** |
|||
* Generate url based on $name and $parameters |
|||
* |
|||
* @param string $name Name of the route to use. |
|||
* @param array $parameters Parameters for the route |
|||
* @param bool $absolute |
|||
* @return string |
|||
*/ |
|||
public function generate($name, $parameters = array(), $absolute = false); |
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue