PHP — регистрозависимый язык?

Задавались ли вы таким вопросом? Конечно все знают что пхп вроде как  регистрозависим, т.к. вот эти перменные например $Var и $var разные. Также всем известно что ключевые слова и языковые конструкции case insensitive: IF, ELSE, FOR, NULL, ECHO. Получается как в mysql — пиши запросы хоть в нижнем, хоть верхнем регистре: SELECT * from table1 t1;

Однако не все так просто. С именами функций и классов php ведет себя регистронезависимо!


class someclass {
	public function __CONSTRUCT(){

	}
	public function Somemethod(){
		return "somemethod called";
	}
	function __DESTRUCT(){
		
	}
}

class SomeClass2 extends SomeCLASS{
	static function somemethod2(){
		return 'somemthod2 called';
	}
}

function Example(){
	return "example";
}

$obj1 = new Someclass;
$obj2 = new SomeClass;
var_dump($obj1->SOMEMETHOD());
var_dump($obj2->somemethod());
echo example();
echo EXAMPLE();
echo someclass2::somemethod2();

Все это работает. Результат
string(17) «somemethod called»
string(17) «somemethod called»
example
example
somemthod2 called

РЕзюме:

Регистрозависимы:

  1. Переменные, свойства.
  2. Константы
  3. Ключи массива

Не регистрозависимы:

  1. Имена классов
  2. Имена функций
  3. Методы классов
  4. Языковые конструкции и выражения.

Leave a comment

Your email address will not be published.


*