From: Thiemo Mättig Date: Tue, 14 Oct 2014 13:23:36 +0000 (+0200) Subject: Deprecate internal ORMTable::unprefixFieldName(s) X-Git-Tag: 1.31.0-rc.0~13459^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22config_fonctions%22%2C%20%22image_process=%24process%22%29%20.%20%22?a=commitdiff_plain;h=11c4eb6dcebacecdb3823fc7b5febbddfa43e574;p=lhc%2Fweb%2Fwiklou.git Deprecate internal ORMTable::unprefixFieldName(s) unprefixFieldNames is not used anywhere outside of the class. Why should it? unprefixFieldName became unused in I19194f1, but I did not removed it because it is public. The fact that both methods are public is a mistake as far as I can tell. I can't think of a good reason to do that. Change-Id: Iafc527b5d534648a962a8c2015d21403362bb573 --- diff --git a/includes/db/IORMTable.php b/includes/db/IORMTable.php index 4dc693acc5..6e262e8f0e 100644 --- a/includes/db/IORMTable.php +++ b/includes/db/IORMTable.php @@ -442,10 +442,11 @@ interface IORMTable { * Takes an array of field names with prefix and returns the unprefixed equivalent. * * @since 1.20 + * @deprecated since 1.25, will be removed * - * @param array $fieldNames + * @param string[] $fieldNames * - * @return array + * @return string[] */ public function unprefixFieldNames( array $fieldNames ); @@ -453,6 +454,7 @@ interface IORMTable { * Takes a field name with prefix and returns the unprefixed equivalent. * * @since 1.20 + * @deprecated since 1.25, will be removed * * @param string $fieldName * diff --git a/includes/db/ORMTable.php b/includes/db/ORMTable.php index 31f32e5e03..1868073833 100644 --- a/includes/db/ORMTable.php +++ b/includes/db/ORMTable.php @@ -778,12 +778,26 @@ class ORMTable extends DBAccessBase implements IORMTable { * Takes an array of field names with prefix and returns the unprefixed equivalent. * * @since 1.20 + * @deprecated since 1.25, will be removed * - * @param array $fieldNames + * @param string[] $fieldNames * - * @return array + * @return string[] */ public function unprefixFieldNames( array $fieldNames ) { + wfDeprecated( __METHOD__, '1.25' ); + + return $this->stripFieldPrefix( $fieldNames ); + } + + /** + * Takes an array of field names with prefix and returns the unprefixed equivalent. + * + * @param string[] $fieldNames + * + * @return string[] + */ + private function stripFieldPrefix( array $fieldNames ) { $start = strlen( $this->fieldPrefix ); return array_map( function( $fieldName ) use ( $start ) { @@ -795,12 +809,15 @@ class ORMTable extends DBAccessBase implements IORMTable { * Takes a field name with prefix and returns the unprefixed equivalent. * * @since 1.20 + * @deprecated since 1.25, will be removed * * @param string $fieldName * * @return string */ public function unprefixFieldName( $fieldName ) { + wfDeprecated( __METHOD__, '1.25' ); + return substr( $fieldName, strlen( $this->fieldPrefix ) ); } @@ -837,7 +854,7 @@ class ORMTable extends DBAccessBase implements IORMTable { $result = (array)$result; $rawFields = array_combine( - $this->unprefixFieldNames( array_keys( $result ) ), + $this->stripFieldPrefix( array_keys( $result ) ), array_values( $result ) );