如何在.php中的类中实例化一个类
我是OOP新手,我不明白为什么这不起作用。在类中实例化具有的类是否不可以。我尝试过在方法中包含此文件,但没有进行更改如何在.php中的类中实例化一个类,php,oop,class,Php,Oop,Class,我是OOP新手,我不明白为什么这不起作用。在类中实例化具有的类是否不可以。我尝试过在方法中包含此文件,但没有进行更改 include('Activate.php'); class First { function __construct() { $this->activate(); } private function activate() { $go = new Activate('Approved'); } } $run
include('Activate.php');
class First {
function __construct() {
$this->activate();
}
private function activate() {
$go = new Activate('Approved');
}
}
$run = new First();
您是说要访问
$go
?因为,如果是这样的话,你需要改变它的范围
如您所见,此方法中的$go
仅在activate()
中可用:
要从类中的其他位置访问它,您需要在activate()
外部声明它:
您可以使用$this
调用$go
:
private function activate() {
$this->go = new Activate('Approved');
}
之后,如果希望从类外访问go,则需要创建包装器:
public function getGo(){
return $this->go;
}
希望这有帮助。另外,你可以阅读。好的,我解决了我的问题。我的代码有两个错误。一个是我的方法被设置为private,第二个是我发送给类的
$parms
中有一个错误
include('Activate.php');
class First {
function __construct() {
$this->activate();
}
private function activate() {
$go = new Activate('Approved');
}
}
$run = new First();
您可以通过在同一类中创建另一个公共函数来访问私有方法,并在公共方法或函数中调用私有函数。现在,您可以在$run实例的帮助下调用您的私有函数 例如: 高级轿车{
function getting(){
echo ("Hello World");
}
private function getting2(){
echo ("Hello World Againg");
}
public function getting3(){
$this->getting2();
}
}
$class_对象=新车
打印($class_object->getting3())
您的输出屏幕如下图所示。
您在哪里实例化
First
(您有$First=new First();
以后吗?)是的。。我来编辑。我在文档末尾开始上课。include
有效吗?它可以返回false。您的意思是让$this->go=new激活(…)
?您创建了一个新的Activate
,然后由于Activate()
函数完成而将其丢弃。我不知道这是否是故意的。我动态创建了activate()。我试图通过调用Activate类来打开插件。这更有意义吗?这就是大局。我在跑步的时候跑一节课。在类中,我检测天气与否,该程序已注册。如果它已经注册,那么我需要实例化另一个类。我在飞行中拼凑的方法的名称。
include('Activate.php');
class First {
function __construct() {
$this->activate();
}
private function activate() {
$go = new Activate('Approved');
}
}
$run = new First();
function getting(){
echo ("Hello World");
}
private function getting2(){
echo ("Hello World Againg");
}
public function getting3(){
$this->getting2();
}