ProgramingTip

Laravel 5 클래스 'form'을 수 없습니다.

bestdevel 2020. 12. 6. 21:51
반응형

Laravel 5 클래스 'form'을 수 없습니다.


composer.json에 "illuminate / html": "5. *"를 추가하고 "composer update"를 실행했습니다.

  - Installing illuminate/html (v5.0.0)
    Loading from cache

웹 사이트의 루트 에서이 명령을 실행했습니다. /root/.composer ..와 프로젝트의 루트에있는 composer.json 파일을 수정했지만 둘 다 차이가 없습니다.

이 수업을 다운로드하고 설치하는 것처럼 보였습니다. config / app.php에 다음을 추가했습니다.

    'Illuminate\Html\HtmlServiceProvider', 

    'Form'      => 'Illuminate\Html\FormFacade',
    'Html'      => 'Illuminate\Html\HtmlFacade',

나는 내가 무엇을 잘못 알고 있는지 알 수 있습니다. 내 설치는 '/ var / www / website'에 있습니다. 파일 경로를 확인했는데 Html 폴더가 존재하지 않습니다.

"/var/www/website/vendor/laravel/framework/src/Illuminate/Html"

클래스 파일을 찾을 수 있었지만 다른 디렉토리에 있습니다.

"/var/www/website/vendor/illuminate/html"

수동으로 파일을 기본 laravel illuminate / html 폴더에 복사했지만 작동하지 않습니다.


이것은 당신이 찾고있는 답이 아닐 수도 있지만 , 저장소가 더 메인 이상 사용되지 않기 때문에 지금은 커뮤니티에서 관리하는 저장소 Laravel 집단 양식 및 HTML사용하는 것이 좋습니다 .

편집 : Laravel Collective는 웹 사이트를 업데이트하는 중입니다. 필요한 경우 GitHub에서 문서를 볼 수 있습니다 .


Form4.0에 있었기 때문에 laravel 5.0 존재하지 않았습니다 . 포함하는 단계 :

laravelcollective/html통해 패키지를 설치하여 시작하십시오 Composer. 다음 composer.json을 요구하도록 프로젝트 파일을 편집하십시오 .

"require": {
    "laravelcollective/html": "~5.0"
}

으로 다음 composer터미널에서 업데이트 합니다.

composer update

다음으로 새 공급자를의 providers배열에 추가합니다 config/app.php.

'providers' => [
  // ...
  'Collective\Html\HtmlServiceProvider',
  // ...
],

마지막으로 다음과 같은 aliases배열에 두 개의 클래스를 추가합니다 config/app.php.

'aliases' => [
// ...
  'Form' => 'Collective\Html\FormFacade',
  'Html' => 'Collective\Html\HtmlFacade',
// ...
],

이 시점에서 Form작동해야합니다.

출처


업데이트 Laravel 5.8 (2019-04-05) :

에서가 Laravel 5.8providers에서이 config/app.php같이 선언 할 수 있습니다 :

Collective\Html\HtmlServiceProvider::class,

대신에 :

'Collective\Html\HtmlServiceProvider',

이 표기법은 의미에 동일합니다.


터미널 또는 명령에서 다음 명령을 사용할 수도 있습니다.
1. composer dump-auto또는 composer dump-auto -o
2. php artisan cache:clear
3.php artisan config:clear

위는 나를 위해 일했습니다.


프로젝트 디렉토리의 터미널에 다음 명령을 입력하면 설치가 laravel 버전에 따라 완료됩니다.

composer require "laravelcollective/html"

그런 다음이 줄을 config/app.php

'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
],

'aliases' => [
    // ...
   'Form' => Collective\Html\FormFacade::class,
   'Html' => Collective\Html\HtmlFacade::class,
    // ...
],

Laravel 5.2에 대한 업데이트가 있습니다. 이것은 위에 약간의 다른 형식입니다.

Composer를 통해이 패키지를 설치하여 시작하십시오. laravelcollective / html이 필요하도록 프로젝트의 composer.json 파일을 편집하십시오.

"require": {
    "laravelcollective/html": "5.2.*"
}

다음으로 터미널에서 Composer가 업데이트됩니다.

composer update

다음으로, config / app.php의 제공자 배열에 새 제공자를 추가하십시오.

  'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

마지막으로 config / app.php의 aliases 배열에 두 개의 클래스 별칭을 추가합니다.

  'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],

이 업데이트를 수행 한 후이 코드는 Laravel 5.2의 새 설치에서 저에게 효과적이었습니다.

{!! Form::open(array('url' => 'foo/bar')) !!}
    //
{!! Form::close() !!}

이 정보는 https://laravelcollective.com/docs/5.2/html 에서 얻었습니다.


Composer를 통해이 패키지를 설치하여 시작하십시오. 터미널에서 다음을 실행하십시오.

composer require "laravelcollective/html":"^5.3.0"

다음으로, config / app.php의 제공자 배열에 새 제공자를 추가하십시오.

'providers' => [
    // ...
    Collective\Html\HtmlServiceProvider::class,
    // ...
  ],

마지막으로 config / app.php의 aliases 배열에 두 개의 클래스 별칭을 추가합니다.

'aliases' => [
    // ...
      'Form' => Collective\Html\FormFacade::class,
      'Html' => Collective\Html\HtmlFacade::class,
    // ...
  ],

SRC :

https://laravelcollective.com/docs/5.3/html


Laravel Version-4에는 HTML & Form이 있었지만 지금은 없었습니다.

왜 :

유일한 이유는 몇 가지 사용자 요구 사항을 수집했으며 더 가볍고 사용자가 수동으로 추가 할 수 있다는 의미로 제거했습니다.

Laravel 5.2 또는 5.3에서 HTML 및 양식을 추가하려면 어떻게해야합니까?

5.2의 경우 :

Laravel Collective 사이트로 이동하면 설치 프로세스가 시연되었습니다.

5.2와 유사 : 명령 줄에서 명령을 실행합니다.

composer require "laravelcollective/html":"^5.2.0"

그런 다음 config / app.php있는 공급자 배열에서 . 마지막으로 쉼표 (,)를 사용하여이 줄을 추가합니다.

Collective\Html\HtmlServiceProvider::class,

HTML 및 FORM 텍스트를 사용하려면 config / app.phpaliases 배열 에서 별칭을 지정 해야합니다 . 마지막에 두 줄 추가

'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,

5.3의 경우 :

명령을 실행하십시오.

composer require "laravelcollective/html":"^5.3.0"

나머지 절차는 5.2 와 같습니다.

그런 다음 프로젝트에서 Laravel Form 및 기타 HTML 링크를 사용할 수 있습니다. 이를 위해 다음 문서를 따르십시오.

5.2 : https://laravelcollective.com/docs/5.2/html

5.3 : https://laravelcollective.com/docs/5.3/html

데모 코드 : 양식 열기 및 닫기 태그를 열려면 :

{!! Form::open(['url' => 'foo/bar']) !!}

{!! Form::close() !!}

부트 스트랩 양식 제어 클래스 및 기타 용도로 레이블 및 입력 텍스트를 만드는 경우 :

{!! Form::label('title', 'Post Title') !!}
{!! Form::text('title', null, array('class' => 'form-control')) !!}

자세한 내용은 https://laravelcollective.com/ 문서를 사용 하세요.


나는 모든 것을 시도했지만 이것이 도움이되었습니다.

php artisan route:clear
php artisan cache:clear

사용 Form하지 않고 form. 대문자가 중요합니다.

참고 URL : https://stackoverflow.com/questions/28753767/laravel-5-class-form-not-found

반응형