如果我有一个名为Helpers.php
的类,其函数为someFunction()
,如何在没有范围解析运算符的情况下从另一个类调用该函数?
这是我现在的课程:
<?php
class SomeClass
{
public function helloWorld()
{
return Helpers::someFunction();
}
}
我想只返回someFunction();
。我怎么能这样做?
答案 0 :(得分:0)
您正在寻找global functions。不要在类中声明辅助函数,而是在普通的PHP文件中声明它们,并在您include
或require
文件之类的某个地方声明它们routes.php
或bootstrap/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
]
},