Podria mejorar mi forma de programar???
Publicado por Jose (2 intervenciones) el 04/04/2015 20:03:53
Podria mejorar el codigo???
Buenas amigos quiero poner esta informacion aqui, para los que esten aprendidendo a programar esto les servira.
Pero mi objetivo es recibir criticas, recomendaciones, me gustaria saber si podria mejorar de alguna manera mi manera de programar en PHP OOP.
Aqui les voy a dejar un codigo muy sencillo, la mayoria de los programas que he hecho en PHP los hago asi. Tengo una capa de presentacion al usuario que se llama "Vista" y tengo un elemento que me controla toda la capa de negocio claro dependiendo de lo grande que sea el sistema podria tener varios, a esto le llamo "Controlador".
El envio de informacion hacia mi controlador no lo hago a traves del metodo POST de mi formulario siempre me ha gustado hacerlo por Jquery a traves de AJAX, en lo personal me gusta ver que todo ocurre en el mismo formulario sin necesidad de que se refresque la pagina.
--------------------Aqui les dejo el modelo de mi vista-----------------
----------------------------------------------------------------------------
Aqui les dejo mi codigo de las clases que cree para este ejemplo
---------------------Clase de base de datos.-------------------------
------------------Clase orientada a la vista que se llama Prueba-----------------------
--------------------Aqui el codigo de mi controlador-------------------------------------
--------Aqui les dejo el codigo del Jquery que utilizo para envio de datos---------
-----------------------------------------------------------------------------------------------
Por supuesto todo va en archivos separados, como les dije es un ejemplo muy sencillo donde inserto un nombre a la base de datos, la idea es que quiero conocer si puede mejorar aun mas mi manera de programar.
Muchas gracias....
Buenas amigos quiero poner esta informacion aqui, para los que esten aprendidendo a programar esto les servira.
Pero mi objetivo es recibir criticas, recomendaciones, me gustaria saber si podria mejorar de alguna manera mi manera de programar en PHP OOP.
Aqui les voy a dejar un codigo muy sencillo, la mayoria de los programas que he hecho en PHP los hago asi. Tengo una capa de presentacion al usuario que se llama "Vista" y tengo un elemento que me controla toda la capa de negocio claro dependiendo de lo grande que sea el sistema podria tener varios, a esto le llamo "Controlador".
El envio de informacion hacia mi controlador no lo hago a traves del metodo POST de mi formulario siempre me ha gustado hacerlo por Jquery a traves de AJAX, en lo personal me gusta ver que todo ocurre en el mismo formulario sin necesidad de que se refresque la pagina.
--------------------Aqui les dejo el modelo de mi vista-----------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<script src="../Js/jquery-2.1.3.min.js"></script>
<script src="../Js/Prueba.js"></script>
</head>
<body>
<form name="formulario" id="formulario" method="">
<input type="hidden" name="Accion" id="Accion" value="agregarNombre">
<table width="200" border="1">
<tbody>
<tr>
<td>Nombre:</td>
<td><input type="text" name="Nombre" id="Nombre"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="button" name="Guardar" id="Guardar" value="Guardar"></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
Aqui les dejo mi codigo de las clases que cree para este ejemplo
---------------------Clase de base de datos.-------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class BaseDatos
{
function conectar()
{
$conexion=mysqli_connect("localhost","Prueba","Pru eba")or die("ERROR, no se puede conectar a la base de datos: ".mysqli_error());
mysqli_select_db($conexion,"Prueba");
return $conexion;
}
}
?>
------------------Clase orientada a la vista que se llama Prueba-----------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
class Prueba
{
function agregarNombre($conexion,$Nombre)
{
$json['bandera']="";
mysqli_query($conexion,"BEGIN");
$sql="INSERT into Prueba(Nombre)values('".$Nombre."')";
$query=mysqli_query($conexion,$sql)or die("ERROR, no se pudo insertar en la base de datos: ".mysqli_error());
if($query==FALSE)
{
mysqli_query($conexion,"ROLLBACK");
$json['bandera']="0";
}
else
if($query!=FALSE)
{
mysqli_query($conexion,"COMMIT");
$json['bandera']="1";
}
echo json_encode($json);
}
}
?>
--------------------Aqui el codigo de mi controlador-------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$accion=$_REQUEST["Accion"];
require("Clases/BaseDatos.class.php");
$objConexion = new BaseDatos;
$conexion=$objConexion->conectar();
switch($accion)
{
case 'agregarNombre':
require("Clases/Prueba.class.php");
$objPrueba = new Prueba;
$objPrueba->agregarNombre($conexion,trim($_POST["Nombre"]));
break;
default:
'No se encuentra en este controlador la accion: '.$accion.' revize este controlador Controlador.php';
break;
}
?>
--------Aqui les dejo el codigo del Jquery que utilizo para envio de datos---------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
$(document).ready(function()
{
$("#Guardar").click(function()
{
var nombre=$("#Nombre").val();
var accion=$("#Accion").val();
$.ajax
({
url: '../Controlador.php',
type: 'POST',
data: {Accion:accion,Nombre:nombre},
dataType: 'json',
success:function(data)
{
var bandera=data.bandera;
if(bandera=="0")
{
alert("ERROR, al insertar el nombre");
}
else
if(bandera=="1")
{
alert("Datos registrados con exito !!!");
}
}
});
});
});
Por supuesto todo va en archivos separados, como les dije es un ejemplo muy sencillo donde inserto un nombre a la base de datos, la idea es que quiero conocer si puede mejorar aun mas mi manera de programar.
Muchas gracias....
Valora esta pregunta


0