将类加载到函数中?

发布于 2024-08-27 05:28:57 字数 250 浏览 4 评论 0原文

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

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

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

I`m currently working on a script, and I have the following situation.

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

For some reason, the above breaks the function. I'm not sure why, I haven't seen much documentation in php.net regarding this, plus google returned no real results.
Does anyone have any idea ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

北方的韩爷 2024-09-03 05:28:57

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

尝试使用 require_once() 代替。除此之外,您的示例本身并没有什么“非法”之处。

If you call the function more than once, you may encounter an error by trying to include the same file.

Try using require_once() instead. Other than that, there is nothing inherently 'illegal' about your example.

眉目亦如画i 2024-09-03 05:28:57

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

function.php

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

loadClass();

include.php

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

您确定那里没有任何拼写错误吗?如果您没有收到任何错误,则可能表明您尚未在任何地方使用该函数。

Your code is absolutely valid. I tested it on localhost and it works just fine. I used following piece of code:

function.php

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

loadClass();

include.php

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

Are you sure you don't have any typo there? If you aren't getting any error, it might indicate that you haven't used the function anywhere.

梦忆晨望 2024-09-03 05:28:57

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

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

Try declaring the object first and then pass it as a parameter to the function:

require 'someexternalclass.php';
$somevar = new SomeExternalClass();
function somnicefunction(SomeExternalClass $somevar)
{
    // Do function stuff
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文