Jump to content

Recommended Posts

Olá, comunidade!

Estou desenvolvendo uma espécie de painel PHP em formato SaaS, onde um único painel tem o objetivo de servir para todos os clientes de forma simultânea, 30, 40, 50 pessoas online. Entretanto tenho certas dúvidas em relação ao grau de confiabilidade e funcionalidade que ele encontra-se devido ao fato de não utilizar frameworks, mas sim apenas php, poo, organização precisa e etc.

Gostaria de saber de vocês se já atuaram ou acham que pode haver problemas onde um cliente caia na conta de outro, por exemplo, e coisas do tipo.

A exemplo da organização: o index controla uma variavel global(c) com htaccess, trata-os e direciona cada um ao seu respectivo class, onde por sua vez trata com switch os gets recebidos e direciona a sua função específica.

Aproveitando o ensejo, estou buscando um consultor php para me auxiliar a melhorar a mecânica ao máximo. Interessado, enviem-me os números via PM!

Share this post


Link to post
Share on other sites

Olá, @ajmeireles!

 

Bem, seu questionamento é um tanto vago e de certa forma, difícil de ser respondido com precisão, já que não conhecemos o seu sistema.

Haver erros em produção é sempre possível. Tudo vai depender do quão seguro é o desenvolvimento e quão sólido está o projeto. O uso de um framework estável, além de agilizar o processo, também reduz muitos riscos (como o citado por você, por exemplo).

De qualquer forma, recomendo que você faça testes com casos de uso e posteriormente, libere o sistema para utilização gradativamente. Isso te dará um certo controle sobre correção de bugs ou qualquer problema que venha a ser encontrado.

 

Espero ter ajudado!

Share this post


Link to post
Share on other sites

@ajmeireles, joia!

Utilizar framework, micro framework, ou criar o seu próprio utilizando pacotes, tem muitas vantagens. Não vou citá-las aqui pois já tem muito conteúdo a respeito.

Sobre um "cliente cair na conta de outro", ou qualquer tipo de vazamento de informações, isso vai sempre depender de como esta implementado, não importa se você esta usando ou não um framework. Uma biblioteca de permissões por exemplo, vai evitar de você recriá-la, mas ainda assim é necessário fazer a implementação correta!

Se é algo pequeno e você SABE o que esta fazendo, pode fazer tudo com "PHP puro". Mas, geralmente é muito mais rápido e seguro você aprender uma biblioteca de rotas como o fast-route, do que criar a sua própria. E, tempo é dinheiro!

Eu faço consultoria, se tiver interesse, no meu perfil esta o meu linkedin para contato e mais detalhes.

 

Share this post


Link to post
Share on other sites
11 horas atrás, EdCesar disse:

@ajmeireles, joia!

Utilizar framework, micro framework, ou criar o seu próprio utilizando pacotes, tem muitas vantagens. Não vou citá-las aqui pois já tem muito conteúdo a respeito.

Sobre um "cliente cair na conta de outro", ou qualquer tipo de vazamento de informações, isso vai sempre depender de como esta implementado, não importa se você esta usando ou não um framework. Uma biblioteca de permissões por exemplo, vai evitar de você recriá-la, mas ainda assim é necessário fazer a implementação correta!

Se é algo pequeno e você SABE o que esta fazendo, pode fazer tudo com "PHP puro". Mas, geralmente é muito mais rápido e seguro você aprender uma biblioteca de rotas como o fast-route, do que criar a sua própria. E, tempo é dinheiro!

Eu faço consultoria, se tiver interesse, no meu perfil esta o meu linkedin para contato e mais detalhes.

 

 

13 horas atrás, leaodev disse:

Olá, @ajmeireles!

 

Bem, seu questionamento é um tanto vago e de certa forma, difícil de ser respondido com precisão, já que não conhecemos o seu sistema.

Haver erros em produção é sempre possível. Tudo vai depender do quão seguro é o desenvolvimento e quão sólido está o projeto. O uso de um framework estável, além de agilizar o processo, também reduz muitos riscos (como o citado por você, por exemplo).

De qualquer forma, recomendo que você faça testes com casos de uso e posteriormente, libere o sistema para utilização gradativamente. Isso te dará um certo controle sobre correção de bugs ou qualquer problema que venha a ser encontrado.

 

Espero ter ajudado!


Obrigado pelo compartilhamento. O fato de usar PHP puro é nada mais do que a dificuldade de acesso aos Frameworks. Por exemplo, o projeto está sendo manipulado diretamente em um ambiente de hospedagem de site para que consigamos reproduzir a convivência real dele. Pelo que tenho lido, o uso de Framworks requer instalação local, isso e aquilo(é por isso que estou buscando consultoria premium).

Tenho aprendido sobre MVC e pretendo importar o painel para esta arquitetura, mas o sonho de usar Framework ainda está longe pelo grau de dificuldade encontrada.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By leonardoc.g
      Quando eu tento fazer conexão no banco de dados pelo Dreamweaver me aparece essa mensagem:
       
      your php server doesn't have the MySQL module loaded or you cant't use the mysql_(p)connect functions
       
       
    • By Julie_santiago
      Olá!
      Pessoal, preciso muito de um help urgente. Estou tentando fazer uma simples query ao banco de dados, usando o Axios. Mas, não importa a forma de fazer a requisição, o Axios não funciona. O HTML está abaixo, onde chamo a função enviaDados() através do onsubmit.
      <div class="input-group md-form"> <form method="get" onsubmit="enviaDados()" name="buscar"> <input type="text" id="Form-search2" class="form-control" name="nomeReagente"> <label for="Form-search2">Search</label> <input type="submit" name="pesquisar" value="buscar"> </form> <span class="input-group-text dark lighten-2" id="basic-text1"> <i class="fas fa-search text-dark" aria-hidden="true"></i> </span> </div> Meu arquivo main.js que contém a função enviaDados().
      function enviaDados(){ let nome = buscar.nomeReagente.value recebeDados(nome); } Dentro dessa função, estou chamando outra: recebeDados() que executa a requisição Axios. Passo como parâmetro o valor lá do meu input. OBS.: Meu código está assim, aparentemente confuso, porque o objetivo é ter funções que enviam os dados dos meus formulários e outras funções (genéricas) para receber e tratar esses dados. Abaixo a função recebeDados():
      function recebeDados(nome_reagente){ axios.get('http://localhost/Quimica/php/recebe_json.php', { params: { nome } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log('Não foi possível realizar a requsição: '+error); }) .finally(function () { }); } Não importa o que eu faça, sempre cai no CATCH  - request aborted. Preciso muito resolver esse problema, mas não faço ideia do que pode ser. Relevem qualquer "noobice" porque estou aprendendo o básico ainda.
       
    • By JeanTDZ
      Olá pessoal!
       
      Estou com uma tremenda dificuldade.
      Tenho um formulário na qual está funcionando e cadastrando, porém preciso que o meu botão adicionar autorizado funcione e mostre o que foi digitado para o e-mail. As informações na vdd é enviada para o e-mail e o que será enviado é oque será digitado.
       
      Simplificando ->
      Tenho um botão que adiciona 2 inputs (NOME E SALDO) e conforme for clicando nesse botão, vai adicionando mais campos.
      Dúvida: Como posso fazer com que grave o que foi digitado nesses campos?
       
      Segue o que eu tentei fazer até agora:

      HTML
      <!DOCTYPE html> <html>     <head>         <title>Chame Taxi PrePago</title>                 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />         <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>         <link rel="icon" type="image/x-icon" href="https://www.flaticon.com/premium-icon/icons/svg/1361/1361253.svg" />         <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>     </head>     <body>         <br />         <div class="container" style="width:100%; max-width:600px">             <h2 align="center">Pré-Pago</h2>             <br />             <div class="panel panel-default">                 <div class="panel-heading"><h4>Registrar</h4></div>                 <div class="panel-body">                     <form method="post" id="register_form">                         <?php echo $message; ?>                         <div class="form-group">                             <label>Nome Completo</label>                             <input type="text" name="user_name" style="text-transform:uppercase" class="form-control" pattern="[a-zA-Z ]+" required />                         </div>                         <div class="form-group">                             <label>E-mail</label>                             <input type="email" name="user_email"  style="text-transform:uppercase" class="form-control" required />                         </div>                         <div class="form-group">                             <label>CEP</label>                             <input type="text" name="campob" id="cep" value="" maxlength="9" onblur="pesquisacep(this.value);" class="form-control">                         </div>                         <div class="form-group"> <table id="myTable" class="table"> <a class="btn btn-primary" onclick="myFunction()" href="#" role="button">Adicionar Autorizado</a>             <thead>                 <tr>                     <th>NOME</th>                     <th>SALDO</th>                 </tr>             </thead>         </table>                         <div class="form-group">                             <input type="submit" name="register" id="register" value="Validar" class="btn btn-info" />                         </div>                     </form>                 </div>             </div>         </div>     </body> </html> JAVASCRIPT 
       
          <script>         var incremento = -1;         function myFunction() {             incremento++;             var table = document.getElementById("myTable");             var row = table.insertRow(0);             var cell1 = row.insertCell(0);             var cell2 = row.insertCell(1);             var cell3 = row.insertCell(2);             var cell4 = row.insertCell(3);             cell1.innerHTML = "NOME";             cell2.innerHTML = '<input type="text" name="name1[${incremento}]" >';             cell3.innerHTML = "SALDO";             cell4.innerHTML = '<input type="text" name="saldo[${incremento}]" size="15px" >';         }     </script>  
    • By gramosiri2
      Oi estou tentando passar um valor através de uma variável em uma query, porém não está mostrando o resultado que eu quero.
       
      Aqui eu pego o ultimo id do pedido
      <?php while($row = $consulta_pedido2->fetch_assoc()){ echo $row['id_pedido']; }?> E aqui eu faço a query e passo variável...
      $query ="SELECT itempedido.id_itempedido, itempedido.valor, ... FROM itempedido INNER JOIN produto ON ... WHERE itempedido.pedido_id = '$row'"; No caso onde está a variável $row, se eu colocar o numero do pedido manualmente, me retorno os itens daquele pedido, agora com a variável não está mostrando, alguma ideia?
    • By gustavodubarbosa
      Estou criando uma página que realize monitoramento de atividades.
      No meu código PHP defini uma variável que busca a data atual, depois passei o parâmetro de conexão com o banco de dados, depois criei um while para buscar as informações, dentro do while criei um if, a condição if é que se a variável data for igual a data cadastrada na atividade, exiba toda a atividade cadastrada. Mas o problema é que o if não está controlando essa condição, está passando direto e exibindo tudo.
      <?php $number = ('23'); $data = date("Y-m-d"); echo "$data"; /*Aqui realizo a conexão com o banco de dados, passo os dados para conectar, caso dê algum erro, o sistema me retorna uma mensagem de erro*/ $conect = mysqli_connect('localhost','root','','projeto_pessoal') or die ('Erro na conexão com o banco de dados'); /*Aqui passo o comando para realizar a busca no banco de dados, aplicando o filtro de pesquisa*/ $result_pesquisa = "SELECT * FROM cadastrar_atividade"; /*Neste momento, mando a execução, preciso passar como parametro a variável com a conexão e a variável com o comando, caso dê erro, será exibido uma mensagem*/ $resultado_pesquisa = mysqli_query($conect, $result_pesquisa); /*Aqui é aberto um laço de repetição para fazer uma varredura no banco de dados, em seguida realizo a exibição do que foi encontrado*/ ?> <h1>Resultado da Pesquisa</h1> <?php while($rows_pesquisa = mysqli_fetch_array($resultado_pesquisa)){ if($rows_pesquisa['prazo'] == $data) echo '<p class="title">'.'ID da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['id'].'<br>'.'</p>'; echo '<p class="title">'.'Nome da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['nome_atividade'].'<br>'.'</p>'; echo '<p class="title">'.'Descrição da atividade: '.'</p>'.'<p class="result">'.$rows_pesquisa['desc_atividade'].'<br>'.'</p>'; echo '<p class="title">'.'Prioridade: '.'</p>'.'<p class="result">'.$rows_pesquisa['prioridade'].'<br>'.'</p>'; echo '<p class="title">'.'Prazo: '.'</p>'.'<p class="result">'.$rows_pesquisa['prazo'].'<br>'.'</p>'; echo 'carregado'; echo '<hr></hr>'; } ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.