টেমপ্লেট ইনহেরিট্যান্স:

মাস্টার পেজ লেআউট:

মাস্টার পেজ লেআউট সমস্ত ওয়েব পেজ জুড়ে সাধারণ লেআউটকে সংজ্ঞায়িত করে। সমস্ত ওয়েব অ্যাপ্লিকেশনের সমস্ত ওয়েব পৃষ্ঠা জুড়ে সাধারণ বিন্যাস সংজ্ঞায়িত করার জন্য মাস্টার পৃষ্ঠা বিন্যাস রয়েছে। ব্লেড টেমপ্লেটিং ইঞ্জিন মাস্টার লেআউটকে সংজ্ঞায়িত করে যা সমস্ত ওয়েব পেজ দ্বারা প্রসারিত করা যেতে পারে। মাস্টার পৃষ্ঠা বিন্যাস /resources/views/layouts/ ডিরেক্টরিতে উপলব্ধ ।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

  • প্রথমে resources/views/ ডিরেক্টরিতে 'layout' নামে ফোল্ডারটি তৈরি করুন ।
  • এখন 'master.blade.php' লেআউট ফোল্ডারে একটি নতুন ফাইল তৈরি করুন ।
  • চলুন আমরা master.blade.php ফাইলে নিম্নলিখিত কোড যোগ করি ।

master.blade.php

  1. <html>  
  2. <head>  
  3. <title> Master Page Layout </title>  
  4. </head>  
  5. <body>  
  6. <div class="container">  
  7. @yield('content')  
  8. </div>  
  9. @yield('footer')  
  10. </body>  
  11. </html>  

উপরের কোডে আমরা @yield নির্দেশ ব্যবহার করেছি। বিষয়বস্তু প্রদর্শন করতে @yield ব্যবহার করা হয় । @yield('content') 'content' এর বিষয়বস্তু প্রদর্শন করে যখন @yield('footer') ফুটারের বিষয়বস্তু প্রদর্শন করে।

প্রসারিত মাস্টার লেআউট:

এখন আমরা contact.blade.php ফাইলে উপরের মাস্টার লেআউটটি নিচের মত করে প্রসারিত করতে যাচ্ছি।

Contact.blade.php

  1. @extends('layout.master')  
  2. @section('content')  
  3. <h1>Contact Page </h1>   
  4. @stop  

উপরের কোডে আমরা @extends নির্দেশিকা ব্যবহার করি। '@extends' নির্দেশিকাটি contact.blade.php ফাইলে ব্লেড লেআউটের উত্তরাধিকারী হতে ব্যবহৃত হয় । '@section('content')' বিষয়বস্তুর বিভাগকে সংজ্ঞায়িত করে।

এখন web.php ফাইলে নিম্নলিখিত রুট যোগ করুন ।

  1. Route::get('/contact'function () {  
  2.     return view('contact');  
  3. });  

আউটপুট

আমরা contact.blade.php ফাইলে জাভাস্ক্রিপ্ট কোড যোগ করতে পারি । ধরুন আমি contact.blade.php ফাইলে নিম্নলিখিত কোড যোগ করেছি ।

  1. @section('footer')  
  2. <script> alert("Hello JavaTpoint") </script>      
  3. @stop  

উপরের কোডে আমি সতর্কতা বক্স তৈরি করেছি যা "Hello JavaTpoint" বার্তাটি প্রদর্শন করছে।

আউটপুট

ব্লেড টেমপ্লেটের আরেকটি উদাহরণ দেখা যাক।

আমরা "post.blade.php" ফাইল নামে একটি নতুন ফাইল তৈরি করি ।

post.blade.php

  1. @extends('layout.master')  
  2. @section('content')  
  3. <h1>Post Page:</h1>  
  4. <h2>id is :{{$id}}<br> Password is :{{$password}}<br>Name is : {{$name}}</h2>  
  5. @stop  

উপরের কোডটি কন্টেন্টের বিভাগকে সংজ্ঞায়িত করে যেখানে আমরা যথাক্রমে আইডি, পাসওয়ার্ড এবং নামের মান প্রদর্শন করছি।

এখন আমরা 'PostController.php' নামে একটি কন্ট্রোলার তৈরি করি ।

PostController.php

  1. <?php  
  2.   
  3. namespace App\Http\Controllers;  
  4.   
  5. use Illuminate\Http\Request;  
  6.   
  7. class PostController extends Controller  
  8. {  
  9.     //  
  10.  public function show_post($id,$password,$name)  
  11. {  
  12.   return view('post',compact('id','password','name'));  
  13. }}  

PostController.php ফাইলে আমরা show_post() নামে একটি নতুন ফাংশন সংজ্ঞায়িত করেছি যা post.blade.php ফাইলে ডেটা প্রেরণ করে ।

সবশেষে আমরা web.php ফাইলে একটি রুট সংজ্ঞায়িত করি।

web.php

  1. Route::get('/post/{id}/{password}/{name}','PostController@show_post');  

আউটপুট

এখন পর্যন্ত আমরা দেখেছি যে post.blade.php এবং contact.blade.php ফাইল দুটিই মাস্টার লেআউট ফাইলকে প্রসারিত করছে। এটি একটি মাস্টার লেআউটের প্রধান সুবিধা যে প্রতিটি ফাইল মাস্টার ফাইলের লেআউট প্রসারিত করতে পারে এবং তাদের নিজস্ব কার্যকারিতা যোগ করতে পারে।

@parent নির্দেশের ব্যবহার:

@parent নির্দেশের ব্যবহার হল মাস্টার লেআউটে সংজ্ঞায়িত বিভাগের বিষয়বস্তু প্রদর্শন করা।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

প্রথমত আমরা একটি মাস্টার ফাইল তৈরি করি।

master.blade.php

  1. <html>  
  2. <head>  
  3. <title> Master Page Layout </title>  
  4. </head>  
  5. <body>  
  6. <div class="container">  
  7. @yield('content')  
  8. </div>  
  9. @section('footer')  
  10. This is footer   
  11. @show  
  12. </body>  
  13. </html> 

এখন আমরা contact.blade.php তৈরি করি যেখানে আমরা উপরের master.blade.php ফাইলটি প্রসারিত করি।

  1. @extends('layout.master')  
  2. @section('content')  
  3. <h1>Contact Page</h1>  
  4. @stop   
  5. @section('footer')  
  6. @parent  
  7. <p>this is appended</p>  
  8. @stop  

উপরের কোডে @parent নির্দেশিকা ফুটার বিভাগে অনুচ্ছেদের বিষয়বস্তু যোগ করে।

আউটপুট

আপনাদের সুবিধার্থে আমি আমার টিপস এন্ড ট্রিকসগুলি ভিডিও আকারে শেয়ার করার জন্য একটি ইউটিউব চ্যানেল তৈরি করেছি। আশা করি চ্যানেলটি Subscribe করবেন।

সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

Leave a Comment