বাংলায় PHP LARAVEL FRAMEWORK পর্ব-২৩: Simple CRUD with Laravel

Laravel ২৩ তম পর্বে আপনাকে স্বাগতম। আজকে আমরা দেখব কিভাবে Laravel এর শুধু মাত্র route, view এবং Controller ব্যবহার করে একটা CRUD Operation তৈরী করা যায়। চলুন শুরু করা যাক :

ডাটাবেস কনফিগারেশন এবং কিছু সমাধান

প্রথমে, আপনার .env ফাইলটি খুলুন এবং DB_DATABASE, DB_USERNAME এবং DB_PASSWORD এই constant গুলোর default value গুলি পরিবর্তন করে আপনার database এর Database name, Database Username এবং Database password দিয়ে পরিবর্তন করুন।

MySQL Database এর string size problem সমাধান :

সাধারণত , Laravel এ Migration চালাইতে গেলে string size নিয়ে একটা error প্রদর্শন করে, এবং এই সমস্যার জন্য অনেক সময় সঠিক ভাবে schema গুলো রান হয়না। আর এই সমস্যাটা সমাধানের জন্য আপনাকে app/Providers ফোল্ডারে অবস্থিত AppServiceProvider.php ফাইলে নিচের মতো করে পরিবর্তন করতে হবে।

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
         Schema::defaultStringLength(191);
    }
}

ব্যাখ্যা:: ২৮ নম্বর লাইনে লক্ষ্য করুন , এখানে আমরা নতুন করে mysql database এর জন্য একটা ডিফল্ট string size দিয়েছি , এতে এখন যদি আপনি database table এর string type column গুলোর জন্য কোনো size না ডিক্লেয়ার করেন , তাহলে ডিফল্ট হিসেবে ১৯১ character নিবে।

ধাপ ১: Database এ table তৈরী

প্রথমে আমাদের কে database এ students নামে একটা টেবিল তৈরী করতে হবে।

আর এই কাজটি করার জন্য আমরা লারাভেল এর migration এর সাহায্য নিব।

আপনার কমান্ড লাইনে নিম্নোক্ত artisan কমান্ডটি রান করুন :

php artisan make:migration create_students_table --create=students

এবার আপনার সদ্য তৈরি হয়ে মাইগ্রেশন ফাইলে নিচের মতো করে আপডেট করে নিন।

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateStudentsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('students', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name', 40);
            $table->string('email', 100);
            $table->string('mobile', 20);
            $table->address('name', 100);
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('students');
    }
}

এবার নিম্নোক্ত artisan command টি রান করুন :

php artisan migrate:refresh

এতক্ষনে আপনার টেবিল তৈরি শেষ , এখন আপনার টেবিল টি নিম্নরূপ হবে :

Table with Migration command

Table with Migration command

ধাপ ২: Database এ Data Insert

Laravel দিয়ে ডাটাবেসে Data Insert করার জন্য প্রথমে আপনাকে আপনার view folder এ একটা Insert Form তৈরী করতে হবে। আমরা এখানে bootstrap এর সাহায্যে একটা form তৈরী করব। ফর্ম তৈরির জন্য নিচের কোড টি ব্যবহার করুন। আর আপনার তৈরী ফর্ম টির নাম রাখুন form.blade.php নামে।

form.blade.php

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Registration Form</title>
  </head>
  <body>
<!-- Default form contact -->
<form class="text-center border border-light p-5" action="/process" method="post">

    <p class="h4 mb-4">Registration</p>

    <!-- Name -->
    <input type="text" name="name" id="defaultContactFormName" class="form-control mb-4" placeholder="Name">

    <!-- Mobile -->
    <input type="text" name="mobile" id="defaultContactFormMobile" class="form-control mb-4" placeholder="Mobile">

   <!-- Address -->
    <div class="form-group">
        <textarea name="address" class="form-control rounded-0" id="exampleFormControlTextarea2" rows="3" placeholder="Address"></textarea>
    </div>

    @csrf
    <!-- Submit button -->
    <button class="btn btn-info btn-block" type="submit">Submit</button>

</form>
</body>
</html>

নোট: এখানে একটা বিষয় লক্ষ্য করবেন , আমরা form এর ভিতরে @csrf; blade syntax ব্যবহার করেছি। কারণ আমাদের form টির method হিসেবে দেওয়া আছে POST , আর লারাভেল post method এ কোনো form csrf টোকেন ছাড়া allow করেনা। আর এই কাজটি security পারপাস এ করা হয়।

Insert Form টি ব্রাউজারে দেখানোর জন্য আমাদের কে routes/web.php এ route টি বলে দিতে হবে। যদিও আমরা চাইলে সরাসরি route থেকে form টি দেখাতে পারি। কিন্তু আমরা route কে simple রাখার জন্য form টি সরাসরি route থেকে না দেখিয়ে Controller এর একটা method এর মাধ্যমে দেখাবো। এই জন্য আমাদেরকে route এ আমাদের controller এর মেথডটির নামটিও বলে দিতে হবে। তাহলে চলুন দেখা যাক আমাদের route:

routes/web.php

Laravel Route for showing form

Laravel Route for showing form

// Laravel CRUD
Route::get('/form','homeController@form');

লক্ষ্য করুন আমরা homeController@form এখানে @form দিয়ে বুঝিয়েছি আমরা homeController নামে একটা Controller file এ form নামে একটা মেথড থাকবে , সেখানে form দেখানোর ব্যবস্থা থাকবে।

আর এটা যদি বুঝে থাকেন , তাহলে আপনাকে ২ টা কাজ করতে হবে , প্রথম কাজটা হচ্ছে আপনাকে command line এ গিয়ে homeController নামে একটা Controller তৈরী করতে হবে, তারপর সেই Controller এ form নামে একটা মেথড তৈরী করতে হবে , তো চলুন প্রথমে নিচের Command এর মাধ্যমে homeController নামের Controller টি তৈরী করে ফেলি।

php artisan make:controller homeController

এখন আপনি app\Http\Controllers ডিরেক্টরিতে homeController.php নামে একটি সম্পূর্ণ নতুন Controller পাবেন। যেটাতে ঠিক নিচের মতো কোড দেখতে পাবেন :

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
 
class homeController extends Controller
{
    //
}

এবার এই homeController এ আমরা আমাদের form নামে মেথডটি তৈরী করব , এবং আমাদের form.php file টি প্রদর্শনের ব্যবস্থা করব। চলুন দেখা যাক:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
class homeController extends Controller
{

    public function form(){
        return view("form");
    }
}

নোট: আমাদের form মেথডে return view(“form”); দ্বারা মূলত আমাদের resources/views থেকে form.php ফাইল টি প্রদর্শন করি।

এখন যদি আপনি ব্রাউজারে http://localhost:8000/form দিয়ে ভিজিট করেন , তাহলে নিচের মতো আউটপুট দেখতে পাবেন।

Registration Form

Registration Form

এইবার form টি submit করলে যেন form এর ডাটা ডাটাবেসে insert হয় সেই ব্যবস্থা করব। আর এর জন্য আপনাকে আবার route এ ফর্ম এর action url টা বলে দিতে হবে, এবং একই সাথে homeController এর যেই মেথড দিয়ে ডাটাবেসে ফর্মের ডাটা insert করবেন তা বলতে হবে। চলুন প্রথমে route এ ফর্ম এর action url টা বলে দেই।

Route::post('/process','homeController@process');

ঠিক নিচের ছবির মতো:

laravel route for insert form data

laravel route for insert form data

নোট: আপনার ফর্ম এর action কিন্তু /process থাকতে হবে। ঠিক নিচের ছবির মতো:

form action

form action

এখন homeController এ process নামে একটা মেথড তৈরী করব , সেখানে ডাটাবেসে ডাটা insert করার জন্য Database query লিখব। তবে তার আগে আপনাকে আপনার homeController Class শুরুর আগে use DB; এই namespace টি যোগ করতে হবে। ঠিক নিচের মতো :

Laravel Connection Namespace

Laravel Connection Namespace

এবার চলুন homeController এ process মেথডে প্রথমে ফর্ম এর ডাটা গুলো রিসিভ করব , তারপর ডাটাবেসে ডাটা insert এর ব্যবস্থা করব।

  public function process(){
        extract($_REQUEST);
        $result=DB::table('students')->insert(
    ["name" => "$name", "mobile" =>"$mobile", "address"=>"$address"]
);
        if($result){
            echo "Insert Success";
        }
        else{
            echo "Insert Fail";
        }
    }

এখন ফর্মে ডাটা insert করলে , ঠিক নিচের মতো আউটপুট আসবে।

form data insert success

form data insert success

এইবার একটু উপরের কোড টুকু ব্যাখ্যা করা যাক:

এখানে process method এর দ্বিতীয় লাইনে আমরা $_REQUEST super global variable এর মাধ্যমে Form এর value গুলো receive করি। আর তৃতীয় লাইনে laravel এর DB class এর table method দিয়ে যেই টেবিলে ডাটা insert করব সেটি সিলেক্ট করি। এবং Insert method এ যেই ডাটাগুলো table এ ঢুকাবো তা একটা associative array আকারে দিয়ে দেই। এ ক্ষেত্রে ঐ array এর index গুলো হবে আমাদের টেবিল এর কলাম গুলো, এবং আর array এর index এর ভ্যালু হবে আমাদের ফর্ম থেকে আসা value গুলো।

ধাপ ৩: Database table থেকে Data show

Data Insert এর কাজতো হলো, এবার আমাদের কাজ হচ্ছে Database Table থেকে ডাটা গুলো tabulize আকারে প্রদর্শন করা। আর এই কাজটি করার জন্য আপনাকে আবারো তিনটি কাজ করতে হবে, আর সেটি হচ্ছে route এ URL ঠিক করে দিতে হবে, এবং বলে দিতে হবে Controller এর কোন method এ কাজ গুলো করবেন। এবং সর্বেশেষে যেই view file দিয়ে Database table এর data গুলো প্রদর্শন করবেন , তা তৈরী করতে হবে।

তাহলে চলুন প্রথমে route এর কাজটি সেরে নেই।

আপনার route ফাইল web.php তে নিচের কোডটি লিখে দিন।

Route::get('/view','homeController@getTable');

এখন আমরা homeController এর getTable Method এ Database থেকে ডাটা প্রদর্শনের কাজটি করব। তো চলুন , getTable Method এর কাজটি করে ফেলা যাক। এখন আপনি আপনার homeController Class এ নিচের কোডটি লিখে দিন।

    public function getTable(){
        $fetchData = DB::select('select * from students');
        $students=['data'=>$fetchData];
        return view("getTable",$students);
    }

এইবার উপরের কোডের একটু ব্যাখ্যা করা যাক:

এখানে দুই নম্বর লাইনে আমরা লারাভেলের DB Class এর Select Method দিয়ে Database এর table থেকে Data show করি। আর তিন নম্বর লাইনে ডাটাবেস থেকে আসা ডাটা গুলোকে একটা array আকারে সংরক্ষণ করি। আর সর্বশেষে ৪ নম্বর লাইনে getTable.php ফাইল এ যেন ডাটা গুলো প্রদর্শন করতে পারি , তারজন্য ঐ getTable.php view ফাইলে ডাটা পাঠানোর ব্যবস্থা করি।

route এবং Controller এর কাজ শেষ , এখন আমাদের কাজ হচ্ছে resources/views ফোল্ডারে getTable.php ফাইলে কাজ করা।

তো চলুন শুরু করা যাক, আপনি getTable নিচের কোড টি paste করুন :

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Table</title>
  </head>
  <body>
  	<div class="container row">
  <table class="table table-bordered table-hover table-striped table-condensed table-responsive">
  	<tr>
  		<?php
  			foreach($data[0] as $key=>$value){
  				echo "<th>".ucfirst($key)."</th>";
  			}
        echo "<th>Action</th>";
  		?>
  	</tr>
  	<?php
    $count=1;
  	foreach($data as $rows){
  		echo "<tr>";
  			foreach($rows as $val){
  				echo "<td>$val</td>";
          $count++;
  			}
        $id=$rows->id;
        echo "<td><a class=\"btn btn-info\" href=\"/edit/$id\">Edit</a>  <a class=\"btn btn-danger\" href=\"/delete/$id\">Delete</a></td>";
  		echo "</tr>";
  	}
  	?>
    <tr>
        <td colspan="<?=$count;?>" class="text-center"><a href="/form" class="btn btn-primary">Add New Student</a></td>
    </tr>
  </table>
</div>
  </body>
</html>

এইবার একটু ব্যাখ্যাই আসা যাক:

  • এখানে ১৮ নম্বর লাইনে আমরা Database table কলাম গুলো প্রদর্শনের জন্য table এর colum head গুলো নিয়েছি। যেগুলো আমাদের database table এর column গুলো দিয়ে dynamically table এর column head তৈরী করবে। এবং ২১ নম্বর লাইনে অতিরিক্ত একটা Action নামে column head নিয়েছি , যেন আমরা রো গুলোকে এডিট এবং ডিলেট করতে পারি।
  • ২৫ নম্বর লাইনে আমরা একটা counter যোগ করেছি , যেটা পরবর্তীতে আমাদের যত গুলো কলাম dynamically তৈরী হবে, সেই সাথে ৩০ নম্বর লাইনে এই counter টি ও বৃদ্ধি থাকতে থাকবে। আর এই counter টি পরবর্তীতে আমরা “Add New Student” বাটন যোগ করার জন্য যেই td নিবো , তার callspan এর জন্য ব্যবহার করেছি ।
  • ৩২ নম্বর লাইনে আমরা ডাটাবেস টেবিল এর প্রত্যিকটি রো এর id নিয়ে রেখেছি , যা আমরা ৩৩ নম্বর লাইনে আমাদের edit এবং delete বাটন এর হাইপার লিংকে ব্যবহার করেছি, যেন এই Id দিয়ে চাইলে প্রত্যেকটি রো কে edit করতে পারি।

এখন যদি আপনি আপনার browser এ http://localhost:8000/view লিখেন, তাহলে নিচের মতো রেজাল্ট দেখতে পারবেন।

Tabulize Data with Laravel

Tabulize Data with Laravel

ধাপ ৪: Database table এর Data Update

লারাভেল দিয়ে Database এর Data edit বা Update করার জন্য আমরা আগেই প্রতিটা রো এর ডান পাশে একটা edit button যুক্ত করে রেখেছি , এবং সেই edit বাটন এর সাথে /edit URL এর সাথে একটা Id ও pass করার ব্যবস্থা করে রেখেছি। এখন আপনাকে আপনার route এ প্রথমে edit url টি ঠিক করে দিতে হবে। এর জন্য আপনার web.php তে নিচের কোডটুকু লিখে দিন :

Route::get('/edit/{id}','homeController@edit');

route এর কাজ শেষ , এইবার আমরা ডাটাবেস এর টেবিল থেকে নির্দিষ্ট Id এর বিপরীতে একটা নির্দিষ্ট টেবিল রো সিলেক্ট করার জন্য আমাদের homeController এ edit নামে একটা Method তৈরী করব। তাহলে চলুন edit method এর কোড কেমন হবে দেখা যাক:

    public function edit(Request $r){
        $id= $r->segment(2);
        $fetchData = DB::select("select * from students WHERE id=$id");
        $fetchData=(array)$fetchData[0];
       return view("edit",$fetchData);  
    }

edit Method এর ব্যাখ্যা:

প্রথমে আমরা ফাঙ্কশনের প্যারামিটার হিসেবে লারাভেল এর Request ক্লাস এর object নিয়েছি যেন আমরা URL এর Data রিসিভ করতে পারি। লাইন নম্বর দুইয়ে আমরা URL এর দুই নম্বর segment অর্থাৎ আমাদের পাঠানো Id কে রিসিভ করেছি। এবং ৩ নম্বর লাইনে আমরা আমাদের রিসিভ করা আইডি এর বিপরীতে ডাটাবেস এর টেবিল থেকে একটা রো সিলেক্ট করি। আর যেহেতো ডাটাবেস টেবিল থেকে আসা ডাটা গুলো by default অবজেক্ট আকারে থাকে , তাই ৪ নম্বর লাইনে আমরা এটাকে এরে তে টাইপ কাস্টিং করি।

এবার এইবার ডাটাবেস থেকে আসা ডাটা একটা form এ প্রদর্শনের জন্য আমরা resources/views/ ফোল্ডারে edit.php নামে একটা form তৈরী করতে হবে। তো চলুন resources/views/ ফোল্ডারে edit.php নামে একটা ফাইল তৈরী করা যাক :

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  <title>Sign Up Form with live validation</title>
  <style>
body {
  background: #384047;
  font-family: sans-serif;
  font-size: 10px;
}

form {
  background: #fff;
  padding: 4em 4em 2em;
  max-width: 400px;
  margin: 50px auto 0;
  box-shadow: 0 0 1em #222;
  border-radius: 2px;
}
form h2 {
  margin: 0 0 50px 0;
  padding: 10px;
  text-align: center;
  font-size: 30px;
  color: #666666;
  border-bottom: solid 1px #e5e5e5;
}
form p {
  margin: 0 0 3em 0;
  position: relative;
}
form input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  outline: none;
  margin: 0;
}
form input[type="text"],
form input[type="password"] {
  background: #fff;
  border: 1px solid #dbdbdb;
  font-size: 1.6em;
  padding: .8em .5em;
  border-radius: 2px;
}
form input[type="text"]:focus,
form input[type="password"]:focus {
  background: #fff;
}
form span {
  display: block;
  background: #F9A5A5;
  padding: 2px 5px;
  color: #666;
}
form input[type="submit"] {
  background: rgba(148, 186, 101, 0.7);
  box-shadow: 0 3px 0 0 rgba(123, 163, 73, 0.7);
  border-radius: 2px;
  border: none;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 2em;
  line-height: 1.6em;
  margin: 2em 0 0;
  outline: none;
  padding: .8em 0;
  text-shadow: 0 1px #68B25B;
}
form input[type="submit"]:hover {
  background: #94af65;
  text-shadow: 0 1px 3px rgba(70, 93, 41, 0.7);
}
form label {
  position: absolute;
  left: 8px;
  top: 12px;
  color: #999;
  font-size: 16px;
  display: inline-block;
  padding: 4px 10px;
  font-weight: 400;
  background-color: rgba(255, 255, 255, 0);
  -moz-transition: color 0.3s, top 0.3s, background-color 0.8s;
  -o-transition: color 0.3s, top 0.3s, background-color 0.8s;
  -webkit-transition: color 0.3s, top 0.3s, background-color 0.8s;
  transition: color 0.3s, top 0.3s, background-color 0.8s;
}
form label.floatLabel {
  top: -11px;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
}

  </style>
</head>
<body>
<form action="/editprocess/<?=$id;?>" method="post">

  <h2>Sign Up</h2> 
		<p>
			<label for="Name" class="floatLabel">Name</label>
			<input id="name" name="name" value="<?=$name??'';?>" type="text">
		</p>
		<p>
			<label for="Mobile" class="floatLabel">Mobile</label>
			<input id="mobile" name="mobile" value="<?=$mobile??'';?>" type="text">
		</p>
		<p>
			<label for="Address" class="floatLabel">Address</label>
			<textarea name="address" rows="5" cols="50"><?=$address??'';?></textarea>
		</p>
		<p>
       <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
			<input type="submit" value="Create My Account" id="submit">
		</p>
	</form>
</body>
</html>

এইবার একটু ব্যাখ্যা আসা যাক:

প্রথমে ১০৪ নম্বর লাইনে form এর action=”/editprocess” রেখেছি , পরবর্তীতে আমরা এই URL টি কে route এ ডিফাইন করব। এবং এই URL এর বিপরীতে Controller এর কোন Method আপডেট এর কাজ করবে তাও বলে দিবো। তারপর ১০৯, ১১৩ এবং ১১৭ নম্বর লাইনে আমরা homeController Class এর মাধ্যমে ডাটাবেস থেকে আসা ডাটা গুলোকে input field গুলোতে প্রদর্শনের জন্য echo করে রাখছি , আর ১২০ নম্বর লাইনে Database table এর রো এর unique id কে হিডেন আকারে পাঠানোর জন্য form এর input type কে হিডেন রেখেছি, কারণ পরবর্তীতে এই id কে ধরেই Database table এর রো কে আপডেট করব।

এখন যদি আপনি edit button এ ক্লিক করেন , তাহলে নিচের মতো রেজাল্ট দেখতে পাবেন :

Laravel Edit Form

Laravel Edit Form

মোটামোটি সব কাজ শেষ এখন শুধু আমাদের ফরম এর action কে route এ ডিফাইন করে দিবো , এবং আমাদের homeController Class এ Database এর রো কে আপডেট করার জন্য editprocess নামে একটা method বানাবো। তো চলুন কাজ দুটি শেষ করে ফেলা যাক :

    public function editprocess($id){
        extract($_REQUEST);
        $result=DB::table('students')
            ->where('id', $id)
            ->update(["name"=>"$name","mobile"=>"$mobile","address"=>"$address"]);
        if($result){
            echo "Update Success";
        }
        else{
            echo "Update Fail";
        }
    }

এইবার একটু উপরের কোড টুকু ব্যাখ্যা করা যাক:

এখানে editprocess method এ $id নামে একটা প্যারামিটার নেই , যেন এই ID এর বিপরীতে আমরা ফর্ম এর ডাটা গুলো আপডেট করতে পারি। আর দ্বিতীয় লাইনে আমরা $_REQUEST super global variable এর মাধ্যমে Form এর value গুলো receive করি। আর তৃতীয় লাইনে laravel এর DB class এর table method দিয়ে যেই টেবিলে ডাটা update করব সেটি সিলেক্ট করি। ৪ নম্বর লাইনে আমরা যেই রো কে update করব , সেটি সিলেক্ট করি ,এবং Update method এ যেই ডাটাগুলো table এ আপডেট করব তা একটা associative array আকারে দিয়ে দেই। এ ক্ষেত্রে ঐ array এর index গুলো হবে আমাদের টেবিল এর কলাম গুলো, এবং আর array এর index এর ভ্যালু হবে আমাদের ফর্ম থেকে আসা value গুলো।

সব শেষ , এখন শুধু আপনাকে route এ Update URL টা ঠিক করে দিতে হবে, কাজটা করতে নিচের কোড টুকু আপনার routes/web.php তে paste করে আসুন।

Route::post('/editprocess/{id}','homeController@editprocess');

এখন যদি আপনি edit form টি সাবমিট করেন , তাহলে নিচের মতো আউটপুট দেখতে পাবেন:

update laravel data

update laravel data

Masud Alam
আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ৮ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। বিশেষ ভাবে বাংলাদেশের ১০০ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ৫২ জন ই আমার হাতে জেন্ড সার্টিফাইড হয়েছে। বর্তমানে TechBeeo Software Company তে সিইও হিসাবে আছি । পাশাপাশি w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -7 Engineering কোর্স করাই। আর w3programmers.com সাইট টি আমার।
One comment to “বাংলায় PHP LARAVEL FRAMEWORK পর্ব-২৩: Simple CRUD with Laravel”

Leave a Reply