Browse Source

Add deprecation warnings to Routing features.

Make documented deprecations into runtime errors.
Mark Story 8 years ago
parent
commit
2a43409187

+ 4 - 0
src/Routing/RequestActionTrait.php

@@ -101,6 +101,10 @@ trait RequestActionTrait
      */
     public function requestAction($url, array $extra = [])
     {
+        deprecationWarning(
+            'RequestActionTrait::requestAction() is deprecated. ' .
+            'You should refactor to use View Cells or Components instead.'
+        );
         if (empty($url)) {
             return false;
         }

+ 6 - 1
src/Routing/Route/Route.php

@@ -120,8 +120,8 @@ class Route
     public function __construct($template, $defaults = [], array $options = [])
     {
         $this->template = $template;
-        // @deprecated The `[method]` format should be removed in 4.0.0
         if (isset($defaults['[method]'])) {
+            deprecationWarning('The `[method]` option is deprecated. Use `_method` instead.');
             $defaults['_method'] = $defaults['[method]'];
             unset($defaults['[method]']);
         }
@@ -141,6 +141,10 @@ class Route
      */
     public function extensions($extensions = null)
     {
+        deprecationWarning(
+            'Route::extensions() is deprecated. ' .
+            'Use Route::setExtensions()/getExtensions() instead.'
+        );
         if ($extensions === null) {
             return $this->_extensions;
         }
@@ -736,6 +740,7 @@ class Route
         }
         // @deprecated The `[method]` support should be removed in 4.0.0
         if (isset($url['[method]'])) {
+            deprecationWarning('The `[method]` key is deprecated. Use `_method` instead.');
             $url['_method'] = $url['[method]'];
         }
         if (empty($url['_method'])) {

+ 8 - 0
src/Routing/RouteBuilder.php

@@ -152,6 +152,10 @@ class RouteBuilder
      */
     public function routeClass($routeClass = null)
     {
+        deprecationWarning(
+            'RouteBuilder::routeClass() is deprecated. ' .
+            'Use RouteBuilder::setRouteClass()/getRouteClass() instead.'
+        );
         if ($routeClass === null) {
             return $this->getRouteClass();
         }
@@ -193,6 +197,10 @@ class RouteBuilder
      */
     public function extensions($extensions = null)
     {
+        deprecationWarning(
+            'RouteBuilder::extensions() is deprecated. ' .
+            'Use RouteBuilder::setExtensions()/getExtensions() instead.'
+        );
         if ($extensions === null) {
             return $this->getExtensions();
         }

+ 4 - 0
src/Routing/RouteCollection.php

@@ -373,6 +373,10 @@ class RouteCollection
      */
     public function extensions($extensions = null, $merge = true)
     {
+        deprecationWarning(
+            'RouteCollection::extensions() is deprecated. ' .
+            'Use RouteCollection::setExtensions()/getExtensions() instead.'
+        );
         if ($extensions !== null) {
             $this->setExtensions((array)$extensions, $merge);
         }

+ 16 - 0
src/Routing/Router.php

@@ -225,6 +225,10 @@ class Router
      */
     public static function redirect($route, $url, $options = [])
     {
+        deprecationWarning(
+            'Router::redirect() is deprecated. ' .
+            'Use Router::scope() and RouteBuilder::redirect() instead.'
+        );
         if (is_string($url)) {
             $url = ['redirect' => $url];
         }
@@ -291,6 +295,10 @@ class Router
      */
     public static function mapResources($controller, $options = [])
     {
+        deprecationWarning(
+            'Router::mapResources() is deprecated. ' .
+            'Use Router::scope() and RouteBuilder::resources() instead.'
+        );
         foreach ((array)$controller as $name) {
             list($plugin, $name) = pluginSplit($name);
 
@@ -344,6 +352,10 @@ class Router
      */
     public static function parse($url, $method = '')
     {
+        deprecationWarning(
+            'Router::parse() is deprecated. ' .
+            'Use Router::parseRequest() instead. This will require adopting the Http\Server library.'
+        );
         if (!static::$initialized) {
             static::_loadRoutes();
         }
@@ -872,6 +884,10 @@ class Router
      */
     public static function parseNamedParams(ServerRequest $request, array $options = [])
     {
+        deprecationWarning(
+            'Router::parseNamedParams() is deprecated. ' .
+            '2.x backwards compatible named parameter support will be removed in 4.0'
+        );
         $options += ['separator' => ':'];
         if (empty($request->params['pass'])) {
             $request->params['named'] = [];