提问人:Paul Tennant 提问时间:6/30/2023 最后编辑:PippoPaul Tennant 更新时间:6/30/2023 访问量:43
PHP:设置私有变量以返回私有方法的值不起作用
PHP: setting a private var to return value of a private method is not working
问:
我有一个私有变量 $user_url,我将其初始化为“”。
所以我在公共函数中设置了它,如下所示:
但是,它总是返回 null,即使我知道它不是。
请帮忙!!!!!!$this->user_url = $this->generate_user_url();
private $user_url;
private $user_url_extension = '';
public function create_user(){
$this->user_url = $this->generate_user_url();
// here i echo $this->user_url; output is null
$my_url = $this->generate_user_url();
// echoing $my_url does work
}
private function generate_user_url(){
preg_match('/\@(.*?)\./s', $this->email, $school_identifier);
$first_character_first_name = mb_substr($this->first_name, 0, 1);
$temp_user_url = $first_character_first_name.$this->last_name.'@'.$school_identifier[1].$this->user_url_extension;
$stm = $this->pdo->prepare('SELECT user_url from hm_users WHERE user_url=:user_url');
$stm->bindParam(':user_url', $temp_user_url);
$stm->execute();
$res = $stm->fetch(PDO::FETCH_ASSOC);
echo '.....................................';
var_dump($res);
echo '.....................................';
echo '.....................................';
var_dump($temp_user_url);
echo '.....................................';
if(!$res){
echo '.....................................url is being returned';
var_dump($temp_user_url);
echo '.....................................';
return $temp_user_url;
}
else{
$this->user_url_extension = strval(rand(1, 999));
$this->generate_user_url();
}
}
//everything inside private function is as expected, temp_url is set and would apear to return as that part of code is reached.
// if any one can help, please do. Thank you in advance.
在问这里之前,我已经尝试过到处调试
答: 暂无答案
评论
generate_user_url()
!$res
return $this->generate_user_url();