Aprenda a construir com php: um curso intensivo

Índice

§1. Introdução

§2-Olá mundo!

§3-Forms

§4-Bases de Dados

§5-obter o conteúdo do banco de dados

§6-logins e Autenticação

§7º -? Conclusão e leituras adicionais

1. Introdução

Qual foi o seu assunto favorito na escola?

Se você for como eu, eu aposto que você amava as artes. As humanidades. Você sabe, os sujeitos ridicularizado por alguns como sendo vazia e nebulosa na natureza, mas independentemente você amou estudá-los, porque você gostava de ser criativo.

Aposto que você nunca pensou em suas classes de TI da mesma maneira que você pensou de Inglês ou arte- como um esforço puramente criativo.

É uma pena. Aprender a programar é um pouco como fazer uma classe linguagem criativa. Você tem uma idéia, e você pode executar que como quiser. É pura criatividade, mas em vez de desnudar sua alma no papel, você está comandando um computador para fazer o seu lance. Se você pode sonhar, e se você pode descrevê-lo de uma forma o computador entende, então você pode fazê-lo.

A maneira como falamos com computadores é através de abstrações chamadas linguagens de programação. Há um monte deles lá fora, cada um com suas próprias vantagens, desvantagens e idiossincrasias verdadeiramente bizarro. Eles são imperfeitos por natureza, mas as pessoas usá-los para criar coisas incríveis e maravilhosas.

Uma dessas línguas é chamado PHP.

Você pode ter ouvido falar dele antes. Esta é a língua que o Facebook, WordPress e Wikipedia usar para servir milhares de milhões de pedidos, diariamente. É a língua de facto usado para ensinar as pessoas a programar para a web. É maravilhosamente simples, mas brilhantemente poderoso.

E neste guia, eu vou te ensinar como você pode usá-lo para construir seus próprios websites.

Você tem uma idéia de inicialização assassino não sei bem como para executar? Você quer aprender a língua usada para estender WordPress? Você está apenas curioso sobre programação web? Você quer apenas aprender as habilidades necessárias para permanecer relevante na economia do conhecimento moderno, orientado para tecnologia?

Seja qual for sua motivação, este livro pretende ensinar o básico da linguagem de programação PHP. Mas primeiro, vamos ter um pouco de uma lição de história.

1.1 A História do PHP

Na infância da Internet, as coisas foram um pouco ... Bem? Plano.

Sites não eram particularmente interativo, e aqueles que visitaram esses sites foram confrontados com uma experiência relativamente unidirecional. Acrescentando ainda os aspectos mais simples de envolvimento do usuário foi incrivelmente difícil, deixou no domínio dos cientistas da computação e programadores especializados.

E, em seguida, Rasmus Lerdorf veio ao redor. Este codificador canadense-groenlandês criou a linguagem de programação PHP, o que permitiu que as pessoas adicionem facilmente as facetas mais simples de interação para suas páginas web. Ele era novo, era valente, e levou quase imediatamente.

Rasmus Lerdorf não poderia ter previsto o impacto que sua ideia teria sobre o mundo.

A comunidade começou a se formar, com os programadores e empresas de boa vontade proporcionando tempo e dinheiro para alimentar o desenvolvimento da linguagem. Lenta mas seguramente, PHP começou o que representa um sério desafio para Sun (agora Oracle) e Microsoft, que estavam esperando para ganhar força no mercado de web-development com suas plataformas Java e ASP. O aumento da linguagem de programação PHP só poderia ser descrito como surpreendentemente rápida.

Isso foi há 20 anos. Uma idade, no mundo da informática. Desde então, a linguagem de programação PHP tornou-se a forma preferida para milhões de programadores, que usam PHP em seus trabalhos, para se envolver em código aberto e para trazer suas idéias para a vida. É um grampo do mundo digital.

Você pode se tornar um daqueles milhões. Este livro irá mostrar-lhe como.

1.2 O que estamos indo para cobrir?

Este é um muito pequeno livro, mas vamos cobrir um lote. Em apenas algumas páginas, vamos criar um clone simples do Twitter.

Embora não vai ter o e polonês do site de micro-blogging popular, mas nós será capaz de postar mensagens de 140 caracteres com uma conta que vai entrar em conjunto de recursos mesmo.

1.3 Tudo Sobre LAMP

Até agora, devemos saber que o PHP é uma linguagem incrível para criação de páginas web interativas. Mas nós não falamos sobre como transformar esse código em um produto real. Então, vamos fazer isso.

Para a maior parte, o código PHP é executado dentro de um rede servidor. Um servidor web é responsável por enviar páginas da web para qualquer um que navega para um nome de domínio específico ou endereço IP.

A escolha mais comum de servidor web é o servidor ridiculamente populares web Apache. Este código aberto, multi-plataforma poderes projeto de software a maioria da Internet, com 45% de todos os sites que servem páginas do servidor web Apache. No entanto, é útil observar que existem outros servidores web disponíveis, incluindo LightTTPD e IIS da Microsoft.

Esta constitui a segunda letra na sigla LAMP, que está para Linux, Apache, MySQL e PHP. Sabemos o que é PHP. Eu acabei de explicar para você o que é Apache. Você pode ter ouvido falar de Linux em algum ponto. Mas o que é o ‘M` em Lamp? MySQL.

Vamos falar sobre o MySQL. Eu ia colocar dinheiro em seu site ter que armazenar informações que sua aplicação web reuniu. Além do mais, eu aposto que você gostaria de armazenar essas informações em algum lugar que está estruturado, seguro e organizado. Sim, você vai ter que usar um banco de dados, e para a maioria dos fins MySQL é uma escolha bastante sólido. Nós vamos falar sobre isso mais tarde.

Video: Construindo classes no PHP Orientado a Objetos

Finalmente, vamos abordar brevemente Linux. A maioria dos sites PHP são servidos a partir de sistemas que executam o open-source popular sistema operacional, Linux. No entanto, você não tem que usar o Linux como seu ambiente de desenvolvimento, se você não quiser. Tudo neste livro pode ser usado no OS X, Windows e Android

Um sistema operacional, Apache, MySQL e uma instalação da linguagem de programação PHP são as quatro partes constituintes das configurações PHP mais comuns. Mas como é que vamos chegar em nossas mãos sobre eles?

1.4 Configurar o seu ambiente de desenvolvimento

Ao contrário de algumas linguagens de programação, a criação de um ambiente de desenvolvimento PHP é fácil. Na verdade, há uma série de pacotes que fazem todo o trabalho duro para você, e salvar o trabalho de instalação de cada componente (PHP, MySQL e Apache) individualmente.

janelas

A maneira mais fácil de configurar um ambiente de desenvolvimento PHP no Windows é com XAMPP por Apache Friends. Este pacote inclui MySQL, uma cópia da linguagem de programação PHP e o Apache rede servidor, bem como um painel de controle administrativo e plugins para SSL (o protocolo usado para criptografar o tráfego em uma rede), bem como o envio de e-mail.

XAMPP é gratuito, e pode ser encontrada no site amigos do Apache. É importante salientar que existem duas versões do XAMPP disponíveis. Um deles tem um número de versão 1.8.2 e executa uma versão ligeiramente mais velha da linguagem de programação PHP, eo outro tem um número de versão 1.8.3 e executa uma versão atual do PHP. Enquanto eu recomendo fortemente que você baixe a versão mais recente, o conteúdo deste guia deve trabalhar com ambos.

Linux

Linux é um pouco complicado. Há uma série de sistemas operacionais que existem sob o guarda-chuva ‘Linux`, embora cada um lidar com a instalação de pacotes de software de diferentes maneiras.

Se você estiver usando o Ubuntu e qualquer distribuição que usa os repositórios do Ubuntu, você pode executar:

sudo apt-get install lamp-server ^

Isto irá instalar um servidor LAMP, com todos os componentes necessários para seguir este artigo. Este processo é explicado em maior profundidade neste artigo, onde eu mostrar-lhe como instalar um servidor LAMP como parte da instalação da plataforma de blogs WordPress.Inscreveu para somente SSH Web Hosting? Não se preocupe - instalar facilmente Qualquer Software WebInscreveu para somente SSH Web Hosting? Não se preocupe - instalar facilmente Qualquer Software WebNão sei a primeira coisa sobre operacional Linux através de sua linha de comando poderoso? Não se preocupe mais.consulte Mais informação

Estas instruções não irá funcionar em distribuições que usam YUM ou RPM para a sua gestão pacote, com as instruções para configurar um servidor LAMP diferindo significativamente. Eu recomendaria que você tenha uma olhada na documentação que acompanha o sistema operacional.

No entanto, não há outra opção. Lembre-se XAMPP? Bem, isso só acontece que ele vem com suporte para Linux, e pode ser baixado aqui. No entanto, sempre que possível, eu recomendo fortemente que você instale o servidor LAMP através de seu gerenciador de pacotes.

Existem algumas razões para isso. Em primeiro lugar, seria um pouco melhor integrado com seu sistema operacional e pode ser facilmente atualizado. Além disso, a instalação de PHP via linha de comando é uma boa prática que você deve sempre implantar seu aplicativo para um servidor VPS.Por que você deve usar um VPS Em vez de Hospedagem Compartilhada Para WordPressPor que você deve usar um VPS Em vez de Hospedagem Compartilhada Para WordPressconsulte Mais informação

OS X

Eu uso OS X como a minha plataforma de desenvolvimento principal. Gosto da flexibilidade que ele me proporciona, ea criação de um ambiente de desenvolvimento de PHP no OS X é incrivelmente fácil.

Estou muito parcial para MAMP. Isto vem em dois produtos, sendo um livre e outro que custa $ 59 USD (ou € 39). No entanto, a versão gratuita é mais que suficiente para os propósitos deste livro guia.

Obtendo MAMP é uma questão de pegar um arquivo ZIP a partir do site, clicando duas vezes um arquivo pkg e pressionando ‘continuar` tantas vezes quanto necessário.

Como antes, é perfeitamente possível para você criar um ambiente de desenvolvimento PHP usando XAMPP, que também é portado para OS X. É inteiramente até você.

andróide

Android? Quero dizer, o Android é grande para enviar tweets e matando o tempo em Angry Birds. Mas o desenvolvimento de software? Nah. certo?

Errado. Se você comprou um celular Android no ano passado ou assim, as chances são muito boas que ele está executando uma CPU que é tão poderoso como qualquer VPS que você vai conseguir por menos de $ 10. E isso significa que é bom o suficiente para executar PHP, Apache e MySQL.

Há uma grande quantidade de servidores LAMP Android no mercado, mas eu realmente gosto de Palapa Server. Corre-se muito bem em um envelhecimento Nexus 7 tablet, e eu ainda conseguiu encaixar Android nele sem quaisquer dificuldades reais. Não é o ambiente de desenvolvimento ideal, mas é possível.

1.5 Escolhendo o editor de texto direita

Você provavelmente está familiarizado com o que os processadores de texto são. Há boas chances de que você usou o Microsoft Word, Open Office ou Google Docs para escrever cartas, tarefas escolares ou documentos de negócios.

Mas você pode não saber que não é possível usar um processador de texto regular para desenvolver software e websites. Por que é que? Principalmente porque quando você escreve um documento, você deixar todos os tipos de marcação estranho e formatação no arquivo. O produto final é não apenas as palavras que você escreve, mas também o alinhamento de cada palavra e seu estilo.

Como resultado, ao escrever código, usamos editores de texto. O que eles são? Simplificando, estes permitem que você grave arquivos que são guardados em texto simples mais pura. Sem formatação. Apenas personagens.

Ao escrever código, que tendem a usar Texto Sublime 2. Ele vem com uma versão de avaliação gratuita por tempo indeterminado (embora, ele ocasionalmente importuná-lo para atualizar), e montes de recursos, o que torna a escrita de software com uma alegria.

Em particular, ele vem construído com destaque de sintaxe para PHP, javascript e HTML, o que torna muito fácil de ler o código que você produz. Você pode baixar Sublime Text 2 aqui, e ele está disponível para Linux, Windows e OS X. Se você não estiver convencido, você pode ler mais sobre Texto Sublime 2.Experimente o texto Sublime 2 Para a sua multi-plataforma necessita de código de ediçãoExperimente o texto Sublime 2 Para a sua multi-plataforma necessita de código de ediçãoSublime Text 2 é um editor de código cross-platform Eu só ouvi recentemente sobre, e eu tenho que dizer que estou realmente impressionado apesar da etiqueta beta. Você pode baixar o aplicativo completo sem pagar um centavo ...consulte Mais informação

Se você estiver em Android, você verá que suas escolhas são bastante limitadas. Estou Apaixonado sobre VimTouch, que está disponível gratuitamente na loja Google Play. Vim tem uma curva de aprendizado bastante íngreme, mas vale bem a pena uma tentativa. Leia mais sobre por que é vale a pena dar editor de texto Vim a chance.

1.6 Pré-requisitos

Nós vamos pular direto para aprender PHP. Enquanto eu pretendo apresentá-lo suavemente para esta linguagem de programação incrível, há algumas coisas que eu estou esperando que você entenda anteriormente.

Especificamente, eu vou esperar que você entenda como um site é estruturado com HTML. Se você não sabe o seu

etiquetas do seu etiquetas, isso não é um problema. MakeUseOf tem um livro XHTML que o levará até a velocidade. Leia por isso e uma vez que você está se sentindo confiante, continue a ler.

Me sentindo aventureiro? Por que não aprender sobre a última versão do HTML com a nossa HTML5 e-book? Enquanto não é essencial, ele pode ajudá-lo mais tarde.

2. Olá mundo!

Tempo para um passeio apito-stop de PHP. E que lugar melhor para começar do que o tradicional ‘Olá mundo!` programa.

Mas, primeiro, vamos precisar saber onde armazenar nossos arquivos PHP. Nós armazená-los em um lugar chamado ‘Documento Root`, que parece complicado, mas realmente não é. Tudo o que significa é tudo o que está armazenado nesta pasta estará disponível para qualquer pessoa que visite o endereço IP do computador com o seu navegador web.

A localização da raiz do documento varia em como seu ambiente PHP está configurado. Se você estiver usando MAMP no OS X, você pode encontrá-lo em / Aplicativos / MAMP / htdocs. Se você tiver instalado o servidor LAMP no Linux usando o gerenciador de pacotes da sua distribuição, seu diretório raiz do documento provavelmente será / var / On XAMPP, o directório raiz está localizada em C: / xampp / htdocs /.

Uma vez que você navegou para a pasta raiz do documento, crie um arquivo chamado ‘index.php` e adicione as seguintes linhas.

lt;html lang="en"gt;lt;cabeçagt;lt;meta charset="UTF-8"gt;lt;títulogt;microblogging sitetítulogt;cabeçagt;lt;corpogt;corpogt;htmlgt;


Nada está acontecendo aqui, mas temos o esqueleto de uma página web. Esta página vai ser encontrada em ‘localhost`. Às vezes é seguido com um número de porta, que normalmente é `80`, ‘8888` ou‘8080` . Embora, dependendo do pacote de desenvolvimento PHP que você usa, pode variar. Se não tiver certeza, consulte a documentação.

Agora, vamos escrever nossas primeiras linhas de PHP! Entre e , Escreva

lt;? php eco("Olá Mundo!)- ?gt;

Então, vamos decompô-lo.

Todo o código PHP tem de ser entre um ‘lt;? Php` e‘gt;?`. Se não for, então o rede servidor não vai executá-lo. Então, nós temos ‘eco`. Como eu tenho certeza que você adivinhou, esta função imprime o conteúdo para o navegador. Finalmente, temos o conteúdo que pretende imprimir. Esta é rodeada em parênteses e marcas do discurso. É importante notar que os parênteses são (em sua maior parte) opcional, quando se trata de chamar uma função.

Como já terminou a declaração ‘eco`, que terminá-lo com um ponto e vírgula. Se este estiver ausente, seu código não vai funcionar.

Se funcionar, você deve ver ‘Olá Mundo` no seu browser.

2.1 O PHP tem que ser cercado por HTML?

Não.

Se estiver realizando uma ação que deve ser exibido imediatamente dentro do navegador web, podemos tê-lo encaixados dentro do documento HTML. Isso é chamado de PHP em linha, e isso é o que usamos para imprimir ‘Olá mundo` para a tela.

No entanto, para qualquer coisa mais complexa, devemos sempre procurar colocá-lo em seu próprio documento PHP. Como com o exemplo anterior, o arquivo deve terminar com uma extensão ‘.php` e todo o código deve começar e terminar com‘lt;? Php` e ‘gt;?`.

2.3 Conceitos básico da língua

Antes de continuarmos, vamos olhar para alguns conceitos de linguagem em PHP. Enquanto isso não é uma lista exaustiva, ele inclui os fundamentos necessários para ser produtivo como um programador PHP. Uma vez que já passou por estes, vamos olhar através de alguns destes conceitos dentro do contexto de formas.

variáveis

As variáveis ​​são um conceito encontrado em praticamente todas as línguas de programação. Eles são usados ​​para armazenar um valor, que pode ser recuperada, utilizada e mudou mais tarde.

Você pode estar familiarizado com uma linguagem que requer que você especifique o valor de uma variável. Estes incluem C #, C, C ++ e Java, e, geralmente, parecem um pouco com isso.

int x = 10-

Você também pode estar familiarizado com javascript, onde as variáveis ​​são declaradas com a palavra-chave ‘var`.

var x = 10-

Em PHP, no entanto, as variáveis ​​são declaradas com um símbolo do dólar.

$ X = 10

variáveis ​​PHP não pode começar com um número ou um caractere especial que não seja um sublinhado. Além disso, eles não podem ser chamados de ‘isto, pois esta é uma palavra-chave reservada.

Se Demonstrações

Se declarações são úteis. Eles permitem que você execute contingente código em cima de uma condição específica a ser cumpridos. Considere o seguinte código.

$ x = 5-E se ($ x == 4) {eco("Olá Mundo")-} elseif ($ x == 3) {eco(“Olá Dave”)-} outro {eco(“Olá Brian”)-}

Assim, a primeira condição a ser examinado é se $ x é igual a quatro (note o duplo equivale a símbolos). Como não é, o intérprete PHP vai olhar para a próxima instrução condicional, que é se $ x é igual a 3. Se isso não acontecer, ele vai passar para a declaração final, que irá ecoar out `Olá Brian` se nenhum as condições foram cumpridas.

Você pode verificar se uma variável está vazia (também conhecido como ‘nulo`, ou um‘valor nulo`) precedendo-o com um! na ‘if`. Por exemplo:

E se (!$ x){eco(“X é vazio”)-}

enquanto Demonstrações

Enquanto declarações executar código repetidamente enquanto a condição está sendo atendida. Considere o seguinte código.

$ x = 10-enquanto ($ x gt; 1) {eco($ x)-$ x = $ x - 1-}

Este código olha para o valor de US $ x, e se for maior que um, ele irá exibir o valor de $ x e, em seguida, remover um dele. Ele vai fazer isso, até que a condição de ‘$ x gt; 1` já não é cumprida. Isto quer dizer, que é igual a 1 ou menos.

para Loops

Para loops são, como um conceito na programação, muitas vezes bastante intimidante para iniciantes. Eles não devem ser, no entanto. Enquanto eles estão ostensivamente bastante complexa, eles são realmente fácil de entender quando discriminadas. Vamos escrever um simples loop que conta de um a dez.

para($ i = 0- $ i lt; 10- $ i++){eco($ i)-}

O que está acontecendo aqui? Bem, primeiro criamos uma variável com um valor de 0 ($ i = 0-). Em seguida, defina a condição de ‘se $ i for menor que 10, siga em frente`($ i lt; 10). Em seguida, adicionar um para I ($ i ++) e executar o conteúdo das chaves, looping de volta no código original.

Funções

Funções são uma ferramenta útil quando se trata de programação. Eles permitem que você escrever código que é mais consistente, e gastar menos tempo escrevendo as mesmas coisas repetidas vezes por compartimentar código em um único trecho que pode ser chamado quando necessário.

Eles também são muito simples para criar. Isto é como nós fazer uma função que ecoa out ‘Olá Mundo` quando chamado. Esta função será chamada ‘sayHello ()`.

função diga olá(){eco("Olá Mundo")-}

Você também pode passar valores de funções. Estes são conhecidos como parâmetros, e são colocados dentro dos dois parênteses na primeira linha da declaração. Por exemplo:

função diga olá(Olá $){eco(Olá $)-}

E pode ser chamado como segue:

diga olá("Olá Mundo")-

Finalmente, podemos obter funções para valores de retorno.

função returnHello(){Retorna "Olá Mundo"-}

E pode ser usado como segue.

X = returnHello()-eco(returnHello())-

2.4 Moving On

Nós aprendemos o básico de controle de fluxo na linguagem PHP, bem como a forma como podemos usar variáveis ​​e funções para armazenar valores e trechos de código para uso futuro. No próximo capítulo, vamos expandir nossa compreensão da linguagem de programação PHP olhando como podemos capturar dados com formas, formando assim a primeira parte do nosso clone Twitter.

3. Formas

3.1 Como formulários funcionam no HTML

Os formulários estão em toda parte.

Não, a sério. Eles são. Quando você deixar um comentário sobre MakeUseOf- quando você compra algo fora Amazon e tem que anotar seu endereço e crédito numbers- cartão quando você compor e enviar uma Tweet, você está preenchendo um formulário.

Eu sei que soa como um disco quebrado, mas se você ainda não leu o guia MakeUseOf HTML5, você deve. Você não precisa dele para este capítulo, mas vai mostrar-lhe alguns truques que você pode fazer com formas na versão mais recente da linguagem de marcação HTML.

3.2 Criando Nosso primeiro Form



Você provavelmente já viu Twitter antes.

O núcleo de um Tweet é uma caixa de texto multi-linha, e um botão que envia para os servidores do Twitter. Então, como é que vamos criar uma versão rudimentar do que em HTML? Bem, parece algo como isto:

lt;corpogt;lt;Formato açao="postForm.php" método="postar"gt;


Então, vamos decompô-lo.

Um formulário é fechado dentro de marcas de formulário. Formulário recebe dois argumentos, com o primeiro sendo um link para um arquivo PHP que contém o código que trata do nosso formulário. O segundo é um método, e isso se refere a como você enviar dados para o rede servidor. Estes podem ser tanto ‘post` ou‘get`.

No interior, temos um elemento TextArea. Sabe qual é a diferença entre um elemento TextArea e entrada é?

É uma diferença muito sutil. Eles fazem praticamente a mesma coisa, embora um elemento TextArea permite a entrada de várias linhas de conteúdo, enquanto um Input (quando não é usado para enviar um formulário) só pode aceitar uma linha de conteúdo.

Desde que nós estamos criando um clone do Twitter, vamos usar um elemento TextArea para capturar o post. Este elemento leva alguns argumentos. Os dois primeiros são ‘nome` e‘id`, que demos o valor de ‘microblog`. O segundo dois são ‘cols` e‘linhas, que deram os valores de `30` e `10`, respectivamente. Estes podem ser ajustados, como você vê o ajuste.

Finalmente, temos um elemento de entrada. Isto tem um tipo de ‘enviar`, e é processado no navegador como um botão. Uma vez pressionado, ele vai passar o conteúdo para ‘postForm.php`.

Nós deve ter algo que se parece com isso. Não é a coisa mais agradável do mundo, mas vamos preocupar com isso depois.

3.3 Manipulação Esta entrada com PHP

Em consonância com o ritmo suave deste livro, vamos apenas olhar para como nós podemos capturar a entrada e, em seguida, imprimi-lo para a tela. Nós vamos olhar para a persistência e armazená-lo no banco de dados mais tarde.

Então, lembre-se que arquivo postForm.php mencionamos anteriormente? Criar que na raiz do documento.

Agora, adicione as seguintes linhas.

lt;? php$ microblog = $ _ POST[`Microblog`]-eco $ microblog-?gt;

Então, o que é essa coisa $ _POST então?

Bem, isso é o que chamamos de uma variável super-global. Isso parece complicado, mas não é. Na sua forma mais simples, isso significa que sempre que precisamos fazer referência a uma entrada de formulário, nós temos que usar isso. No final de $ _POST, escrevemos a ID da entrada de formulário que estamos fazendo referência. Isso tem de ser imprensado entre colchetes e aspas.

Nós atribuir o conteúdo do ‘microblog` a uma variável, e, em seguida, eco-lo para a tela. Simples, na verdade.

Mas isso funciona? Vamos dar-lhe uma tentativa.

Nós navegar para nossa homepage e escrever algo no formulário. Então, nós pressionamos ‘enviar`.

Como você pode ver, o nosso contributo é devolvido de volta para nós. Aqui está uma pergunta embora. O que acontece se fecharmos nossa aba do navegador e reabri localhost / postForm.php?

Não há nada aqui. Niet. Nada.

Isso é porque não é armazenada em qualquer lugar, exceto na memória de curto prazo do nosso navegador web. Uma vez que ele foi embora, ele foi embora.

Video: Curso intensivo de francês com Capitão Nascimento

No entanto, há uma maneira fácil de garantir que os nossos dados é mantido para sempre. Temos que colocá-lo em um banco de dados. Embora a princípio eles não são o assunto mais excitante que nunca, eles são muito fáceis de pegar o jeito.

E no próximo capítulo, vou mostrar como você pode armazenar seus tweets em um banco de dados.

4. Bases de dados

Eu tenho uma confissão a fazer. Eu realmente gosto de bancos de dados.

Desde que os computadores foram inventados, temos necessário para armazenar conteúdo. Tudo, desde a senha que você usa para fazer login no Facebook, para a configuração do seu computador, a sua conta bancária, é armazenado em um banco de dados. As versões anteriores do banco de dados eram fundamentalmente primitivo e limitado. Desde então, eles evoluíram e avançaram, melhorando a velocidade ea fiabilidade do seu funcionamento. Esta é em grande parte um resultado de 50 ou mais anos de desenvolvimento.

Uma forma de armazenar dados é com uma base de dados relacional. Este paradigma de armazenar dados foi introduzido na década de 80 e conta com uma malha de tabelas interligadas, com dados organizados em linhas e colunas.

Há um grande número de sistemas de gerenciamento de banco de dados que usam esse paradigma (conhecido como RDBMS `), incluindo Oracle, MSSQL e MariaDB. Mas nós só vamos olhar para um. MySQL.

MySQL é um sistema de gerenciamento de banco de dados moderno. O número de sites que dependem dele é estonteantemente grande. É o banco de dados por trás WordPress e Facebook, e baseia-se no paradigma banco de dados relacional de confiança.

Vantagens do banco de dados MySQL são demasiado numerosas para mencionar.

Em primeiro lugar, é livre- tanto em custo e em termos de licenciamento. Ele pode ser encontrado em execução em todas as plataformas, tendo sido portado para alguns dos sistemas operacionais mais obscuros do mundo.

Além disso, é um pacote de software razoavelmente leve, e pode funcionar muito confortavelmente na maioria dos sistemas VPS de baixa potência.

É também muito fácil de começar a trabalhar com MySQL, e há uma enorme riqueza de informações lá fora, para as pessoas que gostariam de obter seus pés molhados com ela, incluindo algum usuário incrivelmente detalhadas e precisas documentação gerada.

A fim de interagir com MySQL, precisamos usar a linguagem de programação SQL (Structured Query Language). Isso nos permite realizar consultas complexas contra um banco de dados, enquanto Inglês fortemente assemelhando-se por escrito. Como resultado, é muito fácil para iniciantes para começar com.

Mas antes de chegarmos a isso, vamos falar sobre os tipos de dados MySQL.

4.1 Tipos de dados MySQL

MySQL requer que cada coluna numa tabela ser categorizados com um tipo de dados específicos. Por exemplo, a idade de alguém seria categorizado como um número, enquanto o nome de alguém seria composto por um número variável de caracteres alfabéticos.

Nós especificar tipos de dados para garantir a consistência dos dados armazenados na tabela.

Enquanto isso soa complicado, eu lhe asseguro que não é. O que estamos falando é conhecer os dados que estamos planejando para reter, e saber como classificá-lo.

Há um grande número de tipos de dados em MySQL. Nós só vamos falar sobre dois, que são mais que suficientes para os propósitos deste livro.

VARCHAR (x)

Quando você está introduzindo conteúdo que pode conter uma variação de números, caracteres especiais e letras, você está recomendado o uso de um campo varchar. Estes podem ser de comprimento variável. Um tamanho de campo com um comprimento máximo de trinta caracteres pode ser representada com VARCHAR (30).

número inteiro

Ao armazenar números, usamos um valor inteiro. Estes podem variar de -2147483648 a 2147483647, embora haja mais tipos de dados disponíveis, se você precisa para representar números maiores. Nesse caso, consulte o manual do MySQL.

Outros tipos de dados MySQL

Há um grande número de tipos de dados disponíveis, que podem ser usados ​​para representar e manter todos os tipos de dados. Estes incluem grandes pedaços de texto, valores verdadeiro ou falso e arquivos binários. Se você está curioso para saber mais, dê uma olhada na documentação do MySQL.

4.2 Criando nossa base de dados

Ok, agora é hora de começar a trabalhar em um banco de dados para o nosso clone Twitter.

Video: Curso intensivo de web design [Grátis] - Aprenda em um mês

Em primeiro lugar, precisamos conectar ao MySQL. Se você estiver usando Linux e você instalou MySQL através de seu gerenciador de pacotes, você pode se conectar através do terminal com o seguinte comando.

mysql -u root -p

Sobre a qual, você será solicitado para sua senha.

Os usuários do XAMPP e MAMP pode usar PHPMyAdmin, que vem incluído no e permite que você edite seu banco de dados com uma interface web agradável.

Então, primeiro precisamos criar o banco de dados para o nosso site e criar uma tabela para manter nossos posts microblog.

Quer através PHPMyAdmin ou através do console do MySQL, execute as seguintes linhas.

CREATE DATABASE MicroBlog-

USO MicroBlog-

CREATE TABLE Microblog (id auto_increment inteiro, pós varchar (255), chave primária (id)) -

A menos que você ver uma mensagem de erro, a tabela foi criado sem um engate.

Então, algumas coisas que você deve ter notado lá. Em primeiro lugar, estamos terminando cada declaração com um ponto e vírgula, assim como fizemos quando estávamos escrevendo PHP.

Em segundo lugar, as coisas são bastante auto-explicativo, não são? SQL lê como o Inglês escrito, e é muito fácil de entender o que está acontecendo.

Dito isto, há algumas coisas na instrução CREATE TABLE que você pode estar familiarizado com. O primeiro é ‘auto_increment`. O que isso faz?

Bem, ID é um campo que identifica unicamente cada post. Quando o criou, que nos deu um atributo de ‘auto_increment`, e sempre que uma nova linha é adicionada ao banco de dados, essa linha é atribuído um número único. Este número de conta para cima por um, para cada linha que é adicionado.

Finalmente, o que é ‘chave primária (id) `? Bem, nós queremos ‘id` para ser completamente original. Nós também queremos ID ser um campo que pode identificar uma linha. Fazendo ‘id` uma chave primária garante que estas condições podem ser cumpridas.

4.3 A maneira errada para consultar o banco de dados

Então, como é que vamos inserir um post em nosso banco de dados? Ótima pergunta.

A maneira tradicional de fazer isso em PHP parecia um pouco com isto:

$ Conn = mysqli_connect ($ DBServer, $ dbUser, $ dbpass, $ DBName) -

Você poderia criar uma conexão com o servidor usando o nome hostname, credenciais de banco de dados e banco de dados, e atribuir isso a um objeto. Neste caso, nós chamamos isso $ conn (para conexão).

Em seguida, iria definir a consulta de banco de dados que deseja fazer.

$ Query = mysqli_query ($ conn, “inserir valores microblog (‘$ Post `)”) -

E então poderíamos fechar a conexão ao banco de dados.

mysqli_close ($ conn) -

Então, o que de errado com isso? Bem, isso depende de um assumption- chave que qualquer entrada passado para o banco de dados pode ser confiável.

Isso nem sempre é o caso. Se você não tiver muito cuidado, é perfeitamente possível a esgueirar-se em algum código SQL arbitrário, que pode resultar em vazamentos de dados ou a desfiguração dos registros armazenados dentro do seu banco de dados.

LinkedIn aprendi com isso da maneira mais difícil. Um fio de entrada mal higienizados para a liberação não intencional (e não autorizada) de milhares de registros de usuário em um fiasco que foi referido como LeakedIn. Foi um incidente que lhes custar muito caro, tanto em relação ao custo financeiro de fazer o bem, assim como o ágio perdeu por perder milhões de linhas de informações pessoais.

Então, como é que vamos usar com segurança um banco de dados com PHP?

4.4 Conheça MeekroDB

MeekroDB é uma biblioteca que faz com que seja fácil de interagir com um banco de dados sem ser aberta a uma ameaça externa. Ele foi projetado desde o início para ser impermeável para SQL ataques de injeção. É gratuito para uso não-lucro, mas se você pretende usá-lo em um projeto comercial, você precisa pagar por uma licença.

Baixe uma cópia do MeekroDB do site oficial. Uma vez que você tem isso, descompactá-lo e colocá-lo em seu diretório raiz do documento.O que é uma injeção SQL? [MakeUseOf Explica]O que é uma injeção SQL? [MakeUseOf Explica]O mundo da segurança da Internet está atormentado com as portas abertas, backdoors, falhas de segurança, cavalos de Tróia, worms, vulnerabilidades de firewall e uma série de outras questões que nos manter em nossos pés todos os dias. Para usuários privados, ...consulte Mais informação

Agora, vamos voltar para o seu editor de texto. Abra postForm.php e adicione as seguintes linhas.

require_once `Meekrodb.2.2.class.php`-DB::$ user = `do utilizador`-DB::$ password = `senha`-DB::$ dbName = `base de dados`-

Mudança ‘user`,‘password` e ‘banco de dados` com seu nome de usuário do banco de dados real, senha e nome do banco de dados.

Agora, é hora de inserir o seu post em seu banco de dados. Adicione as seguintes linhas de código.

DB :: DebugMode () - $ Microblog = $ _ POST [ `Microblog`] - DB :: inserir ( `Microblog`, de matriz ( `pós` = gt; Microblog $)) -

Então, vamos decompô-lo.

DB :: DebugMode () - joga fora mensagens de erro se fizermos algo errado. Como resultado, é realmente bastante útil para deixar isso em nosso código, uma vez que torna o processo de desenvolvimento que pouco mais fácil.

DB :: insert é chamado quando é preciso inserir um ou mais itens no banco de dados. ‘Microblog` refere-se a tabela de banco de dados, enquanto‘post` contém a mensagem que você acabou de enviar para o site.

Podemos ver se nossos posts atingiram o banco de dados, abrindo PHPMyAdmin e ter um olhar.

Se você estiver usando o MySQL no Linux, e você instalou-lo a partir do gerenciador de pacotes, você pode abrir o MySQL a partir do terminal e execute os seguintes comandos.

Use MicroBlog-

Select * from MicroBlog-

Simples, certo? Dá que um ir e no próximo, vamos olhar para visualizadas nossas mensagens na página inicial. Eu prometo, não é muito difícil.

5. Obtendo conteúdo do banco de dados

Nós introduzimos MeekroDB já. Esta é a biblioteca de banco de dados que nos permite interagir com segurança com um banco de dados MySQL dentro do contexto de uma aplicação PHP.

Se você tiver concluído o capítulo anterior, você deve ter algumas mensagens no banco de dados. No entanto, eles estão apenas sentado em um banco de dados não está sendo usado. Que pena! Então, vamos olhar para obter-los para o navegador.

Sabemos que podemos usar SQL é a linguagem usada pelo MySQL para consultar o banco de dados. Enquanto MeekroDB permite inserir conteúdo em seu banco de dados sem usar SQL, você tem que usar um pouco de SQL, a fim de recuperar os registros.

5.1 Seleção e apresentando resultados

Uma tal declaração é o ‘Select Statement`. Nós já usou isso para ver se nossos arquivos tinha propagado para o banco de dados. Vamos usá-lo novamente aqui.

Abaixo da marca de formulário de encerramento, adicione lt;? PHP e gt; e entre escrever as seguintes linhas de código.

lt;? phprequire_once `Meekrodb.2.2.class.php`-DB::$ user = `raiz`-DB::$ password = `raiz`-DB::$ dbName = `Microblog`-$ resultados = DB::inquerir("pós SELECT FROM Microblog")-para cada ($ resultados Como $ row){eco "
"
. $ row[`postar`] . ""-}?gt;

Vamos olhar para isto um pouco mais de perto. Sabemos que as primeiras cinco linhas fazer. Nós já os usou como parte de inserção de nossos posts no banco de dados.

$ resultados = DB :: consulta ( “post SELECT FROM Microblog”) -

Esta linha seleciona todas as mensagens da tabela ‘Microblog`, e então copiá-los para uma variável chamada $ resultados.

E então fica interessante. Assim, $ resultados acontece consistir de uma série de itens. Isto significa que podemos interagir sobre eles usando algo que é fortemente reminiscente daqueles ‘para` loops que nós já olhamos.

para cada ($ resultados Como $ row){eco "
"
. $ row[`postar`] . ""-}

Então, aqui vamos sobre cada resultado, e mapeá-lo a uma variável. Nós, em seguida, imprimi-lo entre algumas tags ‘div`. Estes permitem-nos para encapsular cada post, e aplicar stylings para cada um deles.

Ele não parecer muito agora, não é? Vamos mudar isso.

5.2 Styling

Criar um novo arquivo chamado ‘style.css` e adicione a seguinte linha de código HTML in-entre as tags a‘cabeça`.

Agora, é hora de fazer cada post olhar um pouco mais distinto e perceptível. Em ‘style.css`, adicione as seguintes linhas.

corpo {cor de fundo: # 99CCFF -}Formato {alinhamento de texto: centro--margem esquerda: 300px-margin-right: 300px-}.microblog {alinhamento de texto: centro--margem esquerda: 300px-margin-right: 300px--margem inferior: 10px-estilo de borda:sólido-fronteira de largura:5px-}

Não vou insultar a sua inteligência, explicando linha por linha o que este faz. Provavelmente, você pode trabalhar com isso, apenas por lê-lo. Nós demos a cada post um pouco de enchimento, de modo que é relativamente centralizado na tela. Demos também uma fronteira, e alinhada a forma no centro da tela.

Isso produz algo que parece um pouco com isso.

Legal certo?

Agora, em nosso penúltimo capítulo, vamos reunir tudo o que aprendemos até agora, e ver como podemos lidar com logins.

6. logins e Autenticação

Vamos imaginar que nós queremos apenas uma pessoa para ser capaz de postar atualizações em nosso site. É quase como se nós estamos criando um Twitter altamente pessoal.

6.1 A Tabela de usuários

Primeiro, vamos criar uma tabela para lidar com a nossa informações de login. Isto terá dois campos. O primeiro é para o nome de usuário ea segunda é para a senha. Isto pode ser representado no SQL da seguinte forma:

CRIAR Credenciais de mesa (varchar nome de utilizador (255), varchar senha (255), PRIMARY KEY (nome de usuário)) -

Como antes, executar este contra o seu banco de dados, quer através do terminal ou através do phpMyAdmin.

6.2 Sessões PHP

Agora, precisamos lidar com logins e registos. Fazemos isso com sessões PHP. A forma como estes trabalho é razoavelmente simples. Você tem um número de variáveis ​​que estão presentes ao longo de uma aplicação web, e estes podem estar em um estado de presença ou não, dependendo se o usuário está logado ou não.

Antes que você pode manipular sessões, você tem que primeiro inicializar a sessão. Adicione esta linha para o topo da index.php.

? Lt; session_start php () - gt;

Esta linha tem que aparecer em cada arquivo que acessa a sessão.

Agora, é preciso garantir que a forma pós envio só é visível para quem está logado. Substituir a forma que criamos anteriormente com as seguintes linhas de código.

lt;? php E se(isset($ _SESSION[`logado`])){ecolt;Formato açao="postForm.php" método="postar"

Artigos relacionados