什么是 OOP 概念? 如何创建一个 crud 操作?

已发表: 2022-04-28

每个开发人员在其职业生涯的某个时候都使用过面向对象编程 (OOP),它被认为是一种基本的编程范式。 使用 OOP 时,主要目标是将数据和对其执行操作的函数安全地绑定在一起,防止任何其他代码部分访问该信息。

成功进行 Web 开发的 Web 项目管理技巧

在这篇博客中,我将解释 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 步骤 1 创建一个 crud 操作

现在您已准备好安装 Laravel 项目。 为此,请按照以下步骤操作:

首先要访问 Laravel 的官网:https://laravel.com/docs/

在这里,您可以选择要使用的任何版本:

Laravel 安装

选择您的应用程序版本并向下滚动到您将看到如下所示的命令:

composer create-project --prefer-dist laravel/laravel 博客“5.8.*”

作曲家创建项目

请在您的 cmd 面板中使用此命令,一旦您点击此命令,您的项目将开始下载。

确保您在 htdocs 文件夹中下载:

在 htdocs forlder 中下载 这将需要几分钟,下载项目后,您将看到如下图所示的文件夹结构:

下载的项目

第 2 步:更新数据库配置

在第二步中,您将进行数据库配置。 例如,Laravel 5.8 的 crud 应用程序的数据库名称、用户名、密码等。 因此,现在您必须打开 .env 文件并填写所有详细信息,如下所示:

更新数据库配置 1更新数据库配置 2

第 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

创建刀片文件 1

创建刀片文件 2

资源/视图/产品/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

创建刀片文件 3

现在您已经完成了所有代码,您只需在 cmd 中运行一个命令即可。

在cmd上运行命令

包起来

在这篇博客中,我向您介绍了 OOP 概念,这是一种基本的编程范式。 还解释了 OOP 的主要原则。 该博客还解释了在 laravel 中创建 crud 操作的分步过程。

大型程序很难编写,但是如果开发和设计团队坚持面向对象的原则,他们将能够创建更好的设计,并且缺陷更少。 因为每个对象都是独立存在的,它有助于增加程序的模块化。

我希望这个博客对你有所帮助。 您可以访问 www.webdew.com 阅读更多博客。 如果您正在寻找网页设计或网页开发服务,请随时与我们联系!

编辑:阿姆鲁塔