【问题标题】:Loading a class into a function?将类加载到函数中?
【发布时间】:2010-03-30 00:07:33
【问题描述】:

我目前正在编写一个脚本,我有以下情况。

function somnicefunction()
{
    require 'someexternalclass.php';
    $somevar = new SomeExternalClass();
}

由于某种原因,上述内容破坏了该功能。我不知道为什么,我在 php.net 中没有看到太多关于此的文档,而且谷歌没有返回任何实际结果。 有人知道吗?

【问题讨论】:

  • 这会抛出什么错误信息?
  • 没有任何错误。但是无论脚本主体执行什么,它都无法运行。

标签: php class function external


【解决方案1】:

如果您多次调用该函数,则尝试包含同一个文件时可能会遇到错误。

尝试改用require_once()。除此之外,您的示例本质上没有任何“非法”。

【讨论】:

  • 我没有提到我确实使用过 require_once。
  • 好吧,在 PHP 看来,您所做的一切都是错误的。没有您的其余代码,就不可能为您提供解决方案。
【解决方案2】:

您的代码绝对有效。我在 localhost 上测试了它,它工作得很好。我使用了以下代码:

function.php

function loadClass()
{
    include_once "include.php";
    new SomeExternalClass();
}

loadClass();

include.php

class SomeExternalClass {
    public function __construct( ) {
        echo "loads...";
    }
}

你确定你没有错字吗?如果您没有收到任何错误,则可能表明您没有在任何地方使用过该功能。

【讨论】:

    【解决方案3】:

    尝试先声明对象,然后将其作为参数传递给函数:

    require 'someexternalclass.php';
    $somevar = new SomeExternalClass();
    function somnicefunction(SomeExternalClass $somevar)
    {
        // Do function stuff
    }
    

    【讨论】:

    • 这是一个 wordpress 安装,我正在开发一个插件,所以我需要破解所有级别才能传递变量(我想这是你的想法)
    猜你喜欢
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    相关资源
    最近更新 更多