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 danteblatt
      Olá Srs,
      Não tenho muito conhecimento em PHP e estou com um formulário onde o usuário tem alguns campos para preencher e gravar no banco de dados SQL, sendo que um campo deste form será dinâmico onde o usuário poderá adicionar quantos campos forem necessários a partir de um botão "+".
      Nome do campo dinâmico: chavenf
      Segue abaixo o código do formulário:
      <form method="POST" action="../includes/mf-processa.php"> <div class="form-group"> <div class="form-row"> <div class="form-group col-md-4"> <input type="hidden" name="usuario[]" value="<?php echo $_SESSION['usuarioNome']; ?>" /> <select class="form-control" id="tipo" name="tipo[]"> <option selected>Tipo</option> <option>1</option> <option>2</option> </select> </div> <div class="form-group col-md-4"> <select class="form-control" id="prioridade" name="prioridade[]"> <option selected>Prioridade</option> <option>Alta</option> <option>Padrão</option> </select> </div> <div class="form-group col-md-4"> <input class="form-control" type="text" name="fornecedor[]" placeholder="Fornecedor" id="fornecedor"> </div> </div> <div style="display:none;" class="form-row" id="chavecte"> <div class="form-group col-md-12"> <label>Chave </label> <input class="form-control" type="text" name="chavecte[]"> </div> </div> <div class="form-row" id="row-nota"> <div class="form-group col-md-12"> <label>Chave da NF </label> <input class="form-control" type="text" name="chavenf[]" id="chavenf"> </div> </div> <div style="display:none;" class="form-row" id="add-field-nf"> <div class="form-group col-md-2"> <button type="button" class="btn btn-primary" id="add"> + </button> </div> </div> <div class="form-row"> <div class="form-group col-md-2"> <input type="submit" class="btn btn-primary" value="Cadastrar"> </div> </div> </div> </form> <script> $( "#add" ).click(function() { $( "#row-nota" ).append('<div class="form-group col-md-12"><input class="form-control" type="text" name="chavenf[]" id="chavenf"></div>'); }); </script> Abaixo o arquivo que conecta e insere no BD, "mf-processa.php"
      <?php session_start(); include_once("conexao.php"); $prioridade = filter_input(INPUT_POST, 'prioridade', FILTER_SANITIZE_STRING); $usuarioentrada = filter_input(INPUT_POST, 'usuario', FILTER_SANITIZE_STRING); $tipofrete = filter_input(INPUT_POST, 'tipofrete', FILTER_SANITIZE_STRING); $fornecedor = filter_input(INPUT_POST, 'fornecedor', FILTER_SANITIZE_STRING); $chavenf = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavenf', FILTER_SANITIZE_STRING)); $chavecte = preg_replace("/\s+/", "", filter_input(INPUT_POST, 'chavecte', FILTER_SANITIZE_STRING)); $nNF = substr($chavenf, 25, 9); $timenow = date('d-m-Y'); $timenow .= ' '.date('H:i:s'); $qtnotas = count($chavenf)-1; for ($f = 0; $f <= $qtnotas; $f++) { $sql = "INSERT INTO base (data, usuarioentrada, prioridade, tipofrete, nf, fornecedor, chavenf, chavecte, acao, dataretorno, usuariofiscal) VALUES ( '.$timenow[$f].', '.$usuarioentrada[$f].', '.$prioridade[$f].', '.$tipofrete[$f].', '.$nNF[$f].', '.$fornecedor[$f].', '.$chavenf[$f].', '.$chavecte[$f].', '', '', '' )" or die ("<center>Erro: " . mysqli_error() . "</center>"); $insert = mysqli_query($conn, $sql); if(mysqli_insert_id($conn)){ $_SESSION['msgrec'] = "<p style='color:green;'>Nota cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }else{ $_SESSION['msgrec'] = "<p style='color:red;'>Nota não cadastrada com sucesso!</p>"; header("Location: ../recebimento/recebimento.php"); }  
       
      Veja o erro retornado na página.. Já tentei alterar o código e mesmo assim não consegui efetuar a inserção dos dados no BD.
       
      ( ! ) Warning: count(): Parameter must be an array or an object that implements Countable in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 31 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 41 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0  
      ( ! ) Notice: Uninitialized string offset: 0 in D:\Wamp\www\RecebimentoAdm\includes\mf-processarecebimento.php on line 42 Call Stack # Time Memory Function Location 1 0.0001 411528 {main}( ) ...\mf-processarecebimento.php:0
    • By lordstarlight
      Olá, 
       
      Como posso bloquear todos ips, menos o meu para acesso ao meu site?
      preciso fazer isto para poder fazer manutenção.
       
      obrigado!
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By groudon900
      Estou cursando aula pra aprender php e eu estava montando uma pagina de login, está tudo certo, mas não consegue conectar de jeito nenhum vou mandar o código pra vocês darem uma olhada
      banco de dados "aula"
      tabela "usuarios"
       
      contem, usuarios, senha, email e ID
       
       
      <?php require_once"config.php" ?> <?php if ( isset($_POST["usuario"])) { $usuario = $_POST["usuario"]; $senha = $_POST["senha"]; $login = "SELECT * "; $login .= "FROM usuarios "; $login .= "WHERE usuario = '{$usuario}' and senha = '{$senha}' "; $acesso = mysqli_query($conecta, $login); if ( !$acesso) { die("Falha na consulta ao banco!"); } $informacao = mysqli_fetch_assoc($acesso); if ( empty($infomacao)) { $mensagem = "login sem sucesso"; } else { header("location:listagem.php"); } } ?>  
    • By Emilio Saymon
      tenho um site que precisa que assim que eu aperte um botão ele verifiquei se a variavel sala for sala 1 ele abre no modal da sala1 se não abre no modal da sala2. Dei uma pesquisada e vi que da pra fazer com a função onclik(), mas não tenho noção como fazer. Aqui vai o código.
      botão <td><a href="#" class="btn btn-primary" data-toggle="modal" data-target="#modalLoginForm">XXX</a></td> <!-- sala 1 --> <div class="modal-body mx-3"> <div class="md-form mb-4"> <form method="POST" action="valida.php"> <h6>Sala 1</h6> <input type="password" class="form-control validate" name="senha"> </div> </div> <button type="submit" class="btn btn-primary" name="enviar">Entrar</button> </form> </div> </div> </div> </div> </div> <!-- sala 2 --> <div class="modal fade" id="modalLoginForm2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header text-center"> <h4 class="modal-title w-100 font-weight-bold">Senha</h4> <button type="btn-primary" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body mx-3"> <div class="md-form mb-4"> <form method="POST" action="valida.php"> <p>Sala 2</p> <input type="password" class="form-control validate" name="senha2"> </div> </div> <div class="modal-footer d-flex justify-content-center"> <button type="submit" class="btn btn-primary" name="enviar1">Entrar</button> </form> </div> </div> </div> </div>  
×

Important Information

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