调用函数没有范围解析运算符

时间:2015-07-03 22:45:48

标签: php laravel laravel-4

如果我有一个名为Helpers.php的类,其函数为someFunction(),如何在没有范围解析运算符的情况下从另一个类调用该函数?

这是我现在的课程:

<?php

class SomeClass
{
    public function helloWorld()
    {
        return Helpers::someFunction();
    }
}

我想只返回someFunction();。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

您正在寻找global functions。不要在类中声明辅助函数,而是在普通的PHP文件中声明它们,并在您includerequire文件之类的某个地方声明它们routes.phpbootstrap/start.php Laravel。

示例:

routes.php文件

<?php

include 'helpers.php';

helpers.php

<?php

function helloWorld()
{
    return 'test';
}

在控制器中:

class WelcomeController extends Controller
{
    public function index()
    {
        echo helloWorld();
    }
}

答案 1 :(得分:0)

您可以将文件中的全局函数声明为辅助函数,例如,您可以创建一个文件,如下所示app/Helpers/functions.php,只需声明如下函数:

<?php

// app/Helpers/Functions.php

someFunction()
{
    // ...
}

SomeAnotherFunction($arg1, $arg2)
{
    // ...
}

要使用这些功能,您可以直接从以下任何地方调用它们:

someFunction();

SomeAnotherFunction('something', 'SomeThingElse');

只需确保在composer.json文件中的“自动加载”部分添加条目,如:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/Helpers/functions.php" // <--- This is required
    ]
},