Php 抽象类的属性可以在类之外访问吗?
可以访问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 您可以创建
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'];