mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-26 08:42:40 +01:00
Explicitly enumerate PHP magic methods
Summary: Explicitly list PHP magic methods (methods beginning with `__`) instead of assuming that //all// methods beginning with `__` are okay in terms of naming conventions. These magic methods were obtained from http://us1.php.net/manual/en/language.oop5.magic.php. Test Plan: ``` Warning (XHP9) Naming Conventions Follow naming conventions: methods should be named using lowerCamelCase. 1 <?php 2 3 class Foo { >>> 4 function __foo() {} 5 6 function _bar() {} 7 } Warning (XHP9) Naming Conventions Follow naming conventions: methods should be named using lowerCamelCase. 3 class Foo { 4 function __foo() {} 5 >>> 6 function _bar() {} 7 } ``` Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D10539
This commit is contained in:
parent
670dccee47
commit
a70a00a960
1 changed files with 23 additions and 3 deletions
|
@ -113,9 +113,29 @@ abstract class ArcanistXHPASTLintNamingHook {
|
||||||
* @task util
|
* @task util
|
||||||
*/
|
*/
|
||||||
public static function stripPHPFunction($symbol) {
|
public static function stripPHPFunction($symbol) {
|
||||||
// Allow initial "__" for magic methods like __construct; we could also
|
switch ($symbol) {
|
||||||
// enumerate these explicitly.
|
case '__assign_concat':
|
||||||
|
case '__call':
|
||||||
|
case '__callStatic':
|
||||||
|
case '__clone':
|
||||||
|
case '__concat':
|
||||||
|
case '__construct':
|
||||||
|
case '__debugInfo':
|
||||||
|
case '__destruct':
|
||||||
|
case '__get':
|
||||||
|
case '__invoke':
|
||||||
|
case '__isset':
|
||||||
|
case '__set':
|
||||||
|
case '__set_state':
|
||||||
|
case '__sleep':
|
||||||
|
case '__toString':
|
||||||
|
case '__unset':
|
||||||
|
case '__wakeup':
|
||||||
return preg_replace('/^__/', '', $symbol);
|
return preg_replace('/^__/', '', $symbol);
|
||||||
|
|
||||||
|
default:
|
||||||
|
return $symbol;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue