这是代码!。没有工作,请帮忙。
class user{
var idgen;
function uid(){
//return uniqid (rand(), true);
return "123";
}
function gen() {
$this->idgen=$this->uid();
//$this->idgen=udi();//even this dint work
}
function pint() {
echo "The id is :".$this->idgen;
}
}
$use= new user();
$use->gen();
$use->pint();
答案 0 :(得分:3)
public $idgen;
代替var idgen;
答案 1 :(得分:1)
变化:
var idgen;
使用:
public $idgen = '';
答案 2 :(得分:1)
var
is deprecated,您忘记了$
中的$idgen
:
class user {
private $idgen;
// ... functions
}
您应该在网络服务器上激活错误报告。您的原始代码会产生错误;你根本看不到它。
答案 3 :(得分:1)
将代码的第二行更改为
private $idgen;
瞧,瞧! :)
BTW值得设置错误报告;它真的有助于调试。
您可以通过编辑php.ini
文件或在项目中的某处添加此文件来完成此操作:
ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 'On'); // <-- change this to off when live.
将此文件放入包含其他设置的文件中,并将其包含在每个页面中。
答案 4 :(得分:0)
首先创建__constructor函数,并在var定义中添加“$”。
class user{
public $idgen;
function __constructor(){
$this->gen();
}
function uid(){
//return uniqid (rand(), true);
return "123";
}
function gen() {
$this->idgen=$this->uid();
//$this->idgen=udi();//even this dint work
}
function pint() {
echo "The id is :".$this->idgen;
}
}
$use= new user();
$use->pint();
为您定义的变量赋予默认值...永远不要假设它们将通过处理类来获得值。