Задать вопрос
@gitdev

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

public function getName()
{
    return $this::FILE_NAME;
    //or
    return self::FILE_NAME
}
  • Вопрос задан
  • 235 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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 онлайн
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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