Laravel - 正在加载课程

时间:2013-11-19 03:29:13

标签: php laravel

在这里和谷歌周围有一些问题询问同样的事情,但作为一个菜鸟,我仍然没有得到这个。我正在使用Laravel 4。

尝试拥有随机类的文件。不加载。

课程在:

app/classes/Helpers.php

Helpers.php:

class Helpers {

    public function randomLowerCase($amount)
    {
        strtolower($str_random($amount))
    }

};

我把我的课程安排在composer.json。

"classmap": [
    "app/commands",
    "app/controllers",
    "app/models",
    "app/classes",
    "app/database/migrations",
    "app/database/seeds",
    "app/tests/TestCase.php"
]

autoload_classmap.php:

'Helpers' => $baseDir . '/app/classes/Helpers.php',

并且还跑了

composer dump-autoload

我在控制器的UserController.php文件中运行该函数,但我不断获取Call to undefined function randomLowerCase()

1 个答案:

答案 0 :(得分:1)

问题是在调用其中一个方法之前,您没有实例化Helpers类的实例。您需要执行以下操作之一:

首先,让你的课保持原样,你可以在控制器中创建一个实例并在其上调用你的方法:

// Controller
$helpers = new Helpers;
$helpers->randomLowerCase($str);

或者,您可以将方法设为静态并将其称为静态方法:

// Helpers.php
class Helpers
{
    public static function randomLowerCase($amount)
    {
        strtolower($str_random($amount))
    }

};

// Controller
Helpers::randomLowerCase($str);

您获得的错误是因为您正在运行randomLowercase 方法,就好像它只是一个函数;方法是附加到类/对象的函数。