php中的受保护和私有可见性
我一直在网上学习PHP。我已经声明了受保护的类成员。这些成员不应该在课外访问,但我可以访问它们 这是类(class.Address.inc.php) 这是我使用Address类的Demo.php文件php中的受保护和私有可见性,php,Php,我一直在网上学习PHP。我已经声明了受保护的类成员。这些成员不应该在课外访问,但我可以访问它们 这是类(class.Address.inc.php) 这是我使用Address类的Demo.php文件 <?php require 'class.Address.inc'; $address=new Address; $address->street_Address_1= "555 Fake Street";//protected but accessible
<?php
require 'class.Address.inc';
$address=new Address;
$address->street_Address_1= "555 Fake Street";//protected but accessible
$address->street_Address_2="Hello";
$address->city_name="Townsville";
不确定,但将尝试再次进行一次小测试
<?php
require 'class.Address.inc'; //require 'class.Address.inc.php';
$address=new Address;
$address->street_Address_1= "555 Fake Street";//protected but accessible
$address->street_Address_2="Hello";
$address->city_name="Townsville";
不确定,但将尝试再次进行一次小测试
<?php
require 'class.Address.inc'; //require 'class.Address.inc.php';
$address=new Address;
$address->street_Address_1= "555 Fake Street";//protected but accessible
$address->street_Address_2="Hello";
$address->city_name="Townsville";
如何访问类外的受保护变量,在这里您可以获得与设置值相同的值
<?php
class myclass{
protected $myname;
public function __construct(){
$this->myname = "myclass class";
}
}
class childclass extends myclass{
public function __construct(){
parent::__construct();
}
public function getMyName(){
return $this->myname;
}
}
$obj = new childclass();
echo $obj->getMyName();
如何访问类外的受保护变量,在这里您可以获得与设置值相同的值
<?php
class myclass{
protected $myname;
public function __construct(){
$this->myname = "myclass class";
}
}
class childclass extends myclass{
public function __construct(){
parent::__construct();
}
public function getMyName(){
return $this->myname;
}
}
$obj = new childclass();
echo $obj->getMyName();
对我不起作用:它应该抛出未捕获的错误。你的PHP版本是什么?我无法重现错误。你的真实代码中一定有相关的东西,你没有向我们展示!对我不起作用:它应该抛出未捕获的错误。你的PHP版本是什么?我无法重现错误。你的真实代码中一定有相关的东西,你没有向我们展示!当然,如果这是实际的错误,它会生成一些其他错误,比如致命错误:找不到类“Address”
我不理解这个答案。你为什么要要求“class.Address.inc”代码>粗体?问题已经在使用该部分了。我看到你把require'class.Address.inc.php'代码>作为注释。您是否只是建议在末尾添加.php
?那你倒过来了,对不起,伙计们,这是我的错。我不知道.inc文件是要包含的文件的扩展名。如果您检查一下,您将了解我已将文件命名为class.Address.inc.php。我没有意识到的是,我还创建了一个class.Address.inc文件,其中每个成员都是公开的。我已将class.Address.inc.php文件的成员更改为protected。代码正在访问class.Address.inc文件,而不是class.Address.inc.php。当然,如果这是实际的错误,它会生成一些其他错误,比如致命错误:找不到类“Address”
我不理解这个答案。你为什么要要求“class.Address.inc”代码>粗体?问题已经在使用该部分了。我看到你把require'class.Address.inc.php'代码>作为注释。您是否只是建议在末尾添加.php
?那你倒过来了,对不起,伙计们,这是我的错。我不知道.inc文件是要包含的文件的扩展名。如果您检查一下,您将了解我已将文件命名为class.Address.inc.php。我没有意识到的是,我还创建了一个class.Address.inc文件,其中每个成员都是公开的。我已将class.Address.inc.php文件的成员更改为protected。代码正在访问class.Address.inc文件,而不是class.Address.inc.php。