PhpStorm Laravel 5 Form/Html未发现问题


PhpStorm Laravel 5 Form/Html not found issue

所以我已经在互联网上看到这个问题一百万次了,但我的问题略有不同。

我创建了一个新的Laravel项目,并尝试使用Html和Form类。它们并不存在,所以我尽一切努力将它们纳入我的项目中。瞧!它有效。。。有点

类Html和Form似乎正在工作。如果我创建了一个表单并在浏览器中刷新,则没有错误,并且表单正在显示。但是PhpStorm不识别类,它一直抱怨未定义的类Html和Form。这样一来,这些类的自动完成就根本不起作用了。

我还包含了"barryvdh"的_ide_helper.php类(位于https://github.com/barryvdh/laravel-ide-helper)但这并没有解决这个问题。

我没有主意了,有人能帮我吗?非常感谢。干杯

这对我有效,你的composer.json文件设置正确吗?

确保scripts部分设置正确,然后运行composer dump-autoload

composer.json

"scripts": {
  "post-update-cmd": [
    "php artisan clear-compiled",
    "php artisan ide-helper:generate",
    "php artisan optimize"
  ] ...
},

以下是我的_ide_helper.php文件的样子。

_ide_helper.php

class Form extends 'Illuminate'Html'FormFacade{
    /**
     * Open up a new HTML form.
     *
     * @param array $options
     * @return string 
     * @static 
     */
    public static function open($options = array()){
        return 'Illuminate'Html'FormBuilder::open($options);
    }
    /**
     * Create a new model based form builder.
     *
     * @param mixed $model
     * @param array $options
     * @return string 
     * @static 
     */
    public static function model($model, $options = array()){
        return 'Illuminate'Html'FormBuilder::model($model, $options);
    }
    /**
     * Set the model instance on the form builder.
     *
     * @param mixed $model
     * @return void 
     * @static 
     */
    public static function setModel($model){
        'Illuminate'Html'FormBuilder::setModel($model);
    }
    /**
     * Close the current form.
     *
     * @return string 
     * @static 
     */
    public static function close(){
        return 'Illuminate'Html'FormBuilder::close();
    }
    /**
     * Generate a hidden field with the current CSRF token.
     *
     * @return string 
     * @static 
     */
    public static function token(){
        return 'Illuminate'Html'FormBuilder::token();
    }
    /**
     * Create a form label element.
     *
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function label($name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::label($name, $value, $options);
    }
    /**
     * Create a form input field.
     *
     * @param string $type
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function input($type, $name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::input($type, $name, $value, $options);
    }
    /**
     * Create a text input field.
     *
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function text($name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::text($name, $value, $options);
    }
    /**
     * Create a password input field.
     *
     * @param string $name
     * @param array $options
     * @return string 
     * @static 
     */
    public static function password($name, $options = array()){
        return 'Illuminate'Html'FormBuilder::password($name, $options);
    }
    /**
     * Create a hidden input field.
     *
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function hidden($name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::hidden($name, $value, $options);
    }
    /**
     * Create an e-mail input field.
     *
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function email($name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::email($name, $value, $options);
    }
    /**
     * Create a url input field.
     *
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function url($name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::url($name, $value, $options);
    }
    /**
     * Create a file input field.
     *
     * @param string $name
     * @param array $options
     * @return string 
     * @static 
     */
    public static function file($name, $options = array()){
        return 'Illuminate'Html'FormBuilder::file($name, $options);
    }
    /**
     * Create a textarea input field.
     *
     * @param string $name
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function textarea($name, $value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::textarea($name, $value, $options);
    }
    /**
     * Create a select box field.
     *
     * @param string $name
     * @param array $list
     * @param string $selected
     * @param array $options
     * @return string 
     * @static 
     */
    public static function select($name, $list = array(), $selected = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::select($name, $list, $selected, $options);
    }
    /**
     * Create a select range field.
     *
     * @param string $name
     * @param string $begin
     * @param string $end
     * @param string $selected
     * @param array $options
     * @return string 
     * @static 
     */
    public static function selectRange($name, $begin, $end, $selected = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::selectRange($name, $begin, $end, $selected, $options);
    }
    /**
     * Create a select year field.
     *
     * @param string $name
     * @param string $begin
     * @param string $end
     * @param string $selected
     * @param array $options
     * @return string 
     * @static 
     */
    public static function selectYear(){
        return 'Illuminate'Html'FormBuilder::selectYear();
    }
    /**
     * Create a select month field.
     *
     * @param string $name
     * @param string $selected
     * @param array $options
     * @param string $format
     * @return string 
     * @static 
     */
    public static function selectMonth($name, $selected = null, $options = array(), $format = '%B'){
        return 'Illuminate'Html'FormBuilder::selectMonth($name, $selected, $options, $format);
    }
    /**
     * Get the select option for the given value.
     *
     * @param string $display
     * @param string $value
     * @param string $selected
     * @return string 
     * @static 
     */
    public static function getSelectOption($display, $value, $selected){
        return 'Illuminate'Html'FormBuilder::getSelectOption($display, $value, $selected);
    }
    /**
     * Create a checkbox input field.
     *
     * @param string $name
     * @param mixed $value
     * @param bool $checked
     * @param array $options
     * @return string 
     * @static 
     */
    public static function checkbox($name, $value = 1, $checked = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::checkbox($name, $value, $checked, $options);
    }
    /**
     * Create a radio button input field.
     *
     * @param string $name
     * @param mixed $value
     * @param bool $checked
     * @param array $options
     * @return string 
     * @static 
     */
    public static function radio($name, $value = null, $checked = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::radio($name, $value, $checked, $options);
    }
    /**
     * Create a HTML reset input element.
     *
     * @param string $value
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function reset($value, $attributes = array()){
        return 'Illuminate'Html'FormBuilder::reset($value, $attributes);
    }
    /**
     * Create a HTML image input element.
     *
     * @param string $url
     * @param string $name
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function image($url, $name = null, $attributes = array()){
        return 'Illuminate'Html'FormBuilder::image($url, $name, $attributes);
    }
    /**
     * Create a submit button element.
     *
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function submit($value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::submit($value, $options);
    }
    /**
     * Create a button element.
     *
     * @param string $value
     * @param array $options
     * @return string 
     * @static 
     */
    public static function button($value = null, $options = array()){
        return 'Illuminate'Html'FormBuilder::button($value, $options);
    }
    /**
     * Get the ID attribute for a field name.
     *
     * @param string $name
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function getIdAttribute($name, $attributes){
        return 'Illuminate'Html'FormBuilder::getIdAttribute($name, $attributes);
    }
    /**
     * Get the value that should be assigned to the field.
     *
     * @param string $name
     * @param string $value
     * @return string 
     * @static 
     */
    public static function getValueAttribute($name, $value = null){
        return 'Illuminate'Html'FormBuilder::getValueAttribute($name, $value);
    }
    /**
     * Get a value from the session's old input.
     *
     * @param string $name
     * @return string 
     * @static 
     */
    public static function old($name){
        return 'Illuminate'Html'FormBuilder::old($name);
    }
    /**
     * Determine if the old input is empty.
     *
     * @return bool 
     * @static 
     */
    public static function oldInputIsEmpty(){
        return 'Illuminate'Html'FormBuilder::oldInputIsEmpty();
    }
    /**
     * Get the session store implementation.
     *
     * @return 'Illuminate'Session'Store $session
     * @static 
     */
    public static function getSessionStore(){
        return 'Illuminate'Html'FormBuilder::getSessionStore();
    }
    /**
     * Set the session store implementation.
     *
     * @param 'Illuminate'Session'Store $session
     * @return $this 
     * @static 
     */
    public static function setSessionStore($session){
        return 'Illuminate'Html'FormBuilder::setSessionStore($session);
    }
    /**
     * Register a custom macro.
     *
     * @param string $name
     * @param callable $macro
     * @return void 
     * @static 
     */
    public static function macro($name, $macro){
        'Illuminate'Html'FormBuilder::macro($name, $macro);
    }
    /**
     * Checks if macro is registered.
     *
     * @param string $name
     * @return bool 
     * @static 
     */
    public static function hasMacro($name){
        return 'Illuminate'Html'FormBuilder::hasMacro($name);
    }
}

class Html extends 'Illuminate'Html'HtmlFacade{
    /**
     * Convert an HTML string to entities.
     *
     * @param string $value
     * @return string 
     * @static 
     */
    public static function entities($value){
        return 'Illuminate'Html'HtmlBuilder::entities($value);
    }
    /**
     * Convert entities to HTML characters.
     *
     * @param string $value
     * @return string 
     * @static 
     */
    public static function decode($value){
        return 'Illuminate'Html'HtmlBuilder::decode($value);
    }
    /**
     * Generate a link to a JavaScript file.
     *
     * @param string $url
     * @param array $attributes
     * @param bool $secure
     * @return string 
     * @static 
     */
    public static function script($url, $attributes = array(), $secure = null){
        return 'Illuminate'Html'HtmlBuilder::script($url, $attributes, $secure);
    }
    /**
     * Generate a link to a CSS file.
     *
     * @param string $url
     * @param array $attributes
     * @param bool $secure
     * @return string 
     * @static 
     */
    public static function style($url, $attributes = array(), $secure = null){
        return 'Illuminate'Html'HtmlBuilder::style($url, $attributes, $secure);
    }
    /**
     * Generate an HTML image element.
     *
     * @param string $url
     * @param string $alt
     * @param array $attributes
     * @param bool $secure
     * @return string 
     * @static 
     */
    public static function image($url, $alt = null, $attributes = array(), $secure = null){
        return 'Illuminate'Html'HtmlBuilder::image($url, $alt, $attributes, $secure);
    }
    /**
     * Generate a HTML link.
     *
     * @param string $url
     * @param string $title
     * @param array $attributes
     * @param bool $secure
     * @return string 
     * @static 
     */
    public static function link($url, $title = null, $attributes = array(), $secure = null){
        return 'Illuminate'Html'HtmlBuilder::link($url, $title, $attributes, $secure);
    }
    /**
     * Generate a HTTPS HTML link.
     *
     * @param string $url
     * @param string $title
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function secureLink($url, $title = null, $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::secureLink($url, $title, $attributes);
    }
    /**
     * Generate a HTML link to an asset.
     *
     * @param string $url
     * @param string $title
     * @param array $attributes
     * @param bool $secure
     * @return string 
     * @static 
     */
    public static function linkAsset($url, $title = null, $attributes = array(), $secure = null){
        return 'Illuminate'Html'HtmlBuilder::linkAsset($url, $title, $attributes, $secure);
    }
    /**
     * Generate a HTTPS HTML link to an asset.
     *
     * @param string $url
     * @param string $title
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function linkSecureAsset($url, $title = null, $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::linkSecureAsset($url, $title, $attributes);
    }
    /**
     * Generate a HTML link to a named route.
     *
     * @param string $name
     * @param string $title
     * @param array $parameters
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function linkRoute($name, $title = null, $parameters = array(), $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::linkRoute($name, $title, $parameters, $attributes);
    }
    /**
     * Generate a HTML link to a controller action.
     *
     * @param string $action
     * @param string $title
     * @param array $parameters
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function linkAction($action, $title = null, $parameters = array(), $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::linkAction($action, $title, $parameters, $attributes);
    }
    /**
     * Generate a HTML link to an email address.
     *
     * @param string $email
     * @param string $title
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function mailto($email, $title = null, $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::mailto($email, $title, $attributes);
    }
    /**
     * Obfuscate an e-mail address to prevent spam-bots from sniffing it.
     *
     * @param string $email
     * @return string 
     * @static 
     */
    public static function email($email){
        return 'Illuminate'Html'HtmlBuilder::email($email);
    }
    /**
     * Generate an ordered list of items.
     *
     * @param array $list
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function ol($list, $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::ol($list, $attributes);
    }
    /**
     * Generate an un-ordered list of items.
     *
     * @param array $list
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function ul($list, $attributes = array()){
        return 'Illuminate'Html'HtmlBuilder::ul($list, $attributes);
    }
    /**
     * Build an HTML attribute string from an array.
     *
     * @param array $attributes
     * @return string 
     * @static 
     */
    public static function attributes($attributes){
        return 'Illuminate'Html'HtmlBuilder::attributes($attributes);
    }
    /**
     * Obfuscate a string to prevent spam-bots from sniffing it.
     *
     * @param string $value
     * @return string 
     * @static 
     */
    public static function obfuscate($value){
        return 'Illuminate'Html'HtmlBuilder::obfuscate($value);
    }
    /**
     * Register a custom macro.
     *
     * @param string $name
     * @param callable $macro
     * @return void 
     * @static 
     */
    public static function macro($name, $macro){
        'Illuminate'Html'HtmlBuilder::macro($name, $macro);
    }
    /**
     * Checks if macro is registered.
     *
     * @param string $name
     * @return bool 
     * @static 
     */
    public static function hasMacro($name){
        return 'Illuminate'Html'HtmlBuilder::hasMacro($name);
    }
}

编辑

您是否正确设置了config/app.phpcomposer.json文件?

app.php

'providers' => [
    ...
    Barryvdh'LaravelIdeHelper'IdeHelperServiceProvider::class, 
    Illuminate'Html'HtmlServiceProvider::class,
    ...
];
'aliases' => [
    ...
  'Form' => Illuminate'Html'FormFacade::class,
  'Html' => Illuminate'Html'HtmlFacade::class,
  ...
];

composer.json

"require": {
  ...
  "illuminate/html": "~5.0",
  ...
},  
"require-dev": {
  ...
  "barryvdh/laravel-ide-helper": "~2.0",
  ...
},