gpt4 book ai didi

php - 没有 artisan 命令的 Laravel 小型独立一次性脚本?

转载 作者:搜寻专家 更新时间:2023-10-31 21:19:24 24 4
gpt4 key购买 nike

我需要在 Laravel 中检查一些小东西,所以我只想制作一个小脚本来检查它。

我知道我可以用

php artisan make:console ...

但是它会在 App/Console/Command 中添加一个文件,我需要更新 app/Console/Kernel.php。这意味着我必须将它提交给源代码管理,这实际上是不需要的。

有没有办法拥有一个独立 laravel 脚本,让我可以访问 Laravel 组件?

我正在使用 Laravel 5.2,(make:command 不存在,只有 make:console)

只是我尝试过的一个例子:

<?php

use App\User;
use DB;

require __DIR__.'/../vendor/autoload.php';
require __DIR__.'/..//bootstrap/app.php';

echo "hello world\n";
$res=User::where('id',5)->first();
echo "end!\n";
?>

但是我得到一个错误:

PHP Fatal error:  Uncaught Error: Call to a member function connection() on null in /var/www/html/dpriceit/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:3314
Stack trace:
#0 /var/www/html/dpriceit/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(3280): Illuminate\Database\Eloquent\Model::resolveConnection(NULL)
#1 /var/www/html/dpriceit/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1880): Illuminate\Database\Eloquent\Model->getConnection()
#2 /var/www/html/dpriceit/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1853): Illuminate\Database\Eloquent\Model->newBaseQueryBuilder()
#3 /var/www/html/dpriceit/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1823): Illuminate\Database\Eloquent\Model->newQueryWithoutScopes()
#4 /var/www/html/dpriceit/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(3524): Illuminate\Database\Eloquent\Model->newQuery()

更新

我尝试创建一个控制台命令

php artisan make:console MyTempTest

但是当我执行 php artisan list 时,我没有在可用命令列表中看到它的签名。

最佳答案

要修复您收到的错误,请启动应用程序的内核并像这样处理响应

app\script.php

<?php

use App\User;

require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);

echo "hello world\n";
$res = User::find(5)->name;
var_dump($res);
echo "end!\n";

然后从终端运行 php app/script.php
结果:

~/Sites/laravel (master ✗) ✹ ★ ᐅ  php app/script.php 
hello world
string(11) "Khalid Bins"
end!

关于php - 没有 artisan 命令的 Laravel 小型独立一次性脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856875/

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