0
I joined a project written in php that at first had no idea of the proportion it would take. So I’ve written so much code that even I’m a little lost to locate some problems.
To do the project, as I was doing I was also learning about language, but without any notion of what the organization would look like.
I standardized some things that would not even be the right way.
Thus: The files with the html code are loose in the root of the folder. Those who perform some logic are in the controls folder. Those who have the functions that search, insert, change and delete records in the database are in the classes folder. And an api folder I made to return a Json when using a mobile app.
So far so good, I think it is even organized. But some files of the classes for example are too big.
Ex (this class has 440 rows and rising):
function inserePedido($id_cliente){
$query = "INSERT INTO pedido (id_cliente) VALUES ({$id_cliente});";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function inserePedidoItem($cliente,$produto,$tipo_cobranca,$id_tabela,$preco,$sequencia,$vendedor,$data,$cod_barras){
$uuid=uniqid(rand(), true);
$data_vencimento = date('Y-m-d',strtotime("+20 days",strtotime($data)));
$query = "INSERT INTO pedido_item (id_cliente,id_produto,sequencia,tamanho,
id_vendedor,preco,situacao,data_hora,data_vencimento,cod_barras,tipo_cobranca,id_tabela,uuid) VALUES (
{$cliente},{$produto['id']},{$sequencia},{$produto['tamanho']},
{$vendedor},{$preco},6,'{$data}','{$data_vencimento}','{$cod_barras}',{$tipo_cobranca},{$id_tabela},'{$uuid}');";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function inserePedidoItemReserva($cliente,$produto,$tipo_cobranca,$id_tabela,
$preco,$sequencia,$vendedor,$data,$cod_barras){
$uuid=uniqid(rand(), true);
$data_vencimento = date('Y-m-d',strtotime("+20 days",strtotime($data)));
$query = "INSERT INTO pedido_item (id_cliente,id_produto,sequencia,tamanho,
id_vendedor,preco,situacao,data_hora,data_vencimento,cod_barras,tipo_cobranca,id_tabela,uuid)
VALUES ({$cliente},{$produto['id']},{$sequencia},{$produto['tamanho']},
{$vendedor},{$preco},15,'{$data}','{$data_vencimento}','{$cod_barras}',{$tipo_cobranca},{$id_tabela},'{$uuid}');";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function inserePedidoItemCodigo($cliente,$produto,$tipo_cobranca,$id_tabela,
$preco,$sequencia,$vendedor,$data,$cod_barras){
$uuid=uniqid(rand(), true);
$data_vencimento = date('Y-m-d',strtotime("+20 days",strtotime($data)));
$query = "INSERT INTO pedido_item (id_cliente,id_produto,sequencia,tamanho,
id_vendedor,preco,situacao,data_hora,data_vencimento,cod_barras,tipo_cobranca,id_tabela,uuid)
VALUES ({$cliente},{$produto['id']},{$sequencia},{$produto['tamanho']},{$vendedor},
{$preco},4,'{$data}','{$data_vencimento}','{$cod_barras}',{$tipo_cobranca},{$id_tabela},'{$uuid}');";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function inserePedidoParcialItemCodigo($cliente,$produto,$tipo_cobranca,$id_tabela,
$preco,$sequencia,$vendedor,$data,$cod_barras){
$uuid=uniqid(rand(), true);
$data_vencimento = date('Y-m-d',strtotime("+20 days",strtotime($data)));
$query = "INSERT INTO pedido_item (id_cliente,id_produto,sequencia,tamanho,confirmado,
id_vendedor,preco,situacao,data_hora,data_vencimento,cod_barras,tipo_cobranca,id_tabela,uuid)
VALUES ({$cliente},{$produto['id']},{$sequencia},{$produto['tamanho']},1,{$vendedor},
{$preco},4,'{$data}','{$data_vencimento}','{$cod_barras}',{$tipo_cobranca},{$id_tabela},'{$uuid}');";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function inserePedidoProdutoDevolucao($cliente,$produto,$tipo_cobranca,
$id_tabela,$preco,$sequencia,$vendedor,$data,$cod_barras){
$uuid=uniqid(rand(), true);
$query = "INSERT INTO pedido_item (id_cliente,id_produto,sequencia,tamanho,
id_vendedor,preco,situacao,data_hora,cod_barras,tipo_cobranca,id_tabela,uuid,confirmado)
VALUES ({$cliente},{$produto['id']},{$sequencia},{$produto['tamanho']},
{$vendedor},{$preco},8,'{$data}','{$cod_barras}',{$tipo_cobranca},{$id_tabela},'{$uuid}',1);";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function removePedidoProdutoUnidade($id_cliente,$sequencia){
$query = "DELETE FROM pedido_item WHERE id_cliente={$id_cliente}
AND sequencia={$sequencia} AND (situacao = 6 OR situacao = 4 OR situacao=15);";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function removePedidoItemDevolucao($id_cliente){
$query = "DELETE FROM pedido_item WHERE id_cliente={$id_cliente} AND (situacao = 8 OR situacao = 12);";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function excluirProdutoPedidoTotal($id_cliente,$id_produto,$data){
$query = "DELETE FROM pedido_item WHERE id_cliente={$id_cliente}
AND DATE(data_hora)=DATE('{$data}') AND id_produto={$id_produto}
AND (situacao = 6 OR situacao = 4 OR SITUACAO=15);";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function removerPedidoUnidade($id_cliente,$sequencia){
$query = "DELETE FROM pedido_item WHERE id_cliente={$id_cliente}
AND sequencia={$sequencia}";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function removerPedidoNaoConfirmados($cliente){
$query = "DELETE FROM pedido_item WHERE id_cliente={$cliente}
AND confirmado=0";
$conexao = Conexao::criarConexao();
return $conexao->exec($query);
}
function finalizarPedidoMaisTarde($cliente){
$query = "UPDATE pedido set finalizar = 1;";
$conexao = Conexao::criarConexao();
$conexao->exec($query);
}
function finalizarPedidoMaisTardeNao($cliente){
$query = "UPDATE pedido set finalizar = 0;";
$conexao = Conexao::criarConexao();
$conexao->exec($query);
}...
There is some design pattern that I can apply that is recommended in these cases, or some suggestion to address more queries more simply. I know there are some frameworks like Windows, but I don’t have more time to learn and do the conversion. And I’m very concerned about maintaining the code.
I think you are mixing orders with products. It is better to separate them. Already help.
– Andrei Coelho