<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Laravel &#8211; Shuvo The Coder</title>
	<atom:link href="https://shuvothecoder.com/category/php/laravel/feed/" rel="self" type="application/rss+xml" />
	<link>https://shuvothecoder.com</link>
	<description>Code Your Life</description>
	<lastBuildDate>Sat, 29 Feb 2020 17:53:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.4.16</generator>

<image>
	<url>https://shuvothecoder.com/wp-content/uploads/2019/03/cropped-shuvothecoder-32x32.png</url>
	<title>Laravel &#8211; Shuvo The Coder</title>
	<link>https://shuvothecoder.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>লারাভেল কাস্টম মিডিলওয়ার তৈরী</title>
		<link>https://shuvothecoder.com/%e0%a6%b2%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%ad%e0%a7%87%e0%a6%b2-%e0%a6%95%e0%a6%be%e0%a6%b8%e0%a7%8d%e0%a6%9f%e0%a6%ae-%e0%a6%ae%e0%a6%bf%e0%a6%a1%e0%a6%bf%e0%a6%b2%e0%a6%93%e0%a7%9f%e0%a6%be%e0%a6%b0/</link>
					<comments>https://shuvothecoder.com/%e0%a6%b2%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%ad%e0%a7%87%e0%a6%b2-%e0%a6%95%e0%a6%be%e0%a6%b8%e0%a7%8d%e0%a6%9f%e0%a6%ae-%e0%a6%ae%e0%a6%bf%e0%a6%a1%e0%a6%bf%e0%a6%b2%e0%a6%93%e0%a7%9f%e0%a6%be%e0%a6%b0/#respond</comments>
		
		<dc:creator><![CDATA[Shuvo]]></dc:creator>
		<pubDate>Sat, 29 Feb 2020 17:53:44 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[Laravel কাস্টম মিডিলওয়ার]]></category>
		<category><![CDATA[কাস্টম মিডিলওয়ার]]></category>
		<guid isPermaLink="false">https://shuvothecoder.com/?p=539</guid>

					<description><![CDATA[<p>আমাদের অনেক প্রয়োজনে লারাভেলে কাস্টম মিডিলওয়ার তৈরি করার দরকার পরে। আমরা চাইলে কোনো থার্ডপার্টি প্লাগিন ব্যবহার না করে সহজেই একটি লারাভেল মিডিলওয়ার তৈরী করে নিতে পারি। তাহলে চলুন দেখা যাক।...</p>
<p>The post <a rel="nofollow" href="https://shuvothecoder.com/%e0%a6%b2%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%ad%e0%a7%87%e0%a6%b2-%e0%a6%95%e0%a6%be%e0%a6%b8%e0%a7%8d%e0%a6%9f%e0%a6%ae-%e0%a6%ae%e0%a6%bf%e0%a6%a1%e0%a6%bf%e0%a6%b2%e0%a6%93%e0%a7%9f%e0%a6%be%e0%a6%b0/">লারাভেল কাস্টম মিডিলওয়ার তৈরী</a> appeared first on <a rel="nofollow" href="https://shuvothecoder.com">Shuvo The Coder</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>আমাদের অনেক প্রয়োজনে <a rel="noreferrer noopener" aria-label="লারাভেলে  (opens in a new tab)" href="https://laravel.com/" target="_blank">লারাভেলে </a>কাস্টম মিডিলওয়ার তৈরি করার দরকার পরে।  আমরা চাইলে কোনো থার্ডপার্টি প্লাগিন ব্যবহার না করে সহজেই একটি লারাভেল মিডিলওয়ার তৈরী করে নিতে পারি। তাহলে চলুন দেখা যাক। </p>



<p>প্রথমে নিচের আর্টিসান কমান্ডটি দিয়ে একটি মিডিলওয়ার তৈরী করে নেই।  </p>



<pre class="wp-block-code"><code>php artisan make:middleware CheckRole</code></pre>



<p>এই কমান্ডটি চালানোর পর আমাদের একটি নতুন ক্লাস তৈরী হবে app/Http/Middleware এই ফোল্ডারে। এখন ফাইলটি ওপেন করি। </p>



<pre class="wp-block-code"><code>&lt;?php

namespace App\Http\Middleware;

use Closure;

class CheckRole
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // Perform action

        return $next($request);
    }
}</code></pre>



<p>এখন আমরা এটি একটু পরিবর্তন করে আমাদের ব্যবহার উপযোগী করতে পারি। ধরি আমাদের চেক করা প্রয়োজন যে কোনো ইউজারের কোনো একটি কাজ করার অনুমতি আছে কিনা। তাহলে  লারাভেল  কোডটি হবে নিচের মতো। </p>



<pre class="wp-block-code"><code>&lt;?php

namespace App\Http\Middleware;

use Closure;

class CheckRole
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string  $role
     * @return mixed
     */
    public function handle($request, Closure $next, $role)
    {
        if (! $request->user()->hasRole($role)) {
            // Redirect...
        }

        return $next($request);
    }

}</code></pre>



<p>যদি ইউজারের রোল না থাকে তবে তাকে রিডাইরেক্ট করে দিবো। এখন প্রশ্ন হবে যে $role আসলো কোথা থেকে ?</p>



<p>আসলে এইটা একটা আর্গুমেন্ট। এটা আমরা পাস্ করবো কন্ট্রোলার থেকে।  চলো তার আগে আমরা আমাদের মিডিলওয়ার রেজিস্টার করে নেই।  রেজিস্টার করার জন্য  app/Http/Kernel.php এই ফাইলটি ওপেন করুন এবং নিচের মতো আমাদের মিডিলওয়ার টি এড করে দেই। </p>



<pre class="wp-block-code"><code>// Within App\Http\Kernel Class...

protected $routeMiddleware = &#91;
    'auth' => \App\Http\Middleware\Authenticate::class,
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
    'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
    'can' => \Illuminate\Auth\Middleware\Authorize::class,
    'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
    'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
    'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'checkRole' => \App\Http\Middleware\CheckRole::class,
];</code></pre>



<p>এখন আমরা কন্ট্রোলারে যাই এবং নিচের লাইন যোগ করি। </p>



<pre class="wp-block-code"><code>//At our Controller

public function __construct()
{
    $this->middleware('checkRole:admin');
}</code></pre>



<p>একটু উপরে যে আমরা একটি $role ভ্যারিয়েবল ব্যবহার করেছিলাম ঐটা এখানে checkRole  এর পরে কোলন দিয়ে লিখেছি। এখন সহজেই যেকোনো রোল দিয়ে চেক করা যাবে যে ইউজার ওই রোল এ আছে কিনা। </p>



<p>ধন্যবাদ। </p>



<p><a href="https://shuvothecoder.com/programming-in-smartphone/">স্মার্টফোনে প্রোগ্রামিং কিভাবে করবো?</a></p>
<p>The post <a rel="nofollow" href="https://shuvothecoder.com/%e0%a6%b2%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%ad%e0%a7%87%e0%a6%b2-%e0%a6%95%e0%a6%be%e0%a6%b8%e0%a7%8d%e0%a6%9f%e0%a6%ae-%e0%a6%ae%e0%a6%bf%e0%a6%a1%e0%a6%bf%e0%a6%b2%e0%a6%93%e0%a7%9f%e0%a6%be%e0%a6%b0/">লারাভেল কাস্টম মিডিলওয়ার তৈরী</a> appeared first on <a rel="nofollow" href="https://shuvothecoder.com">Shuvo The Coder</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://shuvothecoder.com/%e0%a6%b2%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%ad%e0%a7%87%e0%a6%b2-%e0%a6%95%e0%a6%be%e0%a6%b8%e0%a7%8d%e0%a6%9f%e0%a6%ae-%e0%a6%ae%e0%a6%bf%e0%a6%a1%e0%a6%bf%e0%a6%b2%e0%a6%93%e0%a7%9f%e0%a6%be%e0%a6%b0/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
