5

Laravel 4 docs के अनुसार मैं एक कस्टम प्रतिक्रिया के साथ एक 404 फेंक कर सकते हैं:Laravel 4 - कस्टम संदेश के साथ 404 हैंडलिंग

App::abort(404, 'My Message'); 

मैं तो एक कस्टम पृष्ठ के साथ अपने 404 के सभी संभाल कर सकते हैं:

App::missing(function($exception) 
{ 
    return Response::view('errors.missing', array(), 404); 
}); 

जेनेरिक लैरावेल त्रुटि पृष्ठ उसी तरह से दृश्य के माध्यम से 'मेरा संदेश' कैसे पास कर सकता हूं।

धन्यवाद!

+0

@totymedli मैं जेनेरिक हैंडलर की बजाय 'abort' फ़ंक्शन में संदेश निर्दिष्ट करना चाहता था, इसलिए मैं एकाधिक संदेशों का उपयोग कर सकता हूं। मैं बस '$ अपवाद-> getMessage() 'लाइन खो रहा था। आपकी सहायता के लिए धन्यवाद. –

उत्तर

5

आप अपवाद पैरामीटर के माध्यम से अपना संदेश पकड़ कर सकते हैं

App::missing(function($exception) 
{ 
    $message = $exception->getMessage(); 
    $data = array('message', $message); 
    return Response::view('errors.missing', $data, 404); 
}); 

नोट: कोड कम किया जा सकता है, मैं स्पष्टता के लिए इस तरह लिखा था।

+0

वास्तव में मैं क्या कर रहा था! बहुत बहुत धन्यवाद। –

+0

किस फ़ाइल में और फ़ोल्डर (ओं) में आपको यह कोड जोड़ना है, @LukeJoyce ?? – Pathros

+0

@ पैथ्रोस, यदि आप लारावेल 4.x का उपयोग कर रहे हैं तो यह 'app.php' पर होना चाहिए, मुझे लगता है कि यह लैरवेल 5 के समान है। –

5

लैरवेल 5 में, आप /resources/views/errors निर्देशिका में प्रत्येक प्रतिक्रिया कोड के लिए ब्लेड दृश्य प्रदान कर सकते हैं। उदाहरण के लिए 404 त्रुटि /resources/views/errors/404.blade.php का उपयोग करेगी।

मैनुअल में जो उल्लेख नहीं किया गया है वह यह है कि आपके पास $exception ऑब्जेक्ट तक पहुंच है। इसलिए आप में भेजे गए संदेश को प्राप्त करने के लिए {{ $exception->getMessage() }} का उपयोग कर सकते हैं।

+1

पर्याप्त रूप से ऊपर नहीं उठाया जा सकता है। मुझे लैरावेल पसंद है, लेकिन यह दस्तावेज के लिए "ढांचा पढ़ना" दृष्टिकोण थोड़ा निराशाजनक हो सकता है। – Henrik

संबंधित मुद्दे