¿Qué es el concepto de programación orientada a objetos? ¿Cómo se puede crear una operación cruda?
Publicado: 2022-04-28Todo desarrollador ha utilizado la programación orientada a objetos (POO) en algún momento de su carrera, y se considera que es un paradigma de programación fundamental. Al usar OOP, el objetivo principal es vincular de forma segura los datos y las funciones que realizan operaciones en ellos, evitando que cualquier otra parte del código acceda a esa información.
En este blog, explicaré los principios del concepto OOP y cómo crear una operación cruda con laravel, que es muy conocida en el desarrollo web.
¿Qué es OOP?
El sistema de programación orientada a objetos (OOP) es un enfoque para el desarrollo de software que modela aplicaciones en torno a objetos del mundo real, como empleados, automóviles, cuentas bancarias, etc.
Dos de los conceptos generales de programación orientada a objetos en Java son clase y objeto. Una clase define las propiedades y métodos de un objeto del mundo real, mientras que un objeto es una ocurrencia de una clase.
Hay tres componentes básicos de la orientación a objetos. Estos son:
- Análisis orientado a objetos: funcionalidad del sistema.
- Diseño orientado a objetos: arquitectura del sistema
- Programación orientada a objetos – implementación de la aplicación
Principios principales de la programación orientada a objetos
Permítame presentarle los tres principios principales de la programación orientada a objetos.
Encapsulación
Reducir la complejidad en el desarrollo de software es el objetivo principal de la encapsulación. Se hace ocultando los detalles de implementación y revelando solo las operaciones. Por lo tanto, usar una clase se vuelve más fácil.
A través de métodos como get y set, el acceso a las variables de clase hace que la clase sea fácil de mantener y flexible para proteger el estado interno de un objeto. De esta manera, sin preocuparse por romper el código, se puede cambiar la implementación interna de la clase base.
Herencia
La reutilización es el objetivo principal de la herencia. Aquí, se trata de la relación entre clases. Varias clases pueden usar los métodos definidos para heredar de una clase principal.
Por ejemplo, cuando debe proporcionar una funcionalidad común como agregar, actualizar y eliminar datos de la base de datos, la herencia puede ser muy útil.
Polimorfismo
Simplificar el mantenimiento de las aplicaciones y hacerlas más extensibles es el propósito del polimorfismo. Se trata de tener diferentes formas de implementación para un solo formulario.
¿Cómo crear una operación crud con laravel?
Laravel es un marco de aplicación web de código abierto con una sintaxis expresiva y elegante. Un marco web proporciona una estructura y un punto de partida para crear una aplicación, lo que le permite concentrarse en los aspectos principales.
Como marco PHP, Laravel admite la programación orientada a objetos. Laravel utiliza el patrón de diseño del controlador de vista de modelo (MVC) para crear sus aplicaciones.
Php admite la programación orientada a objetos, que es más rápida y fácil de realizar que los lenguajes de programación tradicionales. Php4 fue la primera versión de PHP en incluir programación orientada a objetos (POO). Cuando se trata de codificación, la programación orientada a objetos es una técnica que permite a los desarrolladores organizar los datos y la estructura de una aplicación en clases.
Ahora veremos cómo crear una operación crud (Crear, Leer, Actualizar y Eliminar).
Para comenzar con cualquier lenguaje de programación, debe tener conocimientos básicos de cualquier idioma que vaya a comenzar. Por lo tanto, estoy comenzando con Laravel, que es muy famoso en el desarrollo web.
Paso 1: El primer paso es instalar el proyecto Laravel. Puedes descargar cualquier versión de Laravel. Aquí, he compartido a continuación el sitio web oficial de Laravel:
https://laravel.com/docs/8.x/installation#por qué-laravel
Puede instalarlo con composer, o simplemente puede instalar la carpeta y guardarla en su carpeta htdocs.
Puede descargar el compositor siguiendo los pasos que se indican en el siguiente enlace:
https://getcomposer.org/download/
Puede verificar si Composer está instalado en su sistema abriendo un CMD (símbolo del sistema) y escribiendo composer y presionando enter. El Compositor se le aparecerá de la siguiente manera:
Ahora está listo para instalar el proyecto Laravel. Para hacerlo, siga los pasos a continuación:
En primer lugar, debe visitar el sitio web oficial de Laravel: https://laravel.com/docs/
Aquí puede elegir cualquier versión con la que desee trabajar:
Seleccione la versión de su aplicación y desplácese hacia abajo para ver el comando como se muestra a continuación:
compositor crear-proyecto --prefer-dist laravel/laravel blog "5.8.*"
Utilice este comando en su panel cmd, y una vez que presione este comando, su proyecto comenzará a descargarse.
Asegúrese de que está descargando en la carpeta htdocs:
Tomará un par de minutos, y una vez que se descargue el proyecto, verá una estructura de carpetas como se muestra en la imagen a continuación:
Paso 2: Actualización de la configuración de la base de datos
En el segundo paso, realizará una configuración de la base de datos. Por ejemplo, el nombre de la base de datos, el nombre de usuario, la contraseña, etc., para su aplicación básica de Laravel 5.8. Entonces ahora debe abrir el archivo .env y completar todos los detalles como se muestra a continuación:
Paso 3: El siguiente paso es crear la tabla.
Va a crear una aplicación cruda para el producto. Por lo tanto, debe crear la migración para la tabla de "productos" utilizando el comando artesanal PHP de Laravel 5.8.
Primero, ejecute este comando en el directorio de su proyecto:
php crafty make:migration create_products_table --create=products
Aquí puede ver su migración creada recientemente:
Abra su archivo de migración y pegue lo que se menciona a continuación:
<?php
use Illuminate\Support\Fachadas\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Base de datos\Migraciones\Migración;
clase CreateProductsTable extiende la migración
{
función pública arriba ()
{
Schema::create('productos', función (Blueprint $tabla) {
$tabla->incrementos('id');
$tabla->cadena('nombre');
$tabla->texto('detalle');
$tabla->marcas de tiempo();
});
}
función pública abajo()
{
Schema::dropIfExists('productos');
}
}
Ahora tienes que ejecutar el comando: php artesanal migrar. Y una vez que ejecute este comando, su tabla se creará en la base de datos.
Paso 4: Crear ruta de recursos
Aquí, necesitamos agregar una ruta de recursos para la aplicación del producto crudo. Entonces, para hacer esto, abra su archivo "routes/web.php" y agregue la siguiente ruta.

rutas/web.php
Route::resource('productos','ProductController');
Paso 5: Crear controlador y modelo
En este paso, ahora deberíamos crear un nuevo controlador como ProductController. Así que ejecuta el siguiente comando y crea un nuevo controlador. Utilice el nuevo controlador para crear un controlador de recursos.
php crafty make:controlador ProductController --resource --model=Producto
<?php
espacio de nombres App\Http\Controllers;
usar Aplicación\Producto;
utilice Illuminate\Http\Request;
clase ProductController extiende controlador
{
índice de función pública ()
{
$productos = Producto::último()->paginar(5);
volver vista('productos.index',compacto('productos'))
->with('i', (solicitud()->input('pagina', 1) - 1) * 5);
}
función pública crear ()
{
return view('productos.create');
}
tienda de función pública (Solicitud $ solicitud)
{
$solicitud->validar([
'nombre' => 'requerido',
'detalle' => 'requerido',
]);
Producto::create($request->all());
volver redirigir()->ruta('productos.index')
->with('éxito','Producto creado con éxito.');
}
espectáculo de función pública (Producto $ producto)
{
return view('productos.mostrar',compacto('producto'));
}
edición de función pública (Producto $ producto)
{
return view('productos.editar',compacto('producto'));
}
actualización de función pública (Solicitud $ solicitud, Producto $ producto)
{
$solicitud->validar([
'nombre' => 'requerido',
'detalle' => 'requerido',
]);
$producto->actualizar($solicitud->todo());
volver redirigir()->ruta('productos.index')
->with('éxito','Producto actualizado con éxito');
}
función pública destruir (Producto $ producto)
{
$producto->eliminar();
volver redirigir()->ruta('productos.index')
->with('éxito','Producto eliminado con éxito');
}
}
Su modelo se verá como se muestra en la imagen a continuación.
Paso 6: Crear archivos Blade
Carpeta: recursos/vistas/productos/layout.blade.php
recursos/vistas/productos/index.blade.php
recursos/vistas/productos/create.blade.php
@extends('productos.diseño')
@section('contenido')
<div clase="fila">
<div class="col-lg-12 margen-tb">
<div class="pull-left">
<h2>Añadir nuevo producto</h2>
</div>
<div class="tirar-hacia la derecha">
<a class="btn btn-primary" href=""> Atrás</a>
</div>
</div>
</div>
@if ($errores->cualquiera())
<div class="alerta alerta-peligro">
<strong>¡Vaya!</strong> Hubo algunos problemas con su entrada.<br><br>
<ul>
@foreach ($errores->todos() como $error)
<li></li>
@endforeach
</ul>
</div>
@terminara si
<forma acción="" método="POST">
@csrf
<div clase="fila">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nombre:</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>Detalle:</strong>
<textarea class="form-control" name="detalle" marcador de posición="Detalle"></textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 texto-centro">
<button type="enviar" class="btn btn-primary">Enviar</button>
</div>
</div>
</formulario>
@endsection
recursos/vistas/productos/edit.blade.php
@extends('productos.diseño')
@section('contenido')
<div clase="fila">
<div class="col-lg-12 margen-tb">
<div class="pull-left">
<h2>Editar producto</h2>
</div>
<div class="tirar-hacia la derecha">
<a class="btn btn-primary" href=""> Atrás</a>
</div>
</div>
</div>
@if ($errores->cualquiera())
<div class="alerta alerta-peligro">
<strong>¡Vaya!</strong> Hubo algunos problemas con su entrada.<br><br>
<ul>
@foreach ($errores->todos() como $error)
<li></li>
@endforeach
</ul>
</div>
@terminara si
<forma acción="" método="POST">
@csrf
@método('PONER')
<div clase="fila">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>Nombre:</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>Detalle:</strong>
<textarea class="form-control" name="detalle" marcador de posición="Detalle"></textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 texto-centro">
<button type="enviar" class="btn btn-primary">Enviar</button>
</div>
</div>
</formulario>
@endsection
recursos/vistas/productos/show.blade.php
Ahora que ha terminado con todo el código, todo lo que necesita hacer es ejecutar un comando en su cmd.
Terminando
En este blog, les presenté el concepto de programación orientada a objetos, un paradigma de programación fundamental. También se explicaron los principios fundamentales de los OOP. El blog también explicó el procedimiento paso a paso para crear una operación crud en laravel.
Los programas grandes son difíciles de escribir, pero si los equipos de desarrollo y diseño se adhieren a los principios orientados a objetos, podrán crear mejores diseños con menos defectos. Debido a que cada objeto existe por sí mismo, ayuda a aumentar la modularidad del programa.
Espero que este blog te haya sido útil. Puede visitar www.webdew.com para leer más blogs. Y si está buscando servicios de diseño o desarrollo web, ¡no dude en contactarnos!
Editor: Amrutha