แนวคิด OOP คืออะไร? คุณจะสร้างการดำเนินการ crud ได้อย่างไร?

เผยแพร่แล้ว: 2022-04-28

นักพัฒนาซอฟต์แวร์ทุกคนเคยใช้การเขียนโปรแกรมเชิงวัตถุ (OOP) มาบ้างแล้วในอาชีพของตน และถือเป็นกระบวนทัศน์การเขียนโปรแกรมพื้นฐาน เมื่อใช้ OOP เป้าหมายหลักคือการผูกข้อมูลและฟังก์ชันต่างๆ เข้าด้วยกันอย่างปลอดภัย ป้องกันไม่ให้ส่วนอื่นของโค้ดเข้าถึงข้อมูลนั้น

เคล็ดลับการจัดการโครงการเว็บเพื่อการพัฒนาเว็บที่ประสบความสำเร็จ

ในบล็อกนี้ ฉันจะอธิบายหลักการของแนวคิด oop และวิธีการสร้างการดำเนินการ crud ด้วย laravel ซึ่งเป็นที่รู้จักกันดีในการพัฒนาเว็บ

OOP คืออะไร?

Object-Oriented Programming system (OOPs) เป็นแนวทางในการพัฒนาซอฟต์แวร์ที่จำลองแอปพลิเคชันรอบวัตถุในโลกแห่งความเป็นจริง เช่น พนักงาน รถยนต์ บัญชีธนาคาร ฯลฯ

แนวคิด OOP ทั่วไปสองประการใน Java คือคลาสและอ็อบเจ็กต์ คลาสกำหนดคุณสมบัติและเมธอดของอ็อบเจกต์ในโลกแห่งความเป็นจริง ในขณะที่อ็อบเจกต์เป็นคลาสที่เกิดขึ้น

มีองค์ประกอบพื้นฐานสามประการของการวางแนววัตถุ เหล่านี้คือ:

  • การวิเคราะห์เชิงวัตถุ – การทำงานของระบบ
  • การออกแบบเชิงวัตถุ – สถาปัตยกรรมของระบบ
  • การเขียนโปรแกรมเชิงวัตถุ – การใช้งานแอพพลิเคชั่น

หลักการสำคัญของ OOP

ขอแนะนำให้คุณรู้จักหลักการสำคัญสามประการของ OOP

การห่อหุ้ม

การลดความซับซ้อนในการพัฒนาซอฟต์แวร์เป็นจุดประสงค์หลักของการห่อหุ้ม ทำได้โดยการซ่อนรายละเอียดการใช้งานและเปิดเผยเฉพาะการดำเนินการ ดังนั้นการใช้คลาสจะง่ายขึ้น

ด้วยเมธอดเช่น get and set การเข้าถึงตัวแปรคลาสทำให้คลาสง่ายต่อการบำรุงรักษาและยืดหยุ่นเพื่อให้สถานะภายในของอ็อบเจ็กต์ได้รับการปกป้อง ด้วยวิธีนี้ โดยไม่ต้องกังวลเกี่ยวกับการทำลายโค้ด การใช้งานภายในของคลาสฐานสามารถเปลี่ยนแปลงได้

มรดก

การนำกลับมาใช้ใหม่เป็นจุดประสงค์หลักของการสืบทอด ในที่นี้เกี่ยวกับความสัมพันธ์ระหว่างชั้นเรียน คลาสต่างๆ สามารถใช้เมธอดที่กำหนดไว้เพื่อสืบทอดจากคลาสพาเรนต์

ตัวอย่างเช่น เมื่อคุณต้องจัดเตรียมฟังก์ชันการทำงานทั่วไป เช่น การเพิ่ม อัปเดต และลบข้อมูลออกจากฐานข้อมูล การสืบทอดอาจมีประโยชน์มาก

ความหลากหลาย

เพื่อทำให้การรักษาแอปพลิเคชันง่ายขึ้นและทำให้ขยายได้มากขึ้นคือจุดประสงค์ของความหลากหลาย เกี่ยวข้องกับการมีวิธีการใช้งานที่แตกต่างกันสำหรับแบบฟอร์มเดียว

จะสร้างการดำเนินการ crud ด้วย laravel ได้อย่างไร?

Laravel เป็นเฟรมเวิร์กเว็บแอปพลิเคชันแบบโอเพ่นซอร์สพร้อมไวยากรณ์ที่แสดงออกและสวยงาม เว็บเฟรมเวิร์กมีโครงสร้างและจุดเริ่มต้นในการสร้างแอปพลิเคชัน ให้คุณมุ่งเน้นไปที่ประเด็นหลัก

ในฐานะเฟรมเวิร์ก PHP Laravel รองรับการเขียนโปรแกรมเชิงวัตถุ รูปแบบการออกแบบ model view controller (MVC) ถูกใช้โดย Laravel เพื่อสร้างแอปพลิเคชัน

PHP รองรับการเขียนโปรแกรมเชิงวัตถุ ซึ่งทำได้เร็วกว่าและง่ายกว่าภาษาโปรแกรมทั่วไป Php4 เป็น PHP เวอร์ชันแรกที่มีการเขียนโปรแกรมเชิงวัตถุ (OOP) เมื่อพูดถึงการเข้ารหัส การเขียนโปรแกรมเชิงวัตถุเป็นเทคนิคที่ช่วยให้นักพัฒนาจัดเรียงข้อมูลและโครงสร้างของแอปพลิเคชันออกเป็นคลาสต่างๆ

ตอนนี้เราจะมาดูวิธีการสร้างการดำเนินการ crud ( Create , Read , Update and Delete )

ในการเริ่มต้นด้วยภาษาการเขียนโปรแกรมใดๆ คุณควรมีความรู้พื้นฐานเกี่ยวกับภาษาใดก็ตามที่คุณจะเริ่มต้น ดังนั้นฉันจึงเริ่มด้วย Laravel ซึ่งมีชื่อเสียงมากในการพัฒนาเว็บ

ขั้นตอนที่ 1: ขั้นตอนแรกคือการติดตั้งโครงการ Laravel คุณสามารถดาวน์โหลด Laravel เวอร์ชันใดก็ได้ ที่นี่ฉันได้แชร์ด้านล่างเว็บไซต์ทางการของ Laravel:

https://laravel.com/docs/8.x/installation#why-laravel

คุณสามารถติดตั้งโดยใช้ผู้แต่ง หรือเพียงแค่ติดตั้งโฟลเดอร์และเก็บไว้ในโฟลเดอร์ htdocs ของคุณ

คุณสามารถดาวน์โหลดผู้แต่งได้ตามขั้นตอนที่ระบุในลิงค์ด้านล่าง:

https://getcomposer.org/download/  

คุณสามารถตรวจสอบว่า Composer ติดตั้งอยู่ในระบบของคุณหรือไม่โดยเปิด CMD (พร้อมท์คำสั่ง) แล้วพิมพ์ composer แล้วกด Enter ผู้แต่งจะปรากฏให้คุณเห็นดังนี้:

วิธีสร้างการดำเนินการ crud ด้วย laravel ขั้นตอนที่ 1

ตอนนี้คุณพร้อมที่จะติดตั้งโครงการ Laravel แล้ว โปรดทำตามขั้นตอนด้านล่าง:

ก่อนอื่นต้องเข้าไปที่เว็บไซต์ทางการของ Laravel: https://laravel.com/docs/

ที่นี่คุณสามารถเลือกเวอร์ชันใดก็ได้ที่คุณต้องการใช้งาน:

การติดตั้ง Laravel

เลือกเวอร์ชันของแอปแล้วเลื่อนลงไปคุณจะเห็นคำสั่งดังที่แสดงด้านล่าง:

นักแต่งเพลง create-project --prefer-dist laravel/laravel บล็อก "5.8.*"

นักแต่งเพลงสร้างโครงการ

โปรดใช้คำสั่งนี้ในแผง cmd ของคุณและเมื่อคุณกดคำสั่งนี้ โครงการของคุณจะเริ่มดาวน์โหลด

ตรวจสอบให้แน่ใจว่าคุณกำลังดาวน์โหลดในโฟลเดอร์ htdocs:

กำลังดาวน์โหลดใน htdocs forlder จะใช้เวลาสองสามนาที และเมื่อดาวน์โหลดโครงการแล้ว คุณจะเห็นโครงสร้างโฟลเดอร์ดังแสดงในภาพด้านล่าง:

ดาวน์โหลดโครงการ

ขั้นตอนที่ 2: อัปเดตการกำหนดค่าฐานข้อมูล

ในขั้นตอนที่สอง คุณจะทำการกำหนดค่าฐานข้อมูล ตัวอย่างเช่น ชื่อฐานข้อมูล ชื่อผู้ใช้ รหัสผ่าน ฯลฯ สำหรับแอปพลิเคชัน crud ของ Laravel 5.8 ตอนนี้คุณต้องเปิดไฟล์ .env และกรอกรายละเอียดทั้งหมดดังที่แสดงด้านล่าง:

อัปเดต-การกำหนดค่าฐานข้อมูล 1อัปเดต-การกำหนดค่าฐานข้อมูล2

ขั้นตอนที่ 3: ขั้นตอนต่อไปคือการสร้างตาราง

คุณกำลังจะสร้างแอปพลิเคชัน crud สำหรับผลิตภัณฑ์ ดังนั้น คุณต้องสร้างการโยกย้ายสำหรับตาราง "ผลิตภัณฑ์" โดยใช้คำสั่ง Laravel 5.8 PHP artisan

ขั้นแรก รันคำสั่งนี้ในไดเร็กทอรีโครงการของคุณ:

php ช่างทำ make:migration create_products_table --create=products

สร้างตาราง คุณสามารถดูการโยกย้ายที่เพิ่งสร้างขึ้นได้ที่นี่:

สร้างการโยกย้าย เปิดไฟล์การโยกย้ายของคุณและวางที่กล่าวถึงด้านล่าง:

ไฟล์การโยกย้าย

<?php

ใช้ Illuminate\Support\Facades\Schema;

ใช้ Illuminate\Database\Schema\Blueprint;

ใช้ Illuminate\Database\Migrations\Migration;

คลาส CreateProductsTable ขยายการโยกย้าย

{

ฟังก์ชั่นสาธารณะขึ้น ()

{

สคีมา::create('products', function (พิมพ์เขียว $table) {

$table->increments('id');

$table->string('name');

$table->text('รายละเอียด');

$table->ประทับเวลา();

});

}

ฟังก์ชั่นสาธารณะลง ()

{

สคีมา::dropIfExists('products');

}

}



ตอนนี้คุณต้องรันคำสั่ง :php artisan migrate และเมื่อคุณเรียกใช้คำสั่งนี้ ตารางของคุณจะถูกสร้างขึ้นในฐานข้อมูล

ขั้นตอนที่ 4: สร้างเส้นทางทรัพยากร

ที่นี่ เราจำเป็นต้องเพิ่มเส้นทางทรัพยากรสำหรับแอปพลิเคชัน crud ผลิตภัณฑ์ ในการดำเนินการนี้ ให้เปิดไฟล์ “routes/web.php” และเพิ่มเส้นทางต่อไปนี้

เส้นทาง/web.php

สร้างเส้นทางทรัพยากร

เส้นทาง :: ทรัพยากร ('ผลิตภัณฑ์', 'ตัวควบคุมผลิตภัณฑ์');

วิธีการใช้การชำระเงินแบบเป็นงวดด้วยแถบ: คู่มือฉบับสมบูรณ์

ขั้นตอนที่ 5: สร้างคอนโทรลเลอร์และโมเดล

ในขั้นตอนนี้ เราควรสร้างคอนโทรลเลอร์ใหม่เป็น ProductController รันคำสั่งด้านล่างและสร้างคอนโทรลเลอร์ใหม่ ใช้ตัวควบคุมใหม่เพื่อสร้างตัวควบคุมทรัพยากร

php ช่างฝีมือ make:controller ProductController --resource --model=Product

<?php

เนมสเปซ App\Http\Controllers;

ใช้ App\Product;

ใช้ Illuminate\Http\Request;

คลาส ProductController ขยาย Controller

{

ดัชนีฟังก์ชันสาธารณะ ()

{

$products = สินค้า::latest()->paginate(5);

มุมมองการส่งคืน ('products.index', กะทัดรัด ('products'))

->with('i', (request()->input('page', 1) - 1) * 5);

}

สร้างฟังก์ชั่นสาธารณะ ()

{

มุมมองย้อนกลับ ('products.create');

}

ที่เก็บฟังก์ชั่นสาธารณะ (Request $request)

{

$request->ตรวจสอบ([

'name' => 'จำเป็น',

'รายละเอียด' => 'จำเป็น',

]);

สินค้า::create($request->all());

ส่งคืนการเปลี่ยนเส้นทาง () -> เส้นทาง ('products.index')

->with('success','Product createdเรียบร้อยแล้ว');

}

การแสดงงานสาธารณะ (Product $product)

{

มุมมองย้อนกลับ ('products.show', กะทัดรัด ('product'));

}

แก้ไขฟังก์ชันสาธารณะ (Product $product)

{

มุมมองย้อนกลับ ('products.edit', กะทัดรัด ('product'));

}

อัปเดตฟังก์ชันสาธารณะ (ขอ $request, Product $product)

{

$request->ตรวจสอบ([

'name' => 'จำเป็น',

'รายละเอียด' => 'จำเป็น',

]);

$product->update($request->all()); $product->อัปเดต($request->ทั้งหมด());

ส่งคืนการเปลี่ยนเส้นทาง () -> เส้นทาง ('products.index')

->with('success','Product updatedเรียบร้อยแล้ว');

}

ฟังก์ชั่นสาธารณะทำลาย(Product $product)

{

$product->delete();

ส่งคืนการเปลี่ยนเส้นทาง () -> เส้นทาง ('products.index')

->with('success','Productที่ถูกลบเรียบร้อยแล้ว');

}

}

โมเดลของคุณจะมีลักษณะดังแสดงในภาพด้านล่าง

แบบอย่าง

ขั้นตอนที่ 6: สร้างไฟล์เบลด

โฟลเดอร์: resources/views/products/layout.blade.php

ทรัพยากร/views/products/index.blade.php

สร้างไฟล์เบลด1

สร้างไฟล์เบลด2

ทรัพยากร/views/products/create.blade.php

@extends('products.layout')

@section('เนื้อหา')

<div class="row">

<div class="col-lg-12 margin-tb">

<div class="pull-left">

<h2>เพิ่มผลิตภัณฑ์ใหม่</h2>

</div>

<div class="pull-right">

<a class="btn btn-primary" href=""> ย้อนกลับ</a>

</div>

</div>

</div>

@if ($errors->any())

<div class="alert alert-danger">

<strong>อ๊ะ!</strong> ข้อมูลที่คุณป้อนมีปัญหา<br><br>

<ul>

@foreach ($errors->all() เป็น $error)

<li></li>

@endforeach

</ul>

</div>

@endif

<form action="" method="POST">

@csrf

<div class="row">

<div class="col-xs-12 col-sm-12 col-md-12">

<div class="form-group">

<strong>ชื่อ:</strong>

<input type="text" name="name" class="form-control" placeholder="Name">

</div>

</div>

<div class="col-xs-12 col-sm-12 col-md-12">

<div class="form-group">

<strong>รายละเอียด:</strong>

<textarea class="form-control" name="detail" placeholder="Detail"></textarea>

</div>

</div>

<div class="col-xs-12 col-sm-12 col-md-12 text-center">

<button type="submit" class="btn btn-primary">ส่ง</button>

</div>

</div>

</form>

@endsection

แหล่งข้อมูล/views/products/edit.blade.php

@extends('products.layout')

@section('เนื้อหา')

<div class="row">

<div class="col-lg-12 margin-tb">

<div class="pull-left">

<h2>แก้ไขผลิตภัณฑ์</h2>

</div>

<div class="pull-right">

<a class="btn btn-primary" href=""> ย้อนกลับ</a>

</div>

</div>

</div>

@if ($errors->any())

<div class="alert alert-danger">

<strong>อ๊ะ!</strong> ข้อมูลที่คุณป้อนมีปัญหา<br><br>

<ul>

@foreach ($errors->all() เป็น $error)

<li></li>

@endforeach

</ul>

</div>

@endif

<form action="" method="POST">

@csrf

@วิธี('ใส่')

<div class="row">

<div class="col-xs-12 col-sm-12 col-md-12">

<div class="form-group">

<strong>ชื่อ:</strong>

<input type="text" name="name" value="" class="form-control" placeholder="Name">

</div>

</div>

<div class="col-xs-12 col-sm-12 col-md-12">

<div class="form-group">

<strong>รายละเอียด:</strong>

<textarea class="form-control" name="detail" placeholder="Detail"></textarea>

</div>

</div>

<div class="col-xs-12 col-sm-12 col-md-12 text-center">

<button type="submit" class="btn btn-primary">ส่ง</button>

</div>

</div>

</form>

@endsection

แหล่งข้อมูล/views/products/show.blade.php

สร้างไฟล์เบลด3

เมื่อคุณทำโค้ดทั้งหมดเสร็จแล้ว สิ่งที่คุณต้องทำคือเรียกใช้คำสั่งเดียวใน cmd ของคุณ

รันคำสั่งบน cmd

ห่อ

ในบล็อกนี้ ฉันได้แนะนำคุณเกี่ยวกับแนวคิด OOPs ซึ่งเป็นกระบวนทัศน์การเขียนโปรแกรมพื้นฐาน มีการอธิบายหลักการสำคัญของ OOP ด้วย บล็อกยังอธิบายขั้นตอนทีละขั้นตอนเพื่อสร้างการดำเนินการ crud ใน laravel

โปรแกรมขนาดใหญ่นั้นเขียนยาก แต่ถ้าทีมพัฒนาและออกแบบปฏิบัติตามหลักการเชิงวัตถุ พวกเขาจะสามารถสร้างการออกแบบที่ดีขึ้นโดยมีข้อบกพร่องน้อยลง เนื่องจากแต่ละอ็อบเจ็กต์มีอยู่ในตัวของมันเอง จึงช่วยเพิ่มโมดูลาร์ของโปรแกรมได้

ฉันหวังว่าบล็อกนี้จะเป็นประโยชน์สำหรับคุณ คุณสามารถเยี่ยมชม www.webdew.com เพื่ออ่านบล็อกเพิ่มเติม และหากคุณกำลังมองหาบริการออกแบบเว็บไซต์หรือพัฒนาเว็บไซต์ โปรดติดต่อเรา!

บรรณาธิการ: อมฤตา