How to call a method of controller?
我必须每小时运行一个脚本。所以我在服务器中所做的是每小时调用 myfile.php 文件,它运行我的静态函数 runT().
现在我的问题是在执行了这个 runT() 函数之后,我必须在控制器 MyController 下运行方法测试。
我的文件.php
1 2 3
| include"Helper.php";
Helper::runT(); |
助手.php
1 2 3
| public static function runT () {
ini_set('max_execution_time', 300);
$conn = self::getDbConnection(); |
MyController.php
1 2 3
| class MyController extends Controller
{
public function test() { |
- 这是关系问题stackoverflow.com/questions/30365169/...
-
您可以尝试使用 CallRote stackoverflow.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()
-
嗯,如果你没有导入作曲家自动加载文件,你会得到这个错误。您可以像这样使用导入自动加载文件 require_once __DIR__ . '/vendor/autoload.php'; require_once __DIR__.'/../bootstrap/app.php';,您应该将路径更改为本地相对路径
-
我不明白
-
此外,要自动运行作业,您应该使用 artisan
调用控制器方法。使用base_url。
1 2
| $ .post ('controller/method', $ ("#formid").serialize(), function (data ) {
} |