Php 抽象类的属性可以在类之外访问吗?

Php 抽象类的属性可以在类之外访问吗?,php,properties,abstract-class,Php,Properties,Abstract Class,可以访问PHP抽象类中的变量,即 abstract class Settings { public $application = array ( 'Name' => 'MyApp', 'Version' => '1.0.0', 'Date' => 'June 1, 2017' ) } echo Settings::application ['Name']; // doesn't work 您可以创建

可以访问PHP抽象类中的变量,即

abstract class Settings
{
    public $application = array
    (
        'Name' => 'MyApp',
        'Version' => '1.0.0',
        'Date' => 'June 1, 2017'
    )
}

echo Settings::application ['Name'];   // doesn't work

您可以创建变量,只要它不需要允许跨实例区分,即实例变量:

<?php
// example code

abstract class Settings
{
    public static $application = array
    (
        'Name' => 'MyApp',
        'Version' => '1.0.0',
        'Date' => 'June 1, 2017'
    );
}

echo Settings::$application ['Name'];

运行它。

您可以创建变量,只要它不需要允许跨实例区分,即实例变量:

<?php
// example code

abstract class Settings
{
    public static $application = array
    (
        'Name' => 'MyApp',
        'Version' => '1.0.0',
        'Date' => 'June 1, 2017'
    );
}

echo Settings::$application ['Name'];
把它放进去

抽象类不能直接实例化,因为它们依赖于 子类来完全实现该功能

所以,如果你想检查你的变量,我会创建一个新的类并从你的设置类继承。无论如何,您必须将其与继承一起使用

更多关于抽象类的信息

抽象类不能直接实例化,因为它们依赖于 子类来完全实现该功能

所以,如果你想检查你的变量,我会创建一个新的类并从你的设置类继承。无论如何,您必须将其与继承一起使用


关于抽象类的更多信息

不确定为什么你因提出有效问题而被否决。不确定为什么你因提出有效问题而被否决……好吧,这看起来更好,尽管有一个经过编辑和修复的问题:……好吧,这看起来更好,尽管有一个经过编辑和修复的问题:谢谢。我更喜欢第二种解决方案。我用它来代替存储web应用设置的XML文件。我可以使用常规类,但我不想实例化它只是为了检索变量。谢谢。我更喜欢第二种解决方案。我用它来代替存储web应用设置的XML文件。我可以使用常规类,但我不想实例化它只是为了检索变量。
class MySettings extends Settings
{
  ....
}

$mySettings = new MySettings();
echo $mySettings->application['Name'];