Ir para conteúdo
vailson

Iniciando no PHP - primeiro passo?

Recommended Posts

Olá pessoal, tudo bem?

Tenho uma aplicação rodando no MS Access. Sinto a necessidade de mudar para a web. Gostaria de ajuda em por onde começar. Já tenho um domínio e uma hospedagem. Literalmente não sei qual o primeiro passo a dar.

A aplicação que planejo tem apenas formulários e relatórios.

Agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se está iniciando no PHP, inclusive a parte de server, e quer fazer uma migração, sugiro iniciar com Linux. 

 

Ambiente

A escolha do ambiente de desenvolvimento é importante, pois, a maioria das linguagens possui um ambiente de desenvolvimento específico (mesmo que possam ser desenvolvidas em qualquer tipo de ambiente). Isso não é diferente no PHP.

 

A maioria das ferramentas do PHP são nativas do Linux e portadas para outros ambiente, ou, apenas pegam carona na compatibilidade que um ambiente possui com o linux.

 

Recomendo a distro Debian, que pode ser utilizada como servidor e ajuda muito no desenvolvimento. A instalação do debian é simples. Você pode criar uma VM do zero, utilizando VirtualBox (ou algum outro programa de virtualização), ou baixar alguma imagem pronta para desenvolvimento na internet.

 

Outra jogada interessante é utilizar o Vagrant ou o Docker para gerenciar o ambiente de desenvolvimento .

 

Links úteis:

Usando o Vagrant como ambiente de desenvolvimento no Windows

Criando um ambiente de desenvolvimento PHP com Docker Compose

 

Configurando o Ambiente

Após a escolha do ambiente, e se sua escolha foi por um ambiente limpo (zerado), deve-se instalar o básico:

 

PHP

$ apt-get update
$ apt-get upgrade
$ apt-get install php

Será necessário permissão de admin, para entrar como admin, use apenas:

$ su

E insira a senha que cadastrou para o usuário root ao instalar o Debian.

 

Caso der erro na biblioteca do PHP, altere de php para php7.0:

$ apt-get install php7.0

Se utilizar apenas PHP, ele irá pegar a versão estável corrente.

 

Servidor

O PHP já possui um servidor para desenvolvimento embutido. Dessa forma, não é necessário instalar o Apache, fica a seu critério.

 

Basicamente, para iniciar o servidor PHP, basta navegar até a pasta que deseja que seja o root do seu projeto e iniciar o servidor, especificando uma porta de acesso:

$ cd /pasta/do/projeto/
$ php -S localhost:8000

Para acessar o sevidor, basta utilizar algum browser e acessar o endereço http://localhost:8000.

 

Caso desejes utilizar o apache:

$ apt-get install apache2

Será criada uma pasta no seguinte caminho:

/var/www/html/

É a partir daí que o seu projeto será executado. Algumas versões não possuem a pasta html, acredito que na versão atual possui (eu não utilizo mais apache para o desenvolvimento).

 

Links úteis:

Linux: Terminal Básico

Passo-a-passo como criar um servidor web Apache2, PHP 7.0, MariaDB, PHPMyAdmin “LAMP” no Debian 9 Stretch

 

IDE

Isso é pessoal, pode escolher a que quiser, seja VI, VIM, PHPStorm, Zend Studio, Sublime, Kate, etc... Algumas são pagas e outras gratuitas. Particularmente, eu utilizo Kate pela simplicidade, leveza e limpeza rápida de formatação (não que outras não plataformas não tenham, mas a dele é muito rápida e leve) e Zend Studio, pois, zendo ZCPE eu possuo uma licença vitalícia.

 

Banco de dados

Assim como qualquer outra instalação, o banco de dados não fica de fora. Você deve instala-lo via apt-get. Fica a sua escolha, MySQL, MariaDB, PostgreSQL, etc..

 

Particularmente, eu utilizo PostgreSQL. Mas é uma preferências apenas por um server gratuito mais robusto que MySQL.

 

Considerações

Considere tudo isso apenas como dicas que vão lhe facilitar, no futuro, a interação com o desenvolvimento em PHP além de resolver diversas questões relacionadas aos ambientes.

 

Se quiser uma ideia mais fácil, baixe apenas algum stack LAMP (Linux, Apache, MySQL e PHP), tal qual WampServer, XAMPP ou EasyPHP, e terá um ambiente completo em uma máquina Windows/Linux.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Ana Paula dos Santos
      Olá pessoal, sou estudante de TI e não estou conseguindo desenvolver em php o cálculo de 3 variáveis que são escolhidas pelo usuário conforme formulário apresentado.
      Trata-se do cálculo de total de calorias ingeridas por uma pessoa, calculadas a partir da escolha do "cardápio". O cardápio apresenta apenas os nomes e em php eu preciso atribuir o valor das variáveis e somar as três variáveis escolhidas no cardápio. As escolhas são: um prato, uma sobremesa e uma bebida.
       
      O formulário está da seguinte forma:
       
      <html>
      <head>
      </head>
      <body>
      <h1><center>Quantidade de Calorias<center></h1>
      <br>
      <form method="POST" action="">
          <table align='center' border=1 width=300 height=50>
                  <tr>
                      <td align='center'>PRATOS</td>
                  </tr>
                  <tr>
                      <td><form> 
                          <input type="radio" name="pratos" value="1" checked> Arroz, feijão e carne<br>
                          <input type="radio" name="pratos" value="2"> Macarrão e frango<br>
                          <input type="radio" name="pratos" value="3"> Feijoada<br>
                          <input type="radio" name="pratos" value="4"> Sopa<br>
                          <input type="radio" name="pratos" value="5"> Pizza
                      </td></form>
                  </tr>    
          </table>
          <br>
          
          <table align='center' border=1 width=300 height=50>
                  <tr>
                      <td align='center'>SOBREMESAS</td>
                  </tr>
                  <tr>
                      <td><form> 
                          <input type="radio" name="sobremesas" value="1" checked> Salada de frutas<br>
                          <input type="radio" name="sobremesas" value="2"> Pudim<br>
                          <input type="radio" name="sobremesas" value="3"> Bolo<br>
                          <input type="radio" name="sobremesas" value="4"> Gelatina<br>
                          <input type="radio" name="sobremesas" value="5"> Torta de morango
                      </td></form>
                  </tr>    
          </table>
          <br>
          
          <table align='center' border=1 width=300 height=50>
                  <tr>
                      <td align='center'>BEBIDAS</td>
                  </tr>
                  <tr>
                      <td><form> 
                          <input type="radio" name="bebidas" value="1" checked> Água<br>
                          <input type="radio" name="bebidas" value="2"> Suco<br>
                          <input type="radio" name="bebidas" value="3"> Refrigerante<br>
                          <input type="radio" name="bebidas" value="4"> Refrigerante Light<br>
                          <input type="radio" name="bebidas" value="5"> Cerveja
                      </td></form>
                  </tr>
          </table>
          <br>
          
          <center><input type=submit value="Calcular"></center>
          
      </form>
       
      Não consigo atribuir os valores às variáveis e depois somar as variáveis selecionadas em php!!!
    • Por Thiiiziiin
      Olá pessoal, como vão?
      Estou com o seguinte problema, tenho uma tabela em um banco de dados e estou pegando os valores para gerar gráficos, com a API Charts.js.
      Estou fazendo um gráfico dinâmico, em tempo real, porém, se eu insiro um dado no banco de dados, não consigo alterar no gráfico (é preciso dar refresh na página para alterar).
      Toda a conexão com o banco de dados está correta, pois se eu atualizo a página, o gráfico altera com os valores que defini.

      Eu fiz testes utilizando o math.random(), e funcionou, atualizava conforme os valores aleatórios gerados por essa função.
      Quando defino para ler do banco de dados, fica estático.
      Minha conclusão é que a variável de conexão do banco de dados não se altera em tempo real.

      Existe a possibilidade de atualizar a variável a cada segundo em PHP?
      Segue o código que estou fazendo:
       
      <?php include('conexao.php'); $select = $PDO->query("SELECT corrente FROM tbdados ORDER BY id DESC limit 1"); $select->execute(); $result = $select->fetch(); // retorno do banco de dados mysql_close($select); ?> // Abaixo é o javascript da API Charts.js modificada <script type="text/javascript"> var ctx = document.getElementById('myChart').getContext("2d"); var gradientStroke = ctx.createLinearGradient(0, 0, 0, 0); gradientStroke.addColorStop(0, '#FFC800'); var pointStroke = ctx.createLinearGradient(0, 0, 0, 0); pointStroke.addColorStop(0, '#3f3f3f'); var gradientFill = ctx.createLinearGradient(0, 250, 0, 50); gradientFill.addColorStop(0, "rgba(63, 63, 63, 0.7)"); gradientFill.addColorStop(1, "rgba(255, 182, 0, 1)"); var contador = 0; var corrente = <?php echo $result['corrente']; ?>; // variável que foi capturada do banco var segundos = 1000; <?php echo $rows; ?> var myChart = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", "", "", "", "" ], datasets: [{ label: "Corrente (A)", borderColor: gradientStroke, pointBorderColor: gradientStroke, pointBackgroundColor: gradientStroke, pointHoverBackgroundColor: pointStroke, pointHoverBorderColor: gradientStroke, pointBorderWidth: 5, pointHoverRadius: 10, pointHoverBorderWidth: 1, pointHitRadius: 25, pointRadius: 3, fill: true, backgroundColor: gradientFill, borderWidth: 2, data: [, , , , , , , , , ,] }] }, options: { legend: { position: "bottom", labels: { fontColor: 'rgba(255,255,255,0.5)' } }, scales: { yAxes: [{ ticks: { fontColor: "rgba(255,255,255,0.5)", fontStyle: "bold", beginAtZero: true, maxTicksLimit: 10, padding: 20, }, gridLines: { drawTicks: false, display: false } }], xAxes: [{ gridLines: { zeroLineColor: "transparent" }, ticks: { padding: 20, fontColor: "rgba(255,255,255,0.5)", fontStyle: "bold" } }] } } }); function adddata(){ myChart.data.labels.push(contador + " segundos"); myChart.data.labels.splice(0, 1); myChart.data.datasets[0].data.splice(0, 1); console.log(myChart.data.datasets[0].data); myChart.data.datasets[0].data.push(corrente); myChart.update(); contador+=(segundos / 1000); } setInterval(function(){ adddata(); },segundos); var option = { showLines: true, scales: { yAxes: [{ display: true, ticks: { beginAtZero:true } }] } }; $(function() { setTime(); function setTime() { var date = new Date().getTime(); var string = "Corrente:<br/><span class='corrente_valor'>"+corrente+"</span><br/>Amperes"; setTimeout(setTime, segundos); $('#correnteCirculo').html(string); } }); </script>  
    • Por PedroTodorovski
      Quais a vantagens e as desvantagens de desenvolver um menu dinâmico (banco de dados) ao invés de um menu estático? Estou desenvolvendo um ecommerce e tenho essa dúvida.
    • Por brunobos21
      Olá, eu criei um formulario que salva os dados em um banco de dados mysql, e criei uma pagina de relatorio para mostrar todo mundo que se cadastra nesse banco, até ai tudo certo, só que eu tenho um campo "Status" que eu queria colocar um checkbox para o administrador poder marcar esse campo e mudar no mysql o valor do Status para 1 sempre que clicar no botão atualizar, e se o administrador desmarcar antes apertar o botão Atualizar, não mudar na tabela. Já pesquisei em tudo quer canto e não achei, se puderem me ajudar enviando algum modelo de código ou algum tópico aqui do forúm que ja fale sobre isso, agradeço. Aqui está meu código:
      <?php // definições de host, database, usuário e senha $host = "host"; $banco = "banco"; $user = "user"; $pass = "pass"; $tbl_name="tabela";   $nome = $_POST['nome']; $numero = $_POST['numero']; $email = $_POST['email']; $cidade = $_POST['cidade']; $whatsapp = $_POST['whatsapp']; $data = $_POST['data']; $status = $_POST['status'];   // conecta ao banco de dados $con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); // seleciona a base de dados em que vamos trabalhar mysql_select_db($banco, $con); // cria a instrução SQL que vai selecionar os dados $query = sprintf("SELECT * FROM Pesquisas"); // executa a query $dados = mysql_query($query, $con) or die(mysql_error()); // transforma os dados em um array $linha = mysql_fetch_assoc($dados); // calcula quantos dados retornaram $total = mysql_num_rows($dados); ?> <!DOCTYPE html> <html lang="en"> <head>     <title>Relatorio</title>     <meta charset="latin1_swedish_ci">     <meta name="viewport" content="width=device-width, initial-scale=1"> <!--===============================================================================================-->       <link rel="icon" type="image/png" href="images/icons/favicon2.ico"/> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.7.0/css/font-awesome.min.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/animate/animate.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/perfect-scrollbar/perfect-scrollbar.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="css/util.css">     <link rel="stylesheet" type="text/css" href="css/main.css"> <!--===============================================================================================--> <script src="vendor/jquery/jquery-3.2.1.min.js"></script> <script type="text/javascript"> //--> </script> </head> <body> <form action=" " method="post">     <div class="limiter">         <div class="container-table100">             <div class="wrap-table100">                 <div class="table100">                     <table>                         <thead>                             <tr class="table100-head">                                 <th class="column1">Nome</th>                                 <th class="column2">Numero</th>                                 <th class="column3">Cidade</th>                                 <th class="column4">E-mail</th>                                 <th class="column5">Whatsapp</th>                                 <th class="column6">Tipo</th>                                 <th class="column6">Data</th>                                 <th class="column6">Status</th>                             </tr>                         </thead>                           <?php                         // se o número de resultados for maior que zero, mostra os dados                         if($total > 0) {                     // inicia o loop que vai mostrar todos os dados                     do {                         ?>                         <tbody>                                 <tr>                                     <td class="column1"><?=$linha['nome']?></td>                                     <td class="column2"><?=$linha['numero']?></td>                                     <td class="column3"><?=$linha['cidade']?></td>                                     <td class="column4"><?=$linha['email']?></td>                                     <td class="column5"><?=$linha['whatsapp']?></td>                                     <td class="column6"><?=$linha['tipo']?></td>                                     <td class="column6"><?=$linha['data']?></td>                                     <td class="column6">                                     <input type=checkbox name="banco[]" value="1"><?=$linha['status']?>                                     </td>                                 </tr>                                </tbody>                         <?php                     // finaliza o loop que vai mostrar os dados                     }while($linha = mysql_fetch_assoc($dados));                         // fim do if                         }                         ?>                     </table>                     <div class="container-contact2-form-btn">                                 <div class="wrap-contact2-form-btn">                                     <div class="contact3-form-bgbtn"></div>                                     <button class="contact2-form-btn" type="submit" value="Enviar" name="enviar">                                         Atualizar                                     </button>                                 </div>                             </div>                 </div>             </div>         </div>     </div> </form>   <!--===============================================================================================-->       <script src="vendor/jquery/jquery-3.2.1.min.js"></script> <!--===============================================================================================-->     <script src="vendor/bootstrap/js/popper.js"></script>     <script src="vendor/bootstrap/js/bootstrap.min.js"></script> <!--===============================================================================================-->     <script src="vendor/select2/select2.min.js"></script> <!--===============================================================================================-->     <script src="js/main.js"></script> </body> </html> <?php // tira o resultado da busca da memória mysql_free_result($dados); ?>
×

Informação importante

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