我已经构建了几个函数,几乎可以在所有控制器中重用,此刻我必须将每个函数粘贴到每个控制器中才能正常工作。该代码看起来确实很凌乱,当我迷路时,很难使编辑变得容易。
如何或在哪里声明我的函数,以便可以在所有控制器中重复使用它们而无需将它们粘贴到那里?
答案 0 :(得分:2)
您可以创建自己的BaseController
,在其中存储您重用的功能,然后需要这些功能的控制器可以从BaseController
扩展。
另一种方法是创建一个自定义帮助程序文件,其中将包含您重复使用的功能。例如,在app文件夹中创建一个helpers.php
文件,然后将其添加到composer.json
中以自动加载。
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"app/helpers.php" // here is the helpers file to autoload.
],
"classmap": [
"database/seeds",
"database/factories"
]
},
此运行后
composer dump-autoload
在您的终端上。
答案 1 :(得分:0)
我更喜欢创建一个服务层并注入到控制器中
Date date = Calendar.getInstance().getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy", Locale.US);
String dateF = dateFormat.format(date);
或者您可以注入特定动作
class AnyController {
public function __construct(MyService $myService)
{
$this->myService = $myService;
}
public function anyFunction()
{
// $this->myService->foo()
}
}
了解更多
http://cogitas.net/show-firebase-admob-banner-ad-in-flutter/