* the name of the class defining the property, <component> is the MediaWiki component
* (extension, skin etc.) for use in the deprecation warning) or null if it is MediaWiki.
* E.g. [ 'mNewRev' => [ '1.32', 'DifferenceEngine', null ]
- * @var string[]
+ * @var string[][]
*/
protected $deprecatedPublicProperties = [];
protected function deprecatePublicProperty(
$property, $version, $class = null, $component = null
) {
- $this->deprecatedPublicProperties[$property] = [ $version, $class ?: get_class(), $component ];
+ $this->deprecatedPublicProperties[$property] = [ $version, $class ?: __CLASS__, $component ];
}
public function __get( $name ) {
return $this->$name;
}
- $qualifiedName = get_class() . '::$' . $name;
+ $qualifiedName = __CLASS__ . '::$' . $name;
if ( $this->deprecationHelperGetPropertyOwner( $name ) ) {
// Someone tried to access a normal non-public property. Try to behave like PHP would.
trigger_error( "Cannot access non-public property $qualifiedName", E_USER_ERROR );
return;
}
- $qualifiedName = get_class() . '::$' . $name;
+ $qualifiedName = __CLASS__ . '::$' . $name;
if ( $this->deprecationHelperGetPropertyOwner( $name ) ) {
// Someone tried to access a normal non-public property. Try to behave like PHP would.
trigger_error( "Cannot access non-public property $qualifiedName", E_USER_ERROR );
* @param array $conditions WHERE conditions for use with Database::update
* @return array WHERE conditions for use with Database::update
*/
- protected function makeUpdateConditions( Database $db, array $conditions ) {
+ protected function makeUpdateConditions( IDatabase $db, array $conditions ) {
if ( $this->mTouched ) {
// CAS check: only update if the row wasn't changed sicne it was loaded.
$conditions['user_touched'] = $db->timestamp( $this->mTouched );
// Set the user limit key
if ( $userLimit !== false ) {
+ // phan is confused because &can-bypass's value is a bool, so it assumes
+ // that $userLimit is also a bool here.
+ // @phan-suppress-next-line PhanTypeInvalidExpressionArrayDestructuring
list( $max, $period ) = $userLimit;
wfDebug( __METHOD__ . ": effective user limit: $max in {$period}s\n" );
$keys[$cache->makeKey( 'limiter', $action, 'user', $id )] = $userLimit;
$triggered = false;
foreach ( $keys as $key => $limit ) {
+ // phan is confused because &can-bypass's value is a bool, so it assumes
+ // that $userLimit is also a bool here.
+ // @phan-suppress-next-line PhanTypeInvalidExpressionArrayDestructuring
list( $max, $period ) = $limit;
$summary = "(limit $max in {$period}s)";
$count = $cache->get( $key );