PHP在另一个文件中实例化类,如何让PHP类在其构造函数中实例化另一个类?

我在这里和PHP都很新.

我想知道在他的参数中在另一个类构造函数中实例化一个类的正确方法是什么.

(我在底部有一些狗屎测试)

class CryptoControl {

public $helper;

public $keyValues;

public function __construct ($primo1, $primo2, $message) {

$this->helper = new MathHelper();

$this->keyValues = new KeyValues($primo1, $primo2, $message);

}

public function criptografa_descriptografa_simetrica() {

$message = $keyValues->getMessage();

echo "Texto original: " . $message . "\n";

echo "Chave criptografada: " . base64_encode($message) . "\n";

$message_criptografada = base64_encode($message);

echo "Chave descriptografada: " . base64_decode($message_criptografada) . "\n";

}

}

$exec = new CryptoControl(17, 41, "TURING");

$resposta = $exec->criptografa_descriptografa_simetrica();

echo $resposta;

这就是我想要实例化的类:

class KeyValues {

public $numeroPrimo_1;

public $numeroPrimo_2;

public $message;

public function KeyValues ($primo1, $primo2, $message) {

$this->numeroPrimo_1 = $primo1;

$this->numeroPrimo_2 = $primo2;

$this->message = $message;

}

#getters and setters

}

那是我得到的错误……

PHP注意:未定义的变量:第72行/home/rodolfolottin/gitrepositories/Crypto/CryptoControl.php中的keyValues

PHP致命错误:在第72行的/home/rodolfolottin/gitrepositories/Crypto/CryptoControl.php中的非对象上调用成员函数getMessage()

谢谢你的帮助…

解决方法:

更改以下行

$message = $keyValues->getMessage();

$message = $this->keyValues->getMessage();

类中方法内的$keyValues引用局部变量.当您使用$this关键字访问时,它会引用该类的对象的属性.

标签:php,oop

来源: https://codeday.me/bug/20190623/1274701.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值