doutao8774 2017-07-12 19:29
浏览 222
已采纳

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

Is is possible to access a variable in a PHP abstract class, i.e.

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

echo Settings::application ['Name'];   // doesn't work
  • 写回答

2条回答 默认 最新

  • douti0467 2017-07-12 19:32
    关注

    You could make the variable static, as long as it doesn't need to allow differentiation across instances (i.e. instance variable):

    <?php
    // example code
    
    abstract class Settings
    {
        public static $application = array
        (
            'Name' => 'MyApp',
            'Version' => '1.0.0',
            'Date' => 'June 1, 2017'
        );
    }
    
    echo Settings::$application ['Name'];
    

    Run it in this playground example.

    Though your original access of application was similar to that of a constant. use const to declare a Class constant:

    abstract class Settings
    {
        const application = array
        (
            'Name' => 'MyApp',
            'Version' => '1.0.0',
            'Date' => 'June 1, 2017'
        );
    }
    
    echo Settings::application ['Name'];
    

    Run it in this playground example.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?