【发布时间】:2019-04-01 04:17:35
【问题描述】:
我在使用 Laravel 在 PhpStorm 中自动完成时遇到问题。我已根据本指南相应地设置了 IDE:
https://confluence.jetbrains.com/display/PhpStorm/Laravel+Development+using+PhpStorm
我无法自动完成 Input::only 或 Input::has 等基本功能。我能找到的最接近的答案在这个帖子中:
Laravel Intellisense / autocomplete with PhpStorm
但是,输入已作为别名添加到 config/app.php - 仍然无法正常工作。
有人遇到过同样的问题和/或知道解决方法吗?
编辑:
很抱歉没有提供代码示例 - 这只是 Laravel 的一些试验和错误,但这里是:
我有路线:
Route::post('/login', 'LoginController@authenticate');
在控制器的操作中,我尝试了以下操作:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
class LoginController extends Controller
{
public function authenticate(Request $request) {
Input::get(); // <-- autocompletes
Input::has(); // <-- NO autocomplete
$request->only(); // <-- autocompletes
$request->validate(); // <-- NO autocomplete
}
}
【问题讨论】:
-
这个论坛真的是为了帮助解决编码挑战,请仔细阅读:stackoverflow.com/help/how-to-ask
-
请提供一些基本的代码示例,其中它不起作用(简单的代码但整个文件,所以我们可以看到
use你在那里等)。 -
如果您正在使用 ide 助手并生成了 phpstorm 元数据,那么使用
request()->only|input|..而不是\Input::可能会更好。我个人不鼓励使用别名,因为它们通常会导致此类问题 -
我希望你已经使用 ide-helper 包生成了 IDE-helper 文件(按照那个教程)。它在这里工作得很好。例如。
use Illuminate\Support\Facades\Validator;.. 然后只需使用$validator = Validator::make($input, $rules);至于Input-- 使用$request(Laravel 可以轻松地将其注入到您的控制器中).. 或request()如果您喜欢/复杂或不知道什么我是说。 -
“在控制器的操作中,我尝试了以下操作:” 只需使用
$request,最好使用提供的参数而不是幕后魔术。
标签: laravel autocomplete phpstorm