在这里和谷歌周围有一些问题询问同样的事情,但作为一个菜鸟,我仍然没有得到这个。我正在使用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()
答案 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 方法,就好像它只是一个函数;方法是附加到类/对象的函数。