什麼是 OOP 概念? 如何創建一個 crud 操作?
已發表: 2022-04-28每個開發人員在其職業生涯的某個時候都使用過面向對象編程 (OOP),它被認為是一種基本的編程範式。 使用 OOP 時,主要目標是將數據和對其執行操作的函數安全地綁定在一起,防止任何其他代碼部分訪問該信息。

在這篇博客中,我將解釋 oop 概念的原理,以及如何使用 web 開發中眾所周知的 laravel 創建一個 crud 操作。
什麼是 OOP?
面向對象編程系統 (OOP) 是一種軟件開發方法,它圍繞真實世界的對象(例如員工、汽車、銀行賬戶等)對應用程序進行建模。
Java 中的兩個通用 OOP 概念是類和對象。 一個類定義了一個真實世界對象的屬性和方法,而一個對像是一個類的出現。
面向對像有三個基本組成部分。 這些都是:
- 面向對象的分析——系統的功能
- 面向對象設計——系統架構
- 面向對象編程——應用程序的實現
OOP的主要原則
讓我向您介紹OOP的三大原則。
封裝
降低軟件開發的複雜性是封裝的主要目的。 它是通過隱藏實現細節並僅顯示操作來實現的。 因此使用類變得更容易。
通過 get 和 set 等方法,對類變量的訪問使類易於維護和靈活,從而保護對象的內部狀態。 這樣,無需擔心破壞代碼,就可以更改基類的內部實現。
遺產
可重用性是繼承的主要目的。 在這裡,它關注類之間的關係。 各種類都可以使用定義的方法從父類繼承。
例如,如果您必須提供常見的功能,例如從數據庫中添加、更新和刪除數據,那麼繼承就非常有用。
多態性
簡化維護應用程序並使它們更具可擴展性是多態性的目的。 它涉及單個表單的不同實現方式。
如何使用 laravel 創建一個 crud 操作?
Laravel 是具有表現力、優雅語法的開源 Web 應用程序框架。 Web 框架提供了創建應用程序的結構和起點,讓您專注於主要方面。
作為一個 PHP 框架,Laravel 支持面向對象的編程。 Laravel 使用模型視圖控制器(MVC)設計模式來創建其應用程序。
php支持面向對象的編程,比傳統的編程語言更快更容易執行。 Php4 是第一個包含面向對象編程 (OOP) 的 PHP 版本。 在編碼方面,面向對象編程是一種允許開發人員將應用程序的數據和結構安排到類中的技術。
我們現在將看到如何創建一個 crud 操作(創建、讀取、更新和刪除)。
要開始使用任何編程語言,您應該對要開始使用的任何一種語言都有基本的了解。 因此,我從 web 開發中非常有名的 Laravel 入手。
第一步:第一步是安裝 Laravel 項目。 你可以下載任何版本的 Laravel。 在這裡,我在 Laravel 官網下面分享了:
https://laravel.com/docs/8.x/installation#why-laravel
您可以使用 composer 安裝它,或者您可以只安裝文件夾並將其保存在您的 htdocs 文件夾中。
您可以使用以下鏈接中給出的步驟下載作曲家:
https://getcomposer.org/download/
您可以通過打開 CMD(命令提示符)並鍵入 composer,然後按 Enter 來驗證您的系統中是否安裝了 Composer。 作曲家將如下所示:

現在您已準備好安裝 Laravel 項目。 為此,請按照以下步驟操作:
首先要訪問 Laravel 的官網:https://laravel.com/docs/
在這裡,您可以選擇要使用的任何版本:

選擇您的應用程序版本並向下滾動到您將看到如下所示的命令:
composer create-project --prefer-dist laravel/laravel 博客“5.8.*”

請在您的 cmd 面板中使用此命令,一旦您點擊此命令,您的項目將開始下載。
確保您在 htdocs 文件夾中下載:
這將需要幾分鐘,下載項目後,您將看到如下圖所示的文件夾結構:

第 2 步:更新數據庫配置
在第二步中,您將進行數據庫配置。 例如,Laravel 5.8 的 crud 應用程序的數據庫名稱、用戶名、密碼等。 因此,現在您必須打開 .env 文件並填寫所有詳細信息,如下所示:


第 3 步:下一步是創建表。
您將為產品創建一個 crud 應用程序。 因此,您必須使用 Laravel 5.8 PHP artisan 命令為“產品”表創建遷移。
首先,在您的項目目錄中運行此命令:
php artisan make:migration create_products_table --create=products
在這裡您可以看到您最近創建的遷移:
打開您的遷移文件並粘貼以下提到的內容:

<?php
使用 Illuminate\Support\Facades\Schema;
使用 Illuminate\Database\Schema\Blueprint;
使用 Illuminate\Database\Migrations\Migration;
類 CreateProductsTable 擴展了遷移
{
公共函數 up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('detail');
$table->timestamps();
});
}
公共函數向下()
{
Schema::dropIfExists('products');
}
}
現在你必須運行命令 :php artisan migrate。 運行此命令後,您的表將在數據庫中創建。
第 4 步:創建資源路由
在這裡,我們需要為產品 crud 應用添加一個資源路由。 為此,請打開您的“routes/web.php”文件並添加以下路由。
路線/web.php

Route::resource('products','ProductController');

第 5 步:創建控制器和模型
在這一步中,我們現在應該創建一個新的控制器作為 ProductController。 所以運行下面的命令並創建一個新的控制器。 使用新控制器創建資源控制器。
php artisan make:controller ProductController --resource --model=Product
<?php
命名空間 App\Http\Controllers;
使用應用\產品;
使用 Illuminate\Http\Request;
類 ProductController 擴展控制器
{
公共函數索引()
{
$products = Product::latest()->paginate(5);
返回視圖('products.index',compact('products'))
->with('i', (request()->input('page', 1) - 1) * 5);
}
公共函數創建()
{
返回視圖('products.create');

}
公共功能存儲(請求 $request)
{
$請求->驗證([
'名稱' => '必需',
'細節' => '必需',
]);
產品::create($request->all());
返回重定向()->路由('products.index')
->with('success','產品創建成功');
}
公共功能展示(Product $product)
{
返回視圖('products.show',compact('product'));
}
公共功能編輯(產品$產品)
{
返回視圖('products.edit',compact('product'));
}
公共功能更新(請求 $request,產品 $product)
{
$請求->驗證([
'名稱' => '必需',
'細節' => '必需',
]);
$product->update($request->all());
返回重定向()->路由('products.index')
->with('success','產品更新成功');
}
公共功能銷毀(產品$產品)
{
$產品->刪除();
返回重定向()->路由('products.index')
->with('success','產品刪除成功');
}
}
您的模型將如下圖所示。

第 6 步:創建刀片文件
文件夾:resources/views/products/layout.blade.php
資源/視圖/產品/index.blade.php


資源/視圖/產品/create.blade.php
@extends('products.layout')
@section('內容')
<div class="行">
<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() as $error)
<li></li>
@endforeach
</ul>
</div>
@萬一
<form action="" method="POST">
@csrf
<div class="行">
<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
資源/視圖/產品/edit.blade.php
@extends('products.layout')
@section('內容')
<div class="行">
<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() as $error)
<li></li>
@endforeach
</ul>
</div>
@萬一
<form action="" method="POST">
@csrf
@方法('PUT')
<div class="行">
<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
資源/視圖/產品/show.blade.php

現在您已經完成了所有代碼,您只需在 cmd 中運行一個命令即可。

包起來
在這篇博客中,我向您介紹了 OOP 概念,這是一種基本的編程範式。 還解釋了 OOP 的主要原則。 該博客還解釋了在 laravel 中創建 crud 操作的分步過程。
大型程序很難編寫,但是如果開發和設計團隊堅持面向對象的原則,他們將能夠創建更好的設計,並且缺陷更少。 因為每個對像都是獨立存在的,它有助於增加程序的模塊化。
我希望這個博客對你有所幫助。 您可以訪問 www.webdew.com 閱讀更多博客。 如果您正在尋找網頁設計或網頁開發服務,請隨時與我們聯繫!
編輯:阿姆魯塔
