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