แนวคิด 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 ผู้แต่งจะปรากฏให้คุณเห็นดังนี้:

ตอนนี้คุณพร้อมที่จะติดตั้งโครงการ Laravel แล้ว โปรดทำตามขั้นตอนด้านล่าง:
ก่อนอื่นต้องเข้าไปที่เว็บไซต์ทางการของ Laravel: https://laravel.com/docs/
ที่นี่คุณสามารถเลือกเวอร์ชันใดก็ได้ที่คุณต้องการใช้งาน:

เลือกเวอร์ชันของแอปแล้วเลื่อนลงไปคุณจะเห็นคำสั่งดังที่แสดงด้านล่าง:
นักแต่งเพลง create-project --prefer-dist laravel/laravel บล็อก "5.8.*"

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

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


ขั้นตอนที่ 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


ทรัพยากร/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

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

ห่อ
ในบล็อกนี้ ฉันได้แนะนำคุณเกี่ยวกับแนวคิด OOPs ซึ่งเป็นกระบวนทัศน์การเขียนโปรแกรมพื้นฐาน มีการอธิบายหลักการสำคัญของ OOP ด้วย บล็อกยังอธิบายขั้นตอนทีละขั้นตอนเพื่อสร้างการดำเนินการ crud ใน laravel
โปรแกรมขนาดใหญ่นั้นเขียนยาก แต่ถ้าทีมพัฒนาและออกแบบปฏิบัติตามหลักการเชิงวัตถุ พวกเขาจะสามารถสร้างการออกแบบที่ดีขึ้นโดยมีข้อบกพร่องน้อยลง เนื่องจากแต่ละอ็อบเจ็กต์มีอยู่ในตัวของมันเอง จึงช่วยเพิ่มโมดูลาร์ของโปรแกรมได้
ฉันหวังว่าบล็อกนี้จะเป็นประโยชน์สำหรับคุณ คุณสามารถเยี่ยมชม www.webdew.com เพื่ออ่านบล็อกเพิ่มเติม และหากคุณกำลังมองหาบริการออกแบบเว็บไซต์หรือพัฒนาเว็บไซต์ โปรดติดต่อเรา!
บรรณาธิการ: อมฤตา
