如何调用控制器的方法?

Posted

技术标签:

【中文标题】如何调用控制器的方法?【英文标题】:How to call a method of controller? 【发布时间】:2019-06-06 00:27:46 【问题描述】:

我必须每小时运行一个脚本。所以我在服务器中所做的是每小时调用myfile.php 文件,它运行我的静态函数runT()

现在我的问题是在执行此runT() 函数后,我必须在控制器MyController 下运行方法test

我的文件.php

include "Helper.php";

Helper::runT();

Helper.php

public static function runT() 
        ini_set('max_execution_time', 300);
        $conn = self::getDbConnection();

MyController.php

class MyController extends Controller

   public function test() 

【问题讨论】:

这是关系问题***.com/questions/30365169/… 你可以试试 CallRote ***.com/questions/28866821/… 你应该使用“任务调度” 【参考方案1】:
app(MyController::class)->test();

这将解析MyController 的一个实例,它将为您完成dependency injection 之类的工作,然后调用test 方法。

【讨论】:

所以我只需在 runT 函数中添加 app(MyController::class)->test() ? 是的,当然你应该使用完整的命名空间。 但我收到以下错误:致命错误:调用 C:\xampp\htdocs\myapi\assets\auto\Helper.php 中的未定义函数 app() hmm,如果你没有导入 composer autoload 文件,你会得到这个错误。您可以像这样使用导入自动加载文件require_once __DIR__ . '/vendor/autoload.php'; require_once __DIR__.'/../bootstrap/app.php';,您应该将路径更改为本地相对路径 我不明白【参考方案2】:

调用控制器方法。使用base_url。

 $.post('controller/method', $("#formid").serialize(), function (data) 

【讨论】:

以上是关于如何调用控制器的方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何从视图控制器中包含的视图调用方法?

如何在 Rails 控制器中调用通道方法?

Java如何控制方法的调用次数?

如何在 Ruby on Rails 的控制台中调用控制器/视图辅助方法?

如何在没有控制器调用的情况下在项目内的任何地方调用模型方法?

标签栏(视图控制器)中多次调用ios的通知中心方法方法?如何删除观察者?