将类加载到函数中?

时间:2010-03-30 00:07:34

标签: php class function external

我正在制作一个剧本,我有以下情况。

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

由于某种原因,上面打破了这个功能。我不知道为什么,我在php.net上没有看到太多关于此的文档,加上google没有返回真正的结果。 有没有人有任何想法?

3 个答案:

答案 0 :(得分:2)

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

请尝试使用require_once()。除此之外,你的榜样没有任何内在的“非法”。

答案 1 :(得分:1)

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

<强> function.php

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

loadClass();

<强> include.php

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

你确定那里没有拼写错误吗?如果您没有收到任何错误,可能表示您没有在任何地方使用过该功能。

答案 2 :(得分:0)

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

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