@gitdev

Как правильно обращатся к константам в PHP в методе класса через self ли $this и почему?

public function getName()
{
    return $this::FILE_NAME;
    //or
    return self::FILE_NAME
}
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Все зависит от способа вызова класса. При статическом вызове исползуют self:: В случае создания инстанса класса $this
Ниже варианты применения
<?php

class StaticClass {
	static $FILE_NAME = 'SOME_STATIC_FILE';
	
	public static function getName()
	{
		return self::$FILE_NAME;
	}
}

echo StaticClass::getName();

echo PHP_EOL . '====================' . PHP_EOL;

class InstansedClass {
	private $FILE_NAME = 'SOME_INSTANCE_FILE';
	
	public function getName()
	{
		return $this->FILE_NAME;
	}
}

$instanseOfInstansedClass = new InstansedClass();
echo $instanseOfInstansedClass->getName();


Код PHP онлайн
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы