Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Anderson Maciel

PHP puro x Frameworks

Recommended Posts

Bom dia pessoal,

 

Gostaria de tirar algumas dúvidas:

 

Em toda a minha carreira me dediquei a outras atividades como atividade principal mas sempre fiz um projetinho web aqui e outro ali utilizando ASP Clássico, sei que esta linguagem não é muito utilizada hoje em dia, mas para meus projetos na época atendiam bem, pretendo migrar para o PHP e vejo que no mercado se fala muito em framework como Laravel, Symfony entre outros.

 

O que faz mais sentido ? Aprender PHP Puro e depois ir para Frameworks ou iniciar o aprendizado direto com um destes frameworks de mercado?

 

Se a resposta for ir direto para frameworks, qual seria o melhor para um iniciante em PHP? 

 

Por ter mais de 10 anos de ASP Clássico vocês acham que terei dificuldades com o PHP?

 

Agradeço pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pense assim:

 

E se amanha o framework não existir mais?

Os frameworks estão surgindo aos montes pq é uma trend do mercado porque pelo mercado a fora é "linha de produção" e os frameworks ajudam nesse quesito de acelerar o trabalho e também de padroniza-lo de modo que outros devs saberão o que você quis dizer com cada linha do seu código.

 

Mas, e se o framework amanha não existir mais e você "sabia" php apenas pelo framework?!

Isso acontece aos montes com devs de front-end. 9 em 10 utilizam o bootstraap mas na hora que aparece uma personalização ou algo que o framework não atende, os problemas surgem porque não dominam a base dele que é CSS e JS basicamente.

 

Minha recomendação é:

 

Faça o PHP puro, seja ele estruturado ou orientado a objeto.

Eu particularmente prefiro trabalhar sempre com php estruturado sem frameworks.

 

Depois disso se você ver que precisa de algo rapido e padronizado, ai sim parta para os frameworks.

Os que eu vejo mais utilizarem é o Laravel, Symfoni e o Zend

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Anderson Maciel Qualquer que seja a linguagem que dominastes, na migração para outra fica muito mais simples, uma vez que já conhece o conceito lógico do que é programar.

 

Sobre usar framework... De cara nunca se deve adotar tal coisa, primeiramente aconselho que aprenda no caso aqui o PHP, e só quando tiver pleno domínio aí sim você mesmo se faça a pergunta:

Preciso usar algum framework?

 

Porque convenhamos, digamos que certa pessoa tenha centenas de horas de voo em um simulador, não quer dizer que ela saiba pilotar um avião, que por outro lado em qualquer problema ele não saberá o que fazer por não ter "EXPERIÊNCIA".

A mesma coisa se aplica ao que quero chegar, se você começa a usar um framework sem saber sua essência, quando "e vai acontecer" de ser pego de surpresa e não ter a comodidade do fw para lhe ajudar, porque não tem experiência ou ficou unicamente dependente do fw e quando usava nem mesmo saiba o que de fato estava fazendo, porque é isso que acontece com quem se joga a cegas nisso.

 

Eu particularmente nunca usei algum framework em trabalhos que fiz, mas se fosse usar sem questionar usaria o Zend, porque é de longe o melhor na minha opinião ao comparar o código dele com os demais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por leonardorafaeldev
      Boa noite pessoal estou com um problema que o icone do meu site não aparece no mobile segue uma foto do problema o meu codigo esta assim
       
      <!-- icones -->   <link href="icones/favicon.ico" rel="icon">   <link href="icones/favicon.ico" rel="shortcut icon">    <link rel="apple-touch-icon" sizes="57x57" href="icones/apple-icon-57x57.png">   <link rel="apple-touch-icon" sizes="60x60" href="icones/apple-icon-60x60.png">   <link rel="apple-touch-icon" sizes="72x72" href="icones/apple-icon-72x72.png">   <link rel="apple-touch-icon" sizes="76x76" href="icones/apple-icon-76x76.png">   <link rel="apple-touch-icon" sizes="114x114" href="icones/apple-icon-114x114.png">   <link rel="apple-touch-icon" sizes="120x120" href="icones/apple-icon-120x120.png">   <link rel="apple-touch-icon" sizes="144x144" href="icones/apple-icon-144x144.png">   <link rel="apple-touch-icon" sizes="152x152" href="icones/apple-icon-152x152.png">   <link rel="apple-touch-icon" sizes="180x180" href="icones/apple-icon-180x180.png">   <link rel="icon" type="image/png" sizes="192x192"  href="icones/android-icon-192x192.png" >   <link rel="icon" type="image/png" sizes="36x36" href="icones/android-icon-36x36.png">   <link rel="icon" type="image/png" sizes="48x48" href="icones/android-icon-48x48.png">   <link rel="icon" type="image/png" sizes="96x96" href="icones/android-icon-96x96.png">   <link rel="icon" type="image/png" sizes="144x144" href="icones/android-icon-144x144.png">   <link rel="icon" type="image/png" sizes="72x72" href="icones/android-icon-72x72.png">   <link rel="icon" type="image/png" sizes="32x32" href="icones/favicon-32x32.png">   <link rel="icon" type="image/png" sizes="96x96" href="icones/favicon-96x96.png">   <link rel="icon" type="image/png" sizes="16x16" href="icones/favicon-16x16.png">   <link rel="manifest" href="icones/manifest.json">   <meta name="msapplication-TileColor" content="#ffffff">   <meta name="msapplication-TileImage" content="icones/ms-icon-144x144.png">   <meta name="theme-color" content="#ffffff">   <meta charset="utf-8">   <meta content="width=device-width, initial-scale=1.0" name="viewport">
    • Por Onaita
      Boa noite, preciso de uma ajuda com o código abaixo:
      - Dentro da variável '$dados' tenho uma array em que o id repete com datas diferentes, preciso descartar uma das duas arrays repetidas com o mesmo 'id', mantendo a de menor data, ou seja, o resultado final seria:
      "Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) , [1] => Array ( [id] => 13 [data] => 2020-06-10 ) ) "
      - já tentei de tudo um pouco a princípio estou trabalhando com a ideia de loop dentro de loop, para varrer e comparar, mas como vcs podem ver estou deixando passar alguma coisa;
      <?php
      $dados =     [array("id" =>12, "data"=>"2020-07-02"),
                  array("id" =>13, "data"=>"2020-06-10"),
                  array("id" =>13, "data"=>"2020-06-15"),
                  array("id" =>12, "data"=>"2020-05-12")];
      $total = count($dados);
      foreach($dados as $item){
          for($i=1; $i < $total; $i++){
              if($item['id'] == $dados[$i]['id']){
                  if(strtotime($item['data']) <= strtotime($dados[$i]['data'])){
                      unset($dados[$i]);
                      $dados = array_values($dados);
                      $total = count($dados);
                      
                  }    
              }    
          }    
      }
      print_r($dados);
      Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) ) //resultado
       
      Se alguém achar o erro, ou uma forma de resolver esse problema ficarei muito agradecido!
      Obrigado e Um grande abrs a todos!
    • Por Licht
      Quero um programa que leia vários numeros e informa quantos pares foram digitados. Quando o número 0 (zero) for digitado ele para a execucao. O programa entra num loop e nao funciona como gostaria <?php             $cont= 0;             do {                 echo "<form method='GET' action='exemplo.php'><br/>";                 echo "<h1>Quantidade de numeros pares</h1><br/>";                 echo "<label for='num'>Numero: </label><br/>";                 echo "<input type='number' name='num'/><br/><br/>";                 echo "<input type='submit' value='Verificar'>";                 echo "</form>";                 echo "Contador: $cont";                 $num_verificar = isset($_GET["num"]) ? $_GET["num"] : ' ';                 if($num_verificar%2 == 0)                     $cont ++;             } while ($num_verificar != 0);             echo "Quantidade de numeros pares eh $cont! <br/>"; ?>             
    • Por G_Celebrini
      Eu tô no primeiro ano de faculdade e tenho que criar um jogo da velha com as seguintes regras: Desenvolver o Jogo da Velha utilizando matrizes. O jogo deve ser preparado para a interação entre dois usuários. Os usuários deverão escolher os símbolos que utilizarão no jogo. Cada partida deverá ser composta de três rodadas. O resultado final deve considerar que ganhou duas ou três partidas como vencedor. Havendo um empate e uma vitória para cada lado, o sistema deverá propor uma partida final. Caso os usuário declinem desta partida deverá ser considerado empate técnico. Deve haver rotina específica para que os usuários optem pelo abandono do jogo dando, nesse caso, a vitória da rodada ao adversário.
      Eu ainda sou bem iniciante em programação e tenho esse código até agora:
       
      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8"/>
          <title> Bagulho é doido memo </title>
          <style type="text/css">
      #text {
         
         font-size: 45px;
      }
      </style>
      </head>
      <body>
          <input type=submit value="1"
          onclick = "location.href = 'testes.php?id=1'">
          <input type=submit value="2"
          onclick = "location.href = 'testes.php?ad=1'">
          <input type=submit value="3"
          onclick = "location.href = 'testes.php?bd=1'">
          <input type=submit value="4"
          onclick = "location.href = 'testes.php?cd=1'">
          <input type=submit value="5"
          onclick = "location.href = 'testes.php?dd=1'">
          <input type=submit value="6"
          onclick = "location.href = 'testes.php?ed=1'">
          <input type=submit value="7"
          onclick = "location.href = 'testes.php?fd=1'">
          <input type=submit value="8"
          onclick = "location.href = 'testes.php?gd=1'">
          <input type=submit value="9"
          onclick = "location.href = 'testes.php?hd=1'">
          <input type=submit value="10"
          onclick = "location.href = 'testes.php?jd=1'">
          <input type=submit value="20"
          onclick = "location.href = 'testes.php?kd=1'">
          <input type=submit value="30"
          onclick = "location.href = 'testes.php?ld=1'">
          <input type=submit value="40"
          onclick = "location.href = 'testes.php?md=1'">
          <input type=submit value="50"
          onclick = "location.href = 'testes.php?nd=1'">
          <input type=submit value="60"
          onclick = "location.href = 'testes.php?od=1'">
          <input type=submit value="70"
          onclick = "location.href = 'testes.php?pd=1'">
          <input type=submit value="80"
          onclick = "location.href = 'testes.php?qd=1'">
          <input type=submit value="90"
          onclick = "location.href = 'testes.php?rd=1'">
          <h1></h1>
          <?php

      //----------------------------------------------------------------------------------------------------------------------------------------//
      //início do código php, que começa com a declaração do array multidimensional que vai ser o jogo da velha
      //----------------------------------------------------------------------------------------------------------------------------------------//

          $hash_game = array(
           array("barra1" => "|","espaço1" => "---","barra2" => "|","espaço2" => "---","barra3" => "|","espaço3" => "---","barra" => "|"),
           array("barra4" => "|","espaço4" => "---","barra5" => "|","espaço5" => "---","barra6" => "|","espaço6" => "---","barra_" => "|"),
           array("barra7" => "|","espaço7" => "---","barra8" => "|","espaço8" => "---","barra9" => "|","espaço9" => "---","barra__" => "|")
          );
          $vitoria_x = 0;
          $vitoria_o = 0;
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //procedimento responsável por exibir o array
      //----------------------------------------------------------------------------------------------------------------------------------------//

          function exibir_jogo ($hash_game) {
              echo $hash_game[0]['barra1'];
              echo $hash_game[0]['espaço1'];
              echo $hash_game[0]['barra2'];
              echo $hash_game[0]['espaço2'];
              echo $hash_game[0]['barra3'];
              echo $hash_game[0]['espaço3'];
              echo $hash_game[0]['barra'];
              echo "<br/>";
              echo $hash_game[1]['barra4'];
              echo $hash_game[1]['espaço4'];
              echo $hash_game[1]['barra5'];
              echo $hash_game[1]['espaço5'];
              echo $hash_game[1]['barra6'];
              echo $hash_game[1]['espaço6'];
              echo $hash_game[1]['barra_'];
              echo "<br/>";

              echo $hash_game[2]['barra7'];
              echo $hash_game[2]['espaço7'];
              echo $hash_game[2]['barra8'];
              echo $hash_game[2]['espaço8'];
              echo $hash_game[2]['barra9'];
              echo $hash_game[2]['espaço9'];
              echo $hash_game[2]['barra__'];
          }
          exibir_jogo ($hash_game);
          
          echo "<br/>";
          echo "<br/>";
          echo "<br/>";
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //condicionais para fazerem os botões exibirem "x" ou "o"
      //----------------------------------------------------------------------------------------------------------------------------------------//

          if(isset($_GET['id']) == 1){
       $hash_game[0]['espaço1'] = "-x-";
       echo "<br/>";    
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['ad']) == 1){
       $hash_game[0]['espaço2'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['bd']) == 1){
       $hash_game[0]['espaço3'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['cd']) == 1){
       $hash_game[1]['espaço4'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['dd']) == 1){
       $hash_game[1]['espaço5'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['ed']) == 1){
       $hash_game[1]['espaço6'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['fd']) == 1){
       $hash_game[2]['espaço7'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['gd']) == 1){
       $hash_game[2]['espaço8'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['hd']) == 1){
       $hash_game[2]['espaço9'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
      if(isset($_GET['jd']) == 1){
       $hash_game[0]['espaço1'] = "-o-";
       echo "<br/>";    
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['kd']) == 1){
       $hash_game[0]['espaço2'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['ld']) == 1){
       $hash_game[0]['espaço3'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['md']) == 1){
       $hash_game[1]['espaço4'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['nd']) == 1){
       $hash_game[1]['espaço5'] = "-o-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['od']) == 1){
       $hash_game[1]['espaço6'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['pd']) == 1){
       $hash_game[2]['espaço7'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['qd']) == 1){
       $hash_game[2]['espaço8'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
          if(isset($_GET['rd']) == 1){
       $hash_game[2]['espaço9'] = "-x-";
       echo "<br/>";        
       exibir_jogo ($hash_game);
      }
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //condicionais que determinam a vitória de x
      //----------------------------------------------------------------------------------------------------------------------------------------//
      if (($hash_game[0]['espaço1'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[2]['espaço9'] == "-x-") || ($hash_game[0]['espaço3'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[2]['espaço7'] == "-x-") || ($hash_game[0]['espaço1'] == "-x-" && $hash_game[0]['espaço2'] == "-x-" && $hash_game[0]['espaço3'] == "-x-") || ($hash_game[1]['espaço4'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[1]['espaço6'] == "-x-") || ($hash_game[2]['espaço7'] == "-x-" && $hash_game[2]['espaço8'] == "-x-" && $hash_game[2]['espaço9'] == "-x-") || ($hash_game[0]['espaço1'] == "-x-" && $hash_game[1]['espaço4'] == "-x-" && $hash_game[2]['espaço7'] == "-x-") || ($hash_game[0]['espaço2'] == "-x-" && $hash_game[1]['espaço5'] == "-x-" && $hash_game[2]['espaço8'] == "-x-") || ($hash_game[0]['espaço3'] == "-x-" && $hash_game[1]['espaço6'] == "-x-" && $hash_game[2]['espaço9'] == "-x-")){
          $vitoria_x = $vitoria_x + 1;
      }
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //condicionais que determinam a vitória de o
      //----------------------------------------------------------------------------------------------------------------------------------------//

      if (($hash_game[0]['espaço1'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[2]['espaço9'] == "-o-") || ($hash_game[0]['espaço3'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[2]['espaço7'] == "-o-") || ($hash_game[0]['espaço1'] == "-o-" && $hash_game[0]['espaço2'] == "-o-" && $hash_game[0]['espaço3'] == "-o-") || ($hash_game[1]['espaço4'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[1]['espaço6'] == "-o-") || ($hash_game[2]['espaço7'] == "-o-" && $hash_game[2]['espaço8'] == "-o-" && $hash_game[2]['espaço9'] == "-o-") || ($hash_game[0]['espaço1'] == "-o-" && $hash_game[1]['espaço4'] == "-o-" && $hash_game[2]['espaço7'] == "-o-") || ($hash_game[0]['espaço2'] == "-o-" && $hash_game[1]['espaço5'] == "-o-" && $hash_game[2]['espaço8'] == "-o-") || ($hash_game[0]['espaço3'] == "-o-" && $hash_game[1]['espaço6'] == "-o-" && $hash_game[2]['espaço9'] == "-o-")){
          $vitoria_o = $vitoria_o + 1;
      }
      //----------------------------------------------------------------------------------------------------------------------------------------//
      //----------------------------------------------------------------------------------------------------------------------------------------//

      echo "<br/>";
          ?>
      </body>
      </html>
       
       
      Eu criei a matriz e tentei usar botôes pra chamar funções dando "ids" para eles, mas toda fez que eu aperto um botão a página recarrega, perdendo todas as informações colocadas antes, esse é o meu principal problema agora. Se alguém puder me ajudar...
    • Por Th14g0
      Novato em php, está dando erro ao enviar e-mail
       
      Código do form:
      <form action="contato.php" method="post" id="orcamento">
                              <div class="input-field">
                                  <input type="text" name="name" id="name" required="true">
                                  <label for="name">Nome</label>
                              </div>
                              <div class="input-field">
                                  <input type="email" name="email" id="email" required="true">
                                  <label for="email">E-mail</label>
                              </div>
                              <div class="input-field">
                                  <input type="text" name="assunto" id="assunto" required="true">
                                  <label for="assunto">Assunto</label>
                              </div>
                              <select class="browser-default" name="service" id="service" required="true">
                                  <option value="" disabled selected>Selecione o serviço:</option>
                                  <option value="1">Industrial e Comercial</option>
                                  <option value="2">Imóveis</option>
                                  <option value="3">Jurídico</option>
                                  <option value="" disabled="">Outros</option>
                                  <option value="4">Sugestões</option>
                                  <option value="5">Dúvidas</option>
                                </select>
                              <div class="input-field">
                                  <textarea id="message" name="message" class="materialize-textarea"></textarea>
                                  <label for="message">Mensagem</label>
                              </div>
                              <button class="btn color-y" type="submit">Enviar</button>
       
      php
       
      <?php
      // Recebendo dados do formulário
      $name = $_POST['name'];
      $email = $_POST['email'];
      $assunto = $_POST['assunto'];
      $service = $_POST["service"];
      $message = $_POST['message'];

      $headers = "Content-Type: text/html; charset=utf-8\r\n";
      $headers .= "From: $email\r\n";
      $headers .= "Reply-To: $email\r\n";
      // Dados que serão enviados
      $corpo = "Formulário da página de contato <br>";
      $corpo .= "Nome: " . $name . " <br>";
      $corpo .= "Email: " . $email . " <br>";
      $corpo .= "Assunto: " . $assunto . " <br>";
      $corpo .= "Serviço: " . $service . " <br>";
      $corpo .= "Mensagem: " . $message . " <br>";
      // Email que receberá a mensagem (Não se esqueça de substituir)
      $email_to = 'contato@saudetotalvendasonline.com.br';
      // Enviando email
      $status = mail($email_to, mb_encode_mimeheader($service, "utf-8"), $corpo, $headers);
      if ($status):
        // Enviada com sucesso
        header('location:index.php?status=sucesso');
      else:
        // Se der erro
        header('location:index.php?status=erro');
      endif;
      ?>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.