From 24ec253b67f16e8c8b593d38632a15a18ce376eb Mon Sep 17 00:00:00 2001 From: Reedy Date: Tue, 24 Apr 2012 23:55:33 +0100 Subject: [PATCH] Parameter documentation for PathRouter Explicitly define member variable Change-Id: Iae2cffbb299d587d9a48b3b3255a0b49501cabac --- includes/PathRouter.php | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/includes/PathRouter.php b/includes/PathRouter.php index 9700b90a38..a80e04bbfb 100644 --- a/includes/PathRouter.php +++ b/includes/PathRouter.php @@ -34,7 +34,7 @@ * the relevant contents * - The default behavior is equivalent to `array( 'title' => '$1' )`, * if you don't want the title parameter you can explicitly use `array( 'title' => false )` - * - You can specify a value that won't have replacements in it + * - You can specify a value that won't have replacements in it * using `'foo' => array( 'value' => 'bar' );` * * Options: @@ -51,11 +51,20 @@ */ class PathRouter { + /** + * @var array + */ + private $patterns = array(); + /** * Protected helper to do the actual bulk work of adding a single pattern. * This is in a separate method so that add() can handle the difference between * a single string $path and an array() $path that contains multiple path * patterns each with an associated $key to pass on. + * @param $path string + * @param $params array + * @param $options array + * @param $key null|string */ protected function doAdd( $path, $params, $options, $key = null ) { // Make sure all paths start with a / @@ -140,6 +149,9 @@ class PathRouter { /** * Add a new path pattern to the path router with the strict option on * @see self::add + * @param $path string|array + * @param $params array + * @param $options array */ public function addStrict( $path, $params = array(), $options = array() ) { $options['strict'] = true; @@ -158,6 +170,10 @@ class PathRouter { array_multisort( $weights, SORT_DESC, SORT_NUMERIC, $this->patterns ); } + /** + * @param $pattern object + * @return float|int + */ protected static function makeWeight( $pattern ) { # Start with a weight of 0 $weight = 0; @@ -202,7 +218,7 @@ class PathRouter { // Make sure our patterns are sorted by weight so the most specific // matches are tested first $this->sortByWeight(); - + $matches = null; foreach ( $this->patterns as $pattern ) { @@ -219,6 +235,11 @@ class PathRouter { return is_null( $matches ) ? array() : $matches; } + /** + * @param $path string + * @param $pattern string + * @return array|null + */ protected static function extractTitle( $path, $pattern ) { // Convert the path pattern into a regexp we can match with $regexp = preg_quote( $pattern->path, '#' ); @@ -321,6 +342,8 @@ class PathRouterPatternReplacer { * We do this inside of a replacement callback because after replacement we can't tell the * difference between a $1 that was not replaced and a $1 that was part of * the content a $1 was replaced with. + * @param $value string + * @return string */ public function replace( $value ) { $this->error = false; @@ -331,6 +354,10 @@ class PathRouterPatternReplacer { return $value; } + /** + * @param $m array + * @return string + */ protected function callback( $m ) { if ( $m[1] == "key" ) { if ( is_null( $this->key ) ) { -- 2.20.1