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
This commit is contained in:
Thiemo Mättig 2014-10-14 15:23:36 +02:00 committed by Thiemo Mättig (WMDE)
parent aeae6afbbb
commit 11c4eb6dce
2 changed files with 24 additions and 5 deletions

View file

@ -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
*

View file

@ -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 )
);