我想创建一个可以在控制器内部调用的函数,所以我想在App文件夹中创建一个.php文件并在控制器中使用它,但是如何在控制器中写入该文件。
文件的示例内容:
<?php
function sendNotification(icon, text, userID)
{
}
?>
我是这样写的吗??
<?php
function sendNotification(icon, text, userID)
{
$var = new Notifications;
$var->notificationText = "string";
$var->save();
}
?>
答案 0 :(得分:2)
1 在app/Http
目录中,创建一个helpers.php文件并添加您的功能。
2 在composer.json
内,在自动加载功能块中,添加
"files":["app/Http/helpers.php"]
。
3 运行composer dump-autoload.
在helpers.php
添加你的功能:
<?php
/**
* @param $icon
* @param $text
* @param $userID
*/
function sendNotification($icon, $text, $userID)
{
$var = new \App\Notifications();
$var->notificationText = "string";
$var->save();
}
?>
然后,您只需在控制器/或您的laravel应用程序中的任何位置调用您的功能sendNotification($icon, $text, $userId)
答案 1 :(得分:0)
您只需在底部添加功能即可。例如:
public function myAwesomeFunction(){
$this->helperFunction();
}
private function helperFunction(){
echo "I'm a helper function";
}
正如@ Leo's建议您,您可以创建一个名为helpers.php
的文件,并将其包含在Controller
中,以使所有内容井然有序。
答案 2 :(得分:0)
好吧这应该不是问题..你的控制器基本上只是用普通的php文件编写的类。所以你也可以创建自己的。
现在,您可以创建具有您的功能的文件,也可以创建具有您的功能的类的文件。让我们采取第一种方法。
app/<your directory name>
目录。在您的文件中添加内容,例如使用您模型的函数[或类]。
在此文件中为use
添加model
语句。
通过将composer.json
文件编辑为
“files”:[ “应用程序/” ]
致电composer-dumpautoload
为您生成自动加载器。
在某些文件调用函数中使用函数/类。
例如。 1)app \ helper.php
<?php
use App\User;
function helper()
{
$user = User::find(1);
dd($user);
}
2)app \ controller \ testController.php
function test()
{
dd(helper());
}
3)composer.json
"files" : [
"app\\helper.php"
]