web-dev-qa-db-ja.com

Laravelビューが見つからない例外

laravelビューはルート関数で見つかりませんでしたcomposer dumpautoloadがArticleController.phpを使用しません

<?php
class ArticleController extends BaseController
 {
 public function showIndex()
 {
    return View::make('index');
 }

 public function showSingle($articleId)
 {
 return View::make('single');
 }
}


//Route
Route::get('index', 'ArticleController@showIndex');

InvalidArgumentException

View [index] not found.
open: /opt/lampp/htdocs/laravel-project/bootstrap/compiled.php

    foreach ((array) $paths as $path) {
    foreach ($this->getPossibleViewFiles($name) as $file) {
    if ($this->files->exists($viewPath = $path . '/' . $file)) {
    return $viewPath;
    }
    }
    }
    throw new \InvalidArgumentException("View [{$name}] not found.");
    }
    protected function getPossibleViewFiles($name)

Server/Request Data
REDIRECT_UNIQUE_ID  UfWlAn8AAQEAABR2VakAAAAF
REDIRECT_STATUS     200
UNIQUE_ID   UfWlAn8AAQEAABR2VakAAAAF
HTTP_Host   localhost
HTTP_USER_AGENT     Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0
HTTP_ACCEPT     text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE    en-US,en;q=0.5
HTTP_ACCEPT_ENCODING    gzip, deflate
HTTP_COOKIE     laravel_session=f94fpel78jn89nhah32mflqn15
HTTP_CONNECTION     keep-alive
HTTP_CACHE_CONTROL  max-age=0
PATH    /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LD_LIBRARY_PATH     /opt/lampp/lib:/opt/lampp/lib
SERVER_SIGNATURE    
SERVER_SOFTWARE     Apache/2.4.4 (Unix) OpenSSL/1.0.1e PHP/5.4.16 mod_Perl/2.0.8-dev Perl/v5.16.3
SERVER_NAME     localhost
SERVER_ADDR     127.0.0.1
SERVER_PORT     80
REMOTE_ADDR     127.0.0.1
DOCUMENT_ROOT   /opt/lampp/htdocs
REQUEST_SCHEME  http
CONTEXT_PREFIX  
CONTEXT_DOCUMENT_ROOT   /opt/lampp/htdocs
SERVER_ADMIN    [email protected]
SCRIPT_FILENAME     /opt/lampp/htdocs/laravel-project/public/index.php
REMOTE_PORT     50211
REDIRECT_URL    /laravel-project/public/index
GATEWAY_INTERFACE   CGI/1.1
SERVER_PROTOCOL     HTTP/1.1
REQUEST_METHOD  GET
QUERY_STRING    
REQUEST_URI     /laravel-project/public/index
SCRIPT_NAME     /laravel-project/public/index.php
PHP_SELF    /laravel-project/public/index.php
REQUEST_TIME_FLOAT  1375053058.123
REQUEST_TIME    1375053058
32
user474901

これは、Laravelがアプリケーションでビューファイルを見つけられない場合に発生します。index.phpまたはindex.blade.phpという名前のファイルがapp/viewsディレクトリの下にあることを確認してください。

View::makeを呼び出すときにLaravelは次のことを行います。

  • View::make('index') Laravel=の場合は、ファイルapp/views/index.phpを探します。
  • View::make('index.foo') Laravel=の場合は、ファイルapp/views/index/foo.phpを探します。

ファイルには、.phpまたは.blade.phpのいずれかの拡張子を付けることができます。

32
Rubens Mariuzzo

このエラーは、プロジェクトディレクトリ全体を他のパスに移動しようとした場合にも発生します。そして、移動する前に以下のコマンドを実行しました。

php artisan optimize --force
php artisan config:cache
php artisan route:cache

私のエラーメッセージはこのように表示されます enter image description here

ご覧のとおり、古いパスはcompiled.phpに記述されています。そのため、問題を修正します。新しいフォルダーの場所にあるプロジェクトフォルダーで同じコマンドをもう一度実行するだけです。

php artisan optimize --force
php artisan config:cache
php artisan route:cache

お役に立てれば。

38
Dean Chiu

このコマンドは私のために働く

php artisan config:cache

Laravel docがデフォルトで言うように、Laravelはファイルキャッシュドライバーを使用するように構成され、シリアル化され、キャッシュされたオブジェクトをファイルシステムに保存します。そのため、新しく追加されたビューとルートを表示できるように、ファイルシステムを再キャッシュする必要があります。 laravelが実際に再キャッシュする必要がある理由もわかりません

14
Amir

これは可能性がありますエラーが表示されていてもビューが存在すること。したがって、この問題を解決するには、サーバーを停止し、ターミナルでこのコマンドを実行する必要があります。

php artisan config:cache

その後、サーバーを再起動します

4
Inamur Rahman

コントローラー呼び出しで

return View('index');

なしで

::make
3
Paspartu

私の場合、私はView::make('User/index')を呼び出していました。実際、私のビューはユーザーディレクトリにあり、index.blade.phpと呼ばれていました。 View@make('user.index')に変更した後、すべてが機能し始めました。

1
Adam

私の場合、Laravel 5.3

Route::get('/', function(){
    return View('test');
});

test.blade.phpはレンダリングされませんでしたが、MacのXAMPPを介してlocalhostで他のいくつかのビューがレンダリングされていました。 artisanサーバーの実行時、XAMPP経由で同じURLのビューのレンダリングが開始されました。

php artisan serve

このようなシナリオを回避するには、Laravelアプリを職人サーバーのみでテストする必要があります。

0
zeeawan

少し恥ずかしいことに、このエラーの別のささいな原因を発見しました。ブレードファイルのファイル名が完全に停止していました(例_resources/views/pages/user.invitation.blade.php_)。当時は本当に意味がありました!

私はそれを次のように参照しようとしました:view('pages.user.invitation')

しかし、もちろんLaravelは_resources/views/pages/user/invitation.blade.php_でファイルを探し、_view not found_をスローしていました。

これが誰かを助けることを願っています。

0
jeff-h

同じエラーが発生していましたが、私の場合、ビューはseeProposalと呼ばれていました。

seeproposalに変更しましたが、うまくいきました...

ローカルでテストしている間は問題ではありませんでしたが、明らかにLaravelは本番環境で実行されている大文字を区別します。 。

0
ndarriulat

ビューフォルダーにindex.blade.phpファイルを作成します。

0
Eduin Morales

@deanchiuが言ったように、プロジェクト全体を別のパスまたはサーバーに移動すると発生する可能性があります。

しかし、私の場合、サーバー上のコマンドラインにアクセスできず、プロジェクトをアップロードする前に次のコマンドを実行すると助けになりました。

> php artisan route:clear
> php artisan config:clear
0
aleebek

見つからないというビューでブレードの構文を確認してください

@if
@component
@endif 
@endcomponent

@if
@component
@endcomponent
@endif