gpt4 book ai didi

php - 我在哪里放置我的自定义类和函数在 Laravel 中

转载 作者:行者123 更新时间:2023-12-04 00:29:33 26 4
gpt4 key购买 nike

我正在尝试使用一些常用函数构建一个类,我可以在我的项目的任何地方使用这些函数。我不知道在哪里构建包含类的 PHP 文件,也不知道如何调用它们...谁能帮我找出所有这些东西的位置?谢谢!!!

/App/Http/Helpers/MyClasses.php

<?php

class PopularFunctions {
public function sayhi() {
echo 'hi';
}
}

?>

/App/Http/Controllers/TasksController.php
<?php

namespace App\Http\Controllers;

use App\Http\Helpers\MyClasses;

class TasksController extends Controller {

public function index() {

$myfunctions = new PopularFunctions();
$myfunctions->sayhi();

}

}

这将返回:找不到类“App\Http\Controllers\PopularFunctions”。

最佳答案

基本上,我们可以在 app 内创建另一个目录。目录(例如 MyCustomStuff),然后是 namespace我们的文件正确。
我知道两种方法。
1. 全局函数通过 Composer
应用程序/MyCustomStuff/MyGlobalTools.php

<?php
function sayhi() {
echo 'hi';
}
?>
然后在 composer.json 中 "autoload": { }添加
"files": [
"app/MyCustomStuff/MyGlobalTools.php"
]
所以结构将是
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
},
"files": [
"app/MyCustomStuff/MyGlobalTools.php"
]
},
更改自动加载后。然后运行 ​​ composer dump-autoload然后在 Controller 中,只需调用全局函数(无需导入),例如:
public function index() {
$res = sayHi();
}
2. 或普通类
应用程序/MyCustomStuff/MyClass.php
<?php
namespace App\MyCustomStuff;
class MyClass {
function sayhi() {
echo 'hi';
}
}

?>
在您的 Controller 中
<?php

namespace App\Http\Controllers;

use App\MyCustomStuff\MyClass;

class TasksController extends Controller {

public function index() {

$myfunctions = new MyClass();
$res = $myfunctions->sayhi();

}

}

关于php - 我在哪里放置我的自定义类和函数在 Laravel 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53436841/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com