লারাভেল পিএইচপি ফ্রেমওয়ার্কিং

লারাভেল একটি ওপেন সোর্স পিএইচপি ফ্রেমওয়ার্ক। ২০১১ সালে টেইলর অটওয়েল প্রথম লারাভেল ডেভেলপ করেন। সাধারণ ব্লগ, কনটেন্ট ম্যানেজমেন্ট সিস্টেম, ইকমার্স সাইট, বড় ধরনের ওয়েব এপ্লিকেশন, কিংবা মোবাইল এপ্লিকেশনের জন্য JSON নির্ভর এপ্লিকেশন সহ সব কিছুই এখন লারাভেল ব্যবহার করে ডেভেলপ করা সম্ভব।

আরটিসান কমান্ড

Link
  • প্রোজেক্ট স্টার্ট করার জন্য

    php artisan serve
  • রাউট কে ক্যাশে নেয়া

    php artisan route:cache
  • ক্যাশ থেকে রাউট মুছে ফেলা

    php artisan route:clear
  • লারাভেলের সকল আরটিসান কমান্ড লিস্ট

    php artisan list
  • কনফিগারেশন ক্যাশে নেয়া

    php artisan config:cache
  • ক্যাশ থেকে কনফিগারেশন মুছে ফেলা

    php artisan config:clear
  • প্রোজেক্ট টি মেইনটেইনেন্স মোডে নেয়ার জন্য

    php artisan down
  • প্রোজেক্ট টি লাইভে নিয়ে আসা

    php artisan up
  • মিডেল ওয়ার ক্রিয়েট করা

    php artisan make:middleware <middleware-name>
  • কনট্রোলার ক্রিয়েট করা

    php artisan make:controller <controller-name>
  • রিকোয়েস্ট ফরম ক্রিয়েট করা

    php artisan make:request <request-name>
  • একটি নির্ধারিত নেমস্পেস ক্রিয়েট করা

    php artisan app:name devsonket
  • লারাভেলে এইচটিএমএল প্যাকেজ যুক্ত করা

    php artisan composer require illuminate/html
  • লারাভেলে ইভেন্ট জেনারেট করা

    php artisan event:generate
  • সার্ভিস প্রভাইডার ক্রিয়েট করা

    php artisan make:provider <provider-name>
  • লারাভেলর ডিফল্ট অথ ব্যবহার করা

    php artisan make:auth
  • নিজস্ব কমান্ড লাইন তৈরি করা

    php artisan make:console <name-of-command>
  • কি জেনারেট

    php artisan key:generate
  • ক্যাশের সকল ডাটা মুছে ফেলা

    php artisan cache:clear
  • মাইগ্রেশন ক্রিয়েট করা

    php artisan make:migration create_devsonket_table --create=devsonket
  • ডাটাবেসে টেবিল মাইগ্রেট করা

    php artisan migrate
  • ডাটাবেসের পূর্বের অবস্থানে ফিরে যাওয়া অথবা রোল ব্যাক করা

    php artisan migrate:rollback
  • মাইগ্রেশন ব্যবহার করে সকল টেবিল মুছে ফেলা

    php artisan migrate:reset
  • ডাটাবেসের পূর্বের অবস্থানে ফিরে যাওয়া এবং মাইগ্রেট করা

    php artisan migrate:refresh
  • একবারে সকল টেবিল মুছে ফেলার পরে, নতুন করে টেবিল তৈরি করতে চাইলে

    php artisan migrate:fresh

ডাটাবেস কলাম মেথড

Link
  • অটো ইনক্রিমেন্টের জন্য

    $table->increments('id');
  • বড় ইনক্রিমেন্টের জন্য

    $table->bigIncrements('id');
  • বড় ইনটেজার টাইপের ডাটার জন্য

    $table->bigInteger('votes');
  • বুলিয়ান টাইপের ডাটার জন্য

    $table->boolean('confirmed');
  • ক্যারেক্টার টাইপের ডাটা এবং সাথে অপসোনাল দৈর্ঘ্য

    $table->char('name', 100);
  • তারিখ এর জন্য

    $table->date('created_at');
  • তারিখ এবং টাইমের জন্য

    $table->dateTime('created_at');
  • তারিখ,টাইম এবং সাথে টাইম জোনের জন্য

    $table->dateTimeTz('created_at');
  • ডেসিমেল সংখ্যার জন্য, সাথে টোটাল সংখ্যা,স্কেল ও ডেসিমেল ডিজিট

    $table->decimal('amount', 8, 2);
  • ডাবোল টাইপের ডাটার জন্য, সাথে টোটাল সংখ্যা,স্কেল ও ডেসিমেল ডিজিট

    $table->double('amount', 8, 2);
  • জ্যামিতির জন্য

    $table->geometry('positions');
  • ইনটেজার টাইপের ডাটার জন্য

    $table->integer('votes');
  • আইপি এড্রেস এর জন্য

    $table->ipAddress('visitor');
  • ম্যাক এড্রেস এর জন্য

    $table->macAddress('device');
  • জেসন ডাটা ফরমেটের জন্য

    $table->json('options');
  • লম্বা অথবা বড় কোন লেখার জন্য

    $table->longText('description');
  • মাঝারি পূর্ণ সংখ্যার জন্য

    $table->mediumInteger('votes');

ব্লেড টেমপ্লেট

Link
  • যেকোনো value প্রদর্শন করতে ব্যবহৃত হয়

    @yield
  • টেমপ্লেটের যেকোনো section define করতে ব্যবহৃত হয়

    @section
  • define করা section end করতে ব্যবহৃত হয়

    @endsection
  • এক view file কে অন্য view file এ include করার জন্য

    @include
  • Master Layout কে Child Layout এ extends বা inherit করার জন্য

    @extends
  • লারাভেল ব্লেড টেমপ্লেটে Comments করা

    {{-- devsonket --}}
  • ব্লেড টেমপ্লেটের মধ্যে পিএইচপি ব্লক লেখার জন্য

    @php
  • পিএইচপি ব্লক টি end করার জন্য

    @endphp
  • css file, js file এবং যেকোনো image link করার জন্য

    {{ asset('your_asset_file_path') }}
  • বিভিন্ন page এর সাথে লিংক করার জন্য

    {{URL::to('/your_page_link')}}

রাউটিং

Link
  • বেসিক রাউটিং-১

    Route::get('foo', function(){});
  • বেসিক রাউটিং-২

    Route::get('foo', '[email protected]');
  • বেসিক রাউটিং-৩

    Route::controller('foo', 'FooController');
  • রেস্টফুল কন্ট্রোলার-১

    Route::resource('posts','PostsController');
  • রেস্টফুল কন্ট্রোলার-২

    Route::resource('photo', 'PhotoController',['only' => ['index', 'show']]);
  • রেস্টফুল কন্ট্রোলার-৩

    Route::resource('photo', 'PhotoController',['except' => ['update', 'destroy']]);
  • ট্রিগারিং এররস-১

    App::abort(404);
  • ট্রিগারিং এররস-২

    App::missing(function($exception){});
  • ট্রিগারিং এররস-৩

    throw new NotFoundHttpException;
  • রাউট প্যারামিটার-১

    Route::get('foo/{bar}', function($bar){});
  • রাউট প্যারামিটার-২

    Route::get('foo/{bar?}', function($bar = 'bar'){})
  • http verbs:any

    Route::any('foo', function(){});
  • http verbs:post

    Route::post('foo', function(){});
  • http verbs:put

    Route::put('foo', function(){});
  • http verbs:patch

    Route::patch('foo', function(){});
  • http verbs:delete

    Route::delete('foo', function(){});
  • রেস্টফুল একশন্স

    Route::resource('foo', 'FooController');
  • সিকিউর রাউট

    Route::get('foo', array('https', function(){}));
  • রাউট কন্সট্রেইন্টস

    Route::get('foo/{bar}', function($bar){})

বেসিক ডাটাবেস ব্যবহার - কুয়েরি বিল্ডার

Link
  • সিলেক্ট কুয়েরি(Query)

    $results = DB::select('select * from users where id = ?', [1]);
  • কোনো টেবিলের সকল ডাটা পাওয়ার জন্য

    DB::table('name')->get();
  • কোনো টেবিলের একটি রো এর ডাটা পাওয়ার জন্য

    $user = DB::table('users')->where('name', 'Nayeem')->first();
  • কোনো টেবিলের রো এর একটি কলামের ডাটা পাওয়ার জন্য

    $name = DB::table('users')->where('name', 'Nayeem')->pluck('name');
  • কোনো একটি কলামের ডাটা লিস্ট আকারে পাওয়ার জন্য

    $roles = DB::table('roles')->lists('title', 'name');
  • সিলেক্ট ক্লজ দিয়ে নির্দিষ্ট কলামের ডাটার জন্য

    $users = DB::table('users')->select('name', 'email')->get();
  • WHERE অপারেটরের ব্যবহার

    $users = DB::table('users')->where('votes', '>', 100)->get();
  • ডাইনামিক WHERE অপারেটরের ব্যবহার

    $admin = DB::table('users')->whereId(1)->first();
  • orderBy অপারেটরের ব্যবহার

    DB::table('users')->orderBy('column')->get();
  • orderBy অপারেটরের ব্যবহার

    DB::table('users')->groupBy('column')->get();
  • having অপারেটরের ব্যবহার

    DB::table('users')->having('count', '>', 100)->get();
  • বেসিক জয়েন কুয়েরি

    DB::table('users')->join('contacts', 'users.id', '=', 'contacts.user_id')->select('users.id', 'contacts.phone')->get();
  • লেফ্ট জয়েন কুয়েরি

    DB::table('users')->leftJoin('posts', 'users.id', '=', 'posts.user_id')->get();
  • রো কাউন্ট করার জন্য

    $users = DB::table('users')->count();
  • গড় করার জন্য

    $average = DB::table('products')->avg('price');
  • সমষ্টি বের করার জন্য

    $sum = DB::table('products')->sum('votes');
  • সর্বনিম্ন মান বের করার জন্য

    $min = DB::table('products')->min('votes');
  • সর্বাধিক মান বের করার জন্য

    $max = DB::table('products')->max('votes');
  • ডাটা ইনসার্ট করার জন্য

    DB::table('users')->insert(['name' => 'nayeem' 'email' => '[email protected]', 'votes' => 0]);
  • ডাটা আপডেট করার জন্য

    DB::table('users')->where('id', 1)->update(['votes' => 1])
  • ডিলিট করার জন্য

    DB::table('users')->where('votes', '<', 100)->delete();

সেশন এর ব্যবহার

Link
  • সেশন থেকে একটি আইটেম আনার জন্য

    Session::get('key', 'default');
  • সেশন এর আইডি পাওয়ার জন্য

    Session::getId();
  • সেশনে একটি কী , ভ্যালু রাখার জন্য

    Session::put('key', 'value');
  • সেশনে একটি অ্যারেতে একটি মান পুশ করার জন্য

    Session::push('foo.bar','value');
  • সেশন থেকে সকল আইটেম পাওয়ার জন্য

    Session::all();
  • সেশন এ আইটেম আছে কি না চেক করার জন্য

    Session::has('key');
  • সেশন থেকে একটি আইটেম মুছে ফেলার জন্য

    Session::forget('key');
  • সেশন থেকে সকল আইটেম মুছে ফেলার জন্য

    Session::flush();