【问题标题】:Calling functions from within each other not working从彼此内部调用函数不起作用
【发布时间】:2011-10-09 09:22:08
【问题描述】:

这是代码!。不工作,请帮助。

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();

【问题讨论】:

  • 请同时发布程序的输出,如果它什么也没做,请发布“无输出”。
  • “不工作”不是问题描述。
  • 它是一个网页。我无法输出任何内容。上面的代码在

标签: php


【解决方案1】:

public $idgen; 而不是var idgen;

【讨论】:

  • 我希望 $idgen 成为私人会员!
【解决方案2】:

变化:

var idgen;

与:

public $idgen = '';

【讨论】:

  • 我希望 $idgen 成为私人会员!
  • @Php:没有问题。只需使用private $idgen;。并确保在您的问题中包含那个小问题以获得适当的帮助。 :-)
【解决方案3】:

var is deprecated,而你忘记了$idgen 中的$

class user {
   private $idgen;

   // ... functions
}

您应该在您的网络服务器上激活错误报告。您的原始代码将产生错误;你只是看不到它。

【讨论】:

  • @Php:你明白你原来的代码被破坏的原因了吗?
  • Yeah.M 猜测 Missing $ 导致 ERROR :(
  • @Php:没错。成员变量仍然叫$idgen,即使你写的不是$this->$idgen而是$this->idgen
  • 是的。处理同样的问题 b4.再次重复同样的错误。希望打开错误报告,我所有的愚蠢错误都应该在未来得到解决。
【解决方案4】:

将代码的第二行更改为

private $idgen;

瞧! :)

顺便说一句,值得设置错误报告;它确实有助于调试。

您可以通过编辑 php.ini 文件或将其添加到项目中的某个位置来实现:

ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 'On'); // <-- change this to off when live.

将其与其他设置一起放入文件中,并将其包含在每个页面中。

【讨论】:

  • 非常感谢。正试图让 firephp 与 firephp 一起工作。但从来没有成功过。这肯定会缩短我的调试时间 4。非常感谢!!..
【解决方案5】:

首先制作一个__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();

给你定义的变量一个默认值...永远不要假设它们会通过类的处理被赋予一个值。

【讨论】:

  • 为什么将gen() 改为通过构造函数运行?这是有道理的,但它与问题完全正交。
  • 给 $idgen 一个预定义的值。
  • 这和这个问题有什么关系?
猜你喜欢
  • 2015-07-19
  • 1970-01-01
  • 1970-01-01
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多