در این آموزش قصد دارم استفاده از Flash Message در Laravel 8 را بصورت مختصر و مفید خدمت شما آموزش بدم. برای نمایش Flash Message حالت های مختلفی وجود دارند و خوشبختانه برای تک تک این حالت ها کلاس های CSS از قبل در Bootstrap پیشبینی شده است.
برای استفاده از Flash Message در Laravel 8 ، باید فقط سه مرحله اساسی را بصورت زیر دنبال کنید:
مرحله اول: ایجاد یک فایل اصلی برای تولید Flash Message
در مرحله اول فایل blade جدید flash-message.blade.php را ایجاد میکنیم. حالت های مختلف هدار در این فایل Flash Message به شرح زیر است:
[pastacode lang=”php” manual=”success%0Aerror%0Awarning%0Ainfo%0Avalidation%20error” message=”” highlight=”” provider=”manual”/]
فایل flash-message.blade.php را بصورت زیر در پرونده خود قرار دهید:
[pastacode lang=”php” manual=”%40if%20(%24message%20%3D%20Session%3A%3Aget(‘success’))%0A%3Cdiv%20class%3D%22alert%20alert-success%20alert-block%22%3E%0A%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22close%22%20data-dismiss%3D%22alert%22%3E%C3%97%3C%2Fbutton%3E%20%20%20%20%0A%20%20%20%20%3Cstrong%3E%7B%7B%20%24message%20%7D%7D%3C%2Fstrong%3E%0A%3C%2Fdiv%3E%0A%40endif%0A%20%20%0A%40if%20(%24message%20%3D%20Session%3A%3Aget(‘error’))%0A%3Cdiv%20class%3D%22alert%20alert-danger%20alert-block%22%3E%0A%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22close%22%20data-dismiss%3D%22alert%22%3E%C3%97%3C%2Fbutton%3E%20%20%20%20%0A%20%20%20%20%3Cstrong%3E%7B%7B%20%24message%20%7D%7D%3C%2Fstrong%3E%0A%3C%2Fdiv%3E%0A%40endif%0A%20%20%20%0A%40if%20(%24message%20%3D%20Session%3A%3Aget(‘warning’))%0A%3Cdiv%20class%3D%22alert%20alert-warning%20alert-block%22%3E%0A%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22close%22%20data-dismiss%3D%22alert%22%3E%C3%97%3C%2Fbutton%3E%20%20%20%20%0A%20%20%20%20%3Cstrong%3E%7B%7B%20%24message%20%7D%7D%3C%2Fstrong%3E%0A%3C%2Fdiv%3E%0A%40endif%0A%20%20%20%0A%40if%20(%24message%20%3D%20Session%3A%3Aget(‘info’))%0A%3Cdiv%20class%3D%22alert%20alert-info%20alert-block%22%3E%0A%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22close%22%20data-dismiss%3D%22alert%22%3E%C3%97%3C%2Fbutton%3E%20%20%20%20%0A%20%20%20%20%3Cstrong%3E%7B%7B%20%24message%20%7D%7D%3C%2Fstrong%3E%0A%3C%2Fdiv%3E%0A%40endif%0A%20%20%0A%40if%20(%24errors-%3Eany())%0A%3Cdiv%20class%3D%22alert%20alert-danger%22%3E%0A%20%20%20%20%3Cbutton%20type%3D%22button%22%20class%3D%22close%22%20data-dismiss%3D%22alert%22%3E%C3%97%3C%2Fbutton%3E%20%20%20%20%0A%20%20%20%20Please%20check%20the%20form%20below%20for%20errors%0A%3C%2Fdiv%3E%0A%40endif” message=”resources/views/flash-message.blade.php” highlight=”” provider=”manual”/]
مرحله دوم: استفاده از Flash Message در قالب
برای لود شدن فایل flash-message.blade.php در هر جای قالب خود از کد زیر استفاده نمایید:
[pastacode lang=”php” manual=”%40include(‘flash-message’)” message=”” highlight=”” provider=”manual”/]
برای این منظور من مثال زیر را آماده نموده ام بیایید خیلی سریع آن را اجرا و بررسی کنیم:
[pastacode lang=”php” manual=”%3C!DOCTYPE%20html%3E%0A%3Chtml%20lang%3D%22en%22%3E%0A%3Chead%3E%0A%20%20%20%20%3Cmeta%20charset%3D%22utf-8%22%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22X-UA-Compatible%22%20content%3D%22IE%3Dedge%22%3E%0A%20%20%20%20%3Cmeta%20name%3D%22viewport%22%20content%3D%22width%3Ddevice-width%2C%20initial-scale%3D1%22%3E%0A%20%20%20%20%3C!–%20Styles%20–%3E%0A%20%20%20%20%3Clink%20href%3D%22%2Fcss%2Fapp.css%22%20rel%3D%22stylesheet%22%3E%0A%3C%2Fhead%3E%0A%3Cbody%3E%0A%0A%0A%20%20%20%20%3Cdiv%20id%3D%22app%22%3E%0A%20%20%20%20%20%20%20%20%40include(‘flash-message’)%0A%0A%0A%20%20%20%20%20%20%20%20%40yield(‘content’)%0A%20%20%20%20%3C%2Fdiv%3E%0A%0A%0A%20%20%20%20%3C!–%20Scripts%20–%3E%0A%20%20%20%20%3Cscript%20src%3D%22%2Fjs%2Fapp.js%22%3E%3C%2Fscript%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E” message=”resources/views/layouts/app.blade.php” highlight=”” provider=”manual”/]
مرحله سوم: استفاده از Flash Message با Redirect
در این مرحله یاد می گیریم که چگونه یک Flash Message را در حالت های مختلف هنگام Redirect در Controller مورد نظر خود استفاده کنیم:
[pastacode lang=”php” manual=”public%20function%20create(Request%20%24request)%0A%7B%0A%09%24this-%3Evalidate(%24request%2C%5B%0A%20%20%20%20%20%20%20%20’title’%20%3D%3E%20’required’%2C%0A%20%20%20%20%20%20%20%20’details’%20%3D%3E%20’required’%0A%20%20%20%20%20%20%20%20%5D)%3B%0A%0A%0A%09%24items%20%3D%20Item%3A%3Acreate(%24request-%3Eall())%3B%0A%0A%0A%09return%20back()-%3Ewith(‘success’%2C’Item%20created%20successfully!’)%3B%0A%7D” message=”Redirect with success message” highlight=”” provider=”manual”/]
[pastacode lang=”php” manual=”public%20function%20create(Request%20%24request)%0A%7B%0A%20%20%20%20return%20redirect()-%3Eroute(‘home’)%0A%20%20%20%20%20%20%20%20-%3Ewith(‘error’%2C’You%20have%20no%20permission%20for%20this%20page!’)%3B%0A%7D” message=”Redirect with error message” highlight=”” provider=”manual”/]
[pastacode lang=”php” manual=”public%20function%20create(Request%20%24request)%0A%7B%0A%20%20%20%20return%20redirect()-%3Eroute(‘home’)%0A%20%20%20%20%20%20%20%20%20%20%20%20-%3Ewith(‘warning’%2C%22Don’t%20Open%20this%20link%22)%3B%0A%7D” message=”Redirect with warning message” highlight=”” provider=”manual”/]
[pastacode lang=”php” manual=”public%20function%20create(Request%20%24request)%0A%7B%0A%20%20%20%20%24this-%3Evalidate(%24request%2C%5B%0A%20%20%20%20%20%20%20%20’title’%20%3D%3E%20’required’%2C%0A%20%20%20%20%20%20%20%20’details’%20%3D%3E%20’required’%0A%20%20%20%20%20%20%20%20%5D)%3B%0A%0A%0A%20%20%20%20%24items%20%3D%20Item%3A%3Acreate(%24request-%3Eall())%3B%0A%0A%0A%20%20%20%20return%20back()-%3Ewith(‘info’%2C’You%20added%20new%20items%2C%20follow%20next%20step!’)%3B%0A%7D” message=”Redirect with info message” highlight=”” provider=”manual”/]
[pastacode lang=”php” manual=”public%20function%20create(Request%20%24request)%0A%7B%0A%20%20%20%20%24this-%3Evalidate(%24request%2C%5B%0A%20%20%20%20%20%20%20%20’title’%20%3D%3E%20’required’%2C%0A%20%20%20%20%20%20%20%20’details’%20%3D%3E%20’required’%0A%20%20%20%20%20%20%20%20%5D)%3B%0A%0A%0A%20%20%20%20…..%0A%7D” message=”Validation Error” highlight=”” provider=”manual”/]
امیدوارم این آموزش برای شما مفید واقع شده باشه و بتوانید بدون مشکل از اون استفاده کنید.