OOPの概念とは何ですか? どうすればクラッド操作を作成できますか?
公開: 2022-04-28すべての開発者は、キャリアのある時点でオブジェクト指向プログラミング(OOP)を使用しており、これは基本的なプログラミングパラダイムと見なされています。 OOPを使用する場合の主な目標は、データとそれらに対して操作を実行する関数を安全にバインドし、コードの他の部分がその情報にアクセスできないようにすることです。
このブログでは、oopの概念の原理と、Web開発でよく知られているlaravelを使用してクラッド操作を作成する方法について説明します。
OOPとは何ですか?
オブジェクト指向プログラミングシステム(OOP)は、従業員、車、銀行口座などの実世界のオブジェクトを中心にアプリケーションをモデル化するソフトウェア開発へのアプローチです。
Javaの一般的なOOPの概念の2つは、クラスとオブジェクトです。 クラスは実際のオブジェクトのプロパティとメソッドを定義しますが、オブジェクトはクラスのオカレンスです。
オブジェクト指向には3つの基本的な要素があります。 これらは:
- オブジェクト指向分析–システムの機能
- オブジェクト指向設計–システムのアーキテクチャ
- オブジェクト指向プログラミング–アプリケーションの実装
OOPの主な原則
OOPの3つの主要な原則を紹介します。
カプセル化
ソフトウェア開発の複雑さを軽減することが、カプセル化の主な目的です。 これは、実装の詳細を非表示にし、操作のみを表示することによって行われます。 したがって、クラスの使用が簡単になります。
getやsetなどのメソッドを介して、クラス変数にアクセスすると、クラスの保守と柔軟性が容易になり、オブジェクトの内部状態が保護されます。 このようにして、コードを壊すことを心配することなく、基本クラスの内部実装を変更できます。
継承
再利用性は継承の主な目的です。 ここでは、クラス間の関係に関係しています。 さまざまなクラスが、親クラスから継承するために定義されたメソッドを使用できます。
たとえば、データベースからのデータの追加、更新、削除などの一般的な機能を提供する必要がある場合、継承は非常に便利です。
ポリモーフィズム
アプリケーションの保守を簡素化し、それらをより拡張可能にすることが、ポリモーフィズムの目的です。 これは、単一のフォームに対してさまざまな実装方法を持つことに関係しています。
Laravelでクラッド操作を作成するにはどうすればよいですか?
Laravelは、表現力豊かでエレガントな構文を備えたオープンソースのWebアプリケーションフレームワークです。 Webフレームワークは、アプリケーションを作成するための構造と開始点を提供し、主要な側面に集中できるようにします。
PHPフレームワークとして、Laravelはオブジェクト指向プログラミングをサポートしています。 モデルビューコントローラー(MVC)デザインパターンは、Laravelがアプリケーションを作成するために使用します。
PHPは、オブジェクト指向プログラミングをサポートしています。これは、従来のプログラミング言語よりも迅速かつ簡単に実行できます。 Php4は、オブジェクト指向プログラミング(OOP)を含むPHPの最初のバージョンでした。 コーディングに関して言えば、オブジェクト指向プログラミングは、開発者がアプリケーションのデータと構造をクラスに配置できるようにする手法です。
ここで、crud操作(作成、読み取り、更新、削除)を作成する方法を説明します。
プログラミング言語を始めるには、どの言語を始めるかについての基本的な知識が必要です。 したがって、私はWeb開発で非常に有名なLaravelから始めます。
ステップ1:最初のステップは、Laravelプロジェクトをインストールすることです。 Laravelの任意のバージョンをダウンロードできます。 ここでは、Laravelの公式ウェブサイトの下で共有しました:
https://laravel.com/docs/8.x/installation#why-laravel
composerを使用してインストールすることも、フォルダーをインストールしてhtdocsフォルダーに保持することもできます。
以下のリンクに記載されている手順を使用して、コンポーザーをダウンロードできます。
https://getcomposer.org/download/
CMD(コマンドプロンプト)を開いてcomposerと入力し、Enterキーを押すと、Composerがシステムにインストールされているかどうかを確認できます。 Composerは次のように表示されます。
これで、Laravelプロジェクトをインストールする準備が整いました。 これを行うには、以下の手順に従ってください。
まず、Laravelの公式ウェブサイトにアクセスする必要があります:https://laravel.com/docs/
ここでは、使用するバージョンを選択できます。
アプリのバージョンを選択し、下にスクロールすると、次のようなコマンドが表示されます。
composer create-project --prefer-dist laravel/laravelブログ「5.8。*」
コマンドパネルでこのコマンドを使用してください。このコマンドを押すと、プロジェクトのダウンロードが開始されます。
htdocsフォルダーにダウンロードしていることを確認してください。
数分かかります。プロジェクトがダウンロードされると、次の画像に示すようなフォルダ構造が表示されます。
ステップ2:更新-データベース構成
2番目のステップでは、データベース構成を行います。 たとえば、Laravel 5.8のクラッドアプリケーションのデータベース名、ユーザー名、パスワードなど。 したがって、次に.envファイルを開き、以下に示すようにすべての詳細を入力する必要があります。
ステップ3:次のステップはテーブルを作成することです。
製品のクラッドアプリケーションを作成します。 したがって、Laravel 5.8PHPartisanコマンドを使用して「products」テーブルの移行を作成する必要があります。
まず、プロジェクトディレクトリで次のコマンドを実行します。
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-> incremental('id');
$ table-> string('name');
$ table-> text('detail');
$ table-> timestamps();
});
}
パブリック関数down()
{{
Schema :: dropIfExists('products');
}
}
次に、コマンド:phpartisanmigrateを実行する必要があります。 このコマンドを実行すると、テーブルがデータベースに作成されます。
ステップ4:リソースルートを作成する
ここでは、製品のクラッドアプリケーションのリソースルートを追加する必要があります。 したがって、これを行うには、「routes / web.php」ファイルを開き、次のルートを追加します。
ルート/web.php
Route :: resource('products'、'ProductController');
ステップ5:コントローラーとモデルを作成する
このステップでは、ProductControllerとして新しいコントローラーを作成する必要があります。 したがって、以下のコマンドを実行して、新しいコントローラーを作成します。 新しいコントローラーを使用して、リソースコントローラーを作成します。
php artisan make:controller ProductController --resource --model = Product
<?php
名前空間App\Http \ Controllers;
App\Productを使用します;
Illuminate \ Http\Requestを使用します;
クラスProductControllerはControllerを拡張します
{{
パブリック関数index()
{{
$ products = Product :: latest()-> paginate(5);

return view('products.index'、compact('products'))
-> with('i'、(request()-> input('page'、1)-1)* 5);
}
パブリック関数create()
{{
ビューを返す('products.create');
}
public function store(Request $ request)
{{
$ request-> validate([
'名前'=>'必須'、
'詳細'=>'必須'、
]);
Product :: create($ request-> all());
return redirect()-> route('products.index')
-> with('success'、'製品が正常に作成されました。');
}
public function show(Product $ product)
{{
return view('products.show'、compact('product'));
}
public function edit(Product $ product)
{{
return view('products.edit'、compact('product'));
}
public function update(Request $ request、Product $ product)
{{
$ request-> validate([
'名前'=>'必須'、
'詳細'=>'必須'、
]);
$ product-> update($ request-> all());
return redirect()-> route('products.index')
-> with('success'、'製品が正常に更新されました');
}
public function destroy(Product $ product)
{{
$ product-> delete();
return redirect()-> route('products.index')
-> with('success'、'製品が正常に削除されました');
}
}
モデルは下の画像のようになります。
ステップ6:ブレードファイルを作成する
フォルダ:resources / views / products / layout.blade.php
resources / views / products / index.blade.php
resources / views / products / create.blade.php
@extends('products.layout')
@section('content')
<div class = "row">
<div class = "col-lg-12 margin-tb">
<div class = "pull-left">
<h2>新製品の追加</h2>
</ div>
<div class = "pull-right">
<a class="btnbtn-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>
@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="btnbtn-primary">送信</button>
</ div>
</ div>
</ form>
@endsection
resources / views / products / edit.blade.php
@extends('products.layout')
@section('content')
<div class = "row">
<div class = "col-lg-12 margin-tb">
<div class = "pull-left">
<h2>製品の編集</h2>
</ div>
<div class = "pull-right">
<a class="btnbtn-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>
@endif
<form action = "" method = "POST">
@csrf
@method('PUT')
<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="btnbtn-primary">送信</button>
</ div>
</ div>
</ form>
@endsection
resources / views / products / show.blade.php
すべてのコードを実行したので、必要なのはcmdで1つのコマンドを実行することだけです。
まとめ
このブログでは、基本的なプログラミングパラダイムであるOOPの概念を紹介しました。 OOPの主な原則も説明されました。 ブログでは、laravelでクラッド操作を作成するためのステップバイステップの手順についても説明しました。
大規模なプログラムを作成するのは困難ですが、開発チームと設計チームがオブジェクト指向の原則に準拠していれば、欠陥の少ない、より優れた設計を作成できます。 各オブジェクトは独自に存在するため、プログラムのモジュール性を高めるのに役立ちます。
このブログがお役に立てば幸いです。 www.webdew.comにアクセスして、他のブログを読むことができます。 また、ウェブデザインやウェブ開発サービスをお探しの場合は、お気軽にお問い合わせください。
編集者:アムルサ