it-swarm.dev

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', '[email protected]');

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.

لاحظ أن Laravel سيقوم بما يلي عند الاتصال View::make:

  • من أجل 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. خطأ بعد أن قمت بتغييره إلى [email protected]('user.index') بدأ كل العمل.

1
Adam

في حالتي ، Laravel 5.3

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

لم يتم تقديم test.blade.php ولكن تم عرض بعض المشاهدات الأخرى على المضيف المحلي عبر XAMPP على ماك. عند تشغيل خادم الحرفيين ، بدأ العرض في تقديم عنوان url نفسه عبر XAMPP.

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 
0
Ricky Orlando Napitupulu