从彼此内部调用函数不起作用

Posted

技术标签:

【中文标题】从彼此内部调用函数不起作用【英文标题】: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();

【问题讨论】:

请同时发布程序的输出,如果它什么也没做,请发布“无输出”。 “不工作”不是问题描述。 它是一个网页。我无法输出任何内容。上面的代码在 【参考方案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 一个预定义的值。 这和这个问题有什么关系?

以上是关于从彼此内部调用函数不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在控制器内部调用函数时,codeigniter 404 函数不起作用

从 foreach 内部调用 Pyspark 保存不起作用

Ajax 调用在 keyup 函数中不起作用

mysqli连接在函数内部不起作用? [复制]

从 AppDelegate 调用委托函数不起作用

SignalR 使用 GlobalHost.ConnectionManager.GetHubContext 从外部集线器调用客户端方法不起作用。但是从集线器内部调用确实