[$ this-> constant或$ this-> var在类构造函数中

问题描述 投票:0回答:1

我想知道以下代码在结构上是否错误,如果不是,那么任何人都可以向我解释为什么它实际上起作用

class ClassA extends ClassB
{
    public function __construct()
    {
        $this->FILE_DIRECTORY = 'book/auido';
    }

    public function index()
    {
        $file_directory = $this->FILE_DIRECTORY;
        return $file_directory
    }
}

以上收益

'book/auido'

我知道正确的方法是对public static $variable = 'string';进行访问,并使用self::$variable;在类中的任何方法中对其进行访问。

但是我有一种感觉,我上面使用的方法是错误的,因为我不完全理解隐藏的内容以及它为什么起作用。

php laravel class constructor constants
1个回答
0
投票

您在这里如何使用FILE_DIRECTORY并不是一个常数,它只是一个大写的变量。]​​>

这是将其用作常量的方式,以供参考:

class ClassA extends ClassB
{
    const FILE_DIRECTORY = 'book/auido';

    public function index()
    {
        $file_directory = self::FILE_DIRECTORY;
        return $file_directory
    }
}

通常,人们使用常量来表示永远不变的东西,例如ISO国家/地区代码。您域中的任何内容都可能会发生变化,因此此时配置通常会更好。

© www.soinside.com 2019 - 2024. All rights reserved.