Transcrições
1. Introdução no PHP 101: Olá, John Morris aqui. Eu sou o criador. PHP 101 E eu criei este vídeo só porque eu quero te contar um pouco sobre o que está no PHP um um um e espero que você tome sua decisão de se inscrever. Então, primeiro,
ele é composto de três módulos, e eu chamaria esses básicos avançados e, em seguida, minha sequela. Então, o primeiro módulo é realmente para iniciantes. Se você nunca mexeu com o PHP, vamos passar por sintaxe básica e todo esse tipo de coisa naquele primeiro mês. Não te ponhas a par de todos os segundos módulos onde entramos em coisas um pouco mais avançadas, criando pastas, criando arquivos, carregando arquivos, esse tipo de coisa. E então o terceiro módulo, como você deve ter adivinhado, é tudo sobre minha sequela. Então, só para dar um exemplo de algumas das lições que você vai encontrar dentro do curso como eu mencionei sintaxe básica, eu vou mostrar a vocês apenas sintaxe básica do PHP. Fale sobre variáveis que escrevem funções fudidas personalizadas. Se Elson mudar um aumento, loops obter sessões impostas. Os cookies criam atualização, excluem arquivos, criando pastas. Vou passar pela onda. Ross vai fazer? Claro que sim. No módulo três, multidão
de banco de dados. Então, isso é criar ler, atualizar e excluir em. Nós vamos fazer isso tanto no meu SQL I terminar PDO. Eu também vou mostrar declarações preparadas no meu SQL I e PDO. Estamos falando sobre projetar seu banco de dados e seu modelo de objeto. Uh, nós vamos falar sobre estruturá-lo em PHP. Meu administrador. Nós também vamos falar sobre escrever ah, aula
de banco de dados também. E, em seguida, cada módulo conclui com um exercício prático ou projeto muito classe. E então esses três exercícios práticos diferentes ou projetos estão criando um formulário de contato, criando um formulário de várias páginas usando sessão. Então este é um formulário em que se você inserir dados em uma página e então você vai para a próxima página, mas então você voltar, ele ainda vai ter seus dados salvos. E vamos usar sessões para fazer isso. Este tipo de ah ah ah, alto perfil tipo habilidade que você pode aprender e, em seguida, finalmente, enviar ah, formulário para um banco de dados ou realmente vai desde o início de formulários todo o caminho até enviá-lo para um banco de dados também, Junto com todas essas lições e módulos, você vai receber bônus exclusivo, que esta é uma entrevista que eu fiz com Mike P. Então, se você não ouviu ele me ouviu falar sobre a história dele antes. Basicamente, ele passou de um estudante universitário falido que estava passando por seu diploma de CS e realmente não
estava tendo nenhum tipo de sucesso inicial saindo disso em um codificador de seis dígitos. E ele trabalha para uma das cincogarotas rápidas e rápidas da Fortune, garotas rápidas e rápidas da Fortune, 500 empresas de tecnologia que crescem mais rápido. E ele fez tudo isso em cerca de 2 a 3 anos. Então, é uma história incrível, e a coisa em que ele realmente se concentra em sua vantagem. Então ele explica como alavancar as habilidades que você tem atualmente. Seja lá o que acontecer de ser um ZMA cadeiras pouco como você tem atualmente ou obter a qualquer
momento como alavancar que para obter um emprego, para ser pago mais, para obter promoções e ter, em última análise, ter empresas lutando por você para contratar. Você se sentou lá e, literalmente, ouvi-lo falar ao telefone com empresas meio que indo e voltando brigando por ele. Então, e ele fez tudo isso vem de coisas. Na verdade, ele fez sua própria experiência pessoal. Então você vai ter uma entrevista bônus para transformar suas habilidades de codificação em um lado de
carreira das coisas também. Agora, quando você ouvir que tudo isso pode estar querendo, ok,
bem, bem, o que os alunos de verdade pensam? Claro que sim. Então, aqui estão alguns exemplos. Então este é Joe Welch, do escritório do Procurador-Geral de qualquer Procurador-Geral de Indiana , ele disse, eu só quero agradecer. Recentemente me inscrevi para seus módulos PHP em seu site. Estou desenvolvendo há alguns anos, profissionalmente, e ainda acho muito valor em suas lições. Aprecio o conhecimento extra que ele deu sobre por que funciona da maneira que funciona. Este é Kirk Oaks. Ele é o dono. Blue Line Graphics, diz
ele, até agora ter passado pelo 1º 2 tutoriais no primeiro módulo, e eu poderia dizer, está fazendo muito claro dedo do pé. Compreender? Passei muitas horas adormecidas à procura de uma compreensão destas coisas. Todas as outras coisas Everett sobre PHP e HTML e CSS e JavaScript e minha sequela e assim por
diante me deixaram sem saber sua compreensão como colocar tudo junto, que é o que os exercícios práticos ar realmente quatro para fazer isso de qualquer maneira diz isso me trouxe à frustração. Até o código da Academia nunca explicou. Eles apenas têm você regurgitar o que digitar até que você acerte, mas nunca realmente explicar por que você está fazendo isso tão claro quanto você faz. Obrigado pelo mesmo treinamento. Continua com o que quer que seja, e finalmente, o último vem do YouTuber, diz
Christiane. Só queria tirar um tempo para te agradecer. Fui contratado e aceitei uma oferta de 45 mil para os primeiros 3 meses. Se eu fizer bem, ele vai até 60 k por ano, e eu só tenho estudado código por três meses enquanto trabalho em tempo integral. Eu só fui para ele como você disse, e fui contratado. Eu nunca pensei que no período de três meses eu iria dobrar meu cheque de salário e não ter que viver em Silicon Valley para fazê-lo. Então, são apenas alguns exemplos. Você sabe, a coisa que eu acho que você vai encontrar com PHP um. - Não. Um é A. É uma ótima maneira de aprender PHP, mas é único e realmente como eu trabalho e me esforço para explicar o porquê por trás de tudo que você faz, você vai notar em alguns desses tipos de comentários que os alunos ter deixado. Eles falam sobre eu realmente ir para o porquê por trás de você fazer o que você está fazendo. E eu realmente acredito que essa é a coisa que está faltando em muitos outros cursos que você poderia fazer que estão fora. Há um monte de vezes eles apenas tipo de mostrar o código e talvez dar-lhe um pouco de uma explicação superficial de por que você está fazendo o que você está fazendo. Mas você está bem, eu sei que código escrever. Mas por que estou escrevendo assim? Quais são as outras maneiras de eu fazer isso, etc? E então eu realmente me esforço para tentar explicar esse tipo de coisa para você e realmente dar-lhe isso. Por que atrás disso? Porque eu acho que isso é realmente a centelha da criatividade para não ir muito de um discurso aqui, mas eu realmente acredito bem, ser um verdadeiro codificador é alguém que é um mestre em seu ofício. É realmente tudo sobre criatividade criando novas ideias,
novos aplicativos ou produtos,
ou maneiras únicas de resolver problemas ou diferentes maneiras de fazer as coisas? Isso é o que é ser um programador, e é isso que te trará sucesso. É quando te trará notoriedade. Isso ia fazer você se destacar de todos os outros desenvolvedores que estão lá fora, e a chave para ser criativo é saber por que você está fazendo o que você está fazendo. Isso é o que permite que você tente coisas diferentes porque você entende o porquê por trás disso. Então eu realmente me esforço para tentar explicar tudo isso para vocês neste curso, e eu acredito que passar pelo curso, você vai ter sucesso e aprender PHP e uma compreensão mais profunda do que você pode ser capaz de obter de qualquer outro curso que esteja lá fora. Tudo bem, qualquer
maneira, esse é o meu quadro. Claro, isso é para você decidir. Agora, se você quiser registrar todas as informações e detalhes e todo esse tipo de coisa está abaixo, e eu realmente espero que você apenas espere vê-lo dentro do curso. É isso por enquanto. Vemo-nos lá agora.
2. De quais softwares eu preciso?: Olá, John Morse. Aqui, John Morris online ponto com. Esta lição. Nós vamos entrar nas diferentes ferramentas tipo de ferramentas base que você precisaria para começar a trabalhar com código em particular. PHP. Então, há três tipos de padrão do Maine que você já ouviu falar antes. E então há 1/4 1 que é o mais recente e melhor. Vamos falar sobre o que são todas essas coisas diferentes e como elas funcionam juntas e o que você realmente precisa para começar. Então agora uma das coisas aqui é que essas coisas mudam. No tempo que eu tenho feito essa coisa de codificação, tem havido todos os tipos de produtos e marcas diferentes vêm e vão. E então eu estou um pouco relutante em dizer a vocês, vá baixar e instalar este em particular, ou aquele, ou para começar a fazer talvez tutoriais sobre exatamente como instalar tudo isso, porque há tantos lá fora e novamente eles vêm e vão. Eu realmente quero te dar algo que não importa o que esteja lá fora em um determinado momento, ah, você pode meio que pensar no que é que você precisa. Então eu vou mostrar alguns exemplos, mas eu quero realmente falar sobre o quadro maior aqui. Então a primeira coisa que você precisa é, como você vê aqui, algum tipo de editor de código. Então o editor de código que você poderia pensar pode ser algo simples como nenhum bloco. Sabe, eu odiaria dizer isso,
mas quando comecei a revestir, eu odiaria dizer isso,
mas quando comecei arevestir,
comeceino bloco de notas e tecnicamente você não pode usar nenhum bloco. comecei Mas é sobre a maneira mais difícil do mundo para você ir sobre o revestimento, então eu não recomendo isso. Mas você só precisa de algo em que você possa escrever texto simples. Isso não vai adicionar nenhum porque algo como o Microsoft Word ou até mesmo o teclado de palavras. Ele formata o texto. E então ele vai adicionar, hum, html e coisas diferentes para o código real que você escreve nele. Então usar esse tipo de coisas não vai funcionar. Vai ter um monte de coisas extras lá dentro, até sei pad. Acho que se lembra que faz tanto tempo, mas há certas coisas que pode adicionar a um arquivo. Sim, isso você tem que ter cuidado. Então você realmente quer algo que é projetado para escrever código porque não só vai garantir que nada aconteça, mas também vai dar realce de sintaxe. Então ele vai realmente destacar o código que você escreve de uma certa maneira para que você possa dizer tipo de qual é a diferença entre, digamos, de variável em uma função de texto simples. E isso ajuda você a ver problemas detectados um pouco mais fácil e apenas torna mais fácil de
codificar . E então você quer começar com algum tipo de editor de código, e isso é basicamente o que você escreve seu código. E agora há um número destes vai clicar sobre um dos mais populares e o que eu comecei com e provavelmente poderia dizer o mais básico off com os fora. Não há nenhum pad plus, então ele essencialmente leva a idéia de nenhum pad, e ele o transforma em um editor de código. E então este está muito bem. Dá-lhe sintaxe. Destaque tem outras coisas boas lá, , mas funciona muito bem. É mais básico. Provavelmente. Ah, muito popular. Um deles é chamado de texto sublime. Então este é um que quando eu falo com as pessoas, eu ouço ah, monte de pessoas correndo. Hum, isso custa. Eu não sou exatamente assim É $80 aqui. Você pode baixá-lo gratuitamente, mas ele tem algum tipo de licenciamento nele. Eu não costumo cegar texano exatamente como tudo isso funciona, mas este é muito popular que você provavelmente ouve as pessoas falar. Isso também está lá fora, e então outro que saiu é chamado Adam, e eu acredito que isso é feito por obter outras pessoas que fazem você obter ajuda se eu me lembro corretamente, feito com amor por obter Hub. Então este é um muito popular que está lá fora também. É realmente bonito, então é outro que você poderia usar. Então, nenhum Plat Abençoe, além de texto sublime Adam colchetes é aquele que saiu recentemente. Há todos os tipos deles, se você literalmente se você apenas Google, você sabe, editor de
código ou algo ao longo dessas linhas, você vai ver uma lista inteira de um monte de diferentes, e é realmente Só o meu conselho quando se trata de que escolher um editor de código é que você vai passar muito tempo em seu editor de código. Vai ser a coisa com a qual você mais interage. Então experimente um par de diferentes e veja o que se sente mais confortável para você. É mais importante. Não é sobre o que é o melhor editor. Todos eles fazem muitas coisas diferentes e fazem muitas coisas semelhantes. É mais sobre o que você está confortável com, o que funciona da maneira que você se sente bem sobre. Você não está sobrecarregado por e por isso pode ser que você comece sem pad plus plus, e então você se move para algo como Adam ou texto sublime ou colchetes ou algo mais tarde , como você se familiariza um pouco mais com o código. Mas concentre-se no que é mais confortável para você, porque é algo em que você
vai passar muito tempo. Muito bem, próximo é o seu servidor local. Ok, então este é provavelmente aquele em que as pessoas são apanhadas um pouco mais porque este é um imediato, óbvio imediatamente óbvio. Agora um editor de código. Vocês fazem sentido, pessoal. A maioria das pessoas percebe que vão precisar desse tipo de coisa. Mas então digamos, por exemplo, que você esteja executando código PHP e tente abrir um arquivo PHP que você revestiu em seu
navegador da Web . Você vai notar que você está indo apenas para ver o código PHP. Não vai processar esse código. OK, ele não vai executar o código ou executar o script. E isso porque o PHP é realmente ah, você pode pensar sobre como software realmente um pedaço de software que é destinado a ser executado em um determinado tipo de computador. Então você tem, ah, computador que é destinado a ser um servidor Web. E assim com isso, esse servidor Web tem outro pedaço de software stop nele que é realmente o ar. Esse computador tem outro software que é o servidor Web. Então, ah, patchy pode ser algo que você já está familiarizado com ou II s para. O Windows pode ser algo com o qual você está familiarizado, então esses são na verdade Softwares de servidor Web, e o que eles fazem é essencialmente quando há uma solicitação para uma página da Web do feito para o computador. É esse software de servidor Web que, em última análise, lida com ele e determina se algo precisa ser processado pelo PHP ou não e e tipo de lida com tudo isso para frente e para trás. Você não tem isso instalado por padrão no seu computador normal. Ok, então você precisa de algo no seu computador para emular esse tipo de ambiente. E isso é o que esses servidores locais, esses softwares de servidor Web locais eles permitem que eles criem? R. Eles permitem emular um servidor Web e ser capaz de executar arquivos PHP e todo esse tipo de coisa em seu navegador. Ok, então há isso é algo que você praticamente se uma vez que você começa fora de CSS HTML e JavaScript você precisa de um servidor local como este, você é para PHP e interagir com minha sequela em qualquer tipo de script lado do servidor. Você precisa de algo que possa emular isso para você, então há vários deles lá fora de novo. Eu vou cobrir um par deles eram provavelmente mais populares com aqueles que eu sei e em seguida, novamente pode decidir. Então o primeiro 1 é o que é chamado de homem para cima e Então isso é Macintosh Apache, minha sequela e PHP. E então, essencialmente, o que isso vai fazer? Bem, na verdade, agora acho que costumava ser só para Mac. Eu não tinha notado isso, mas agora ele também é executado no Windows. É por isso que mudaram isto para o meu Apache. Isso é interessante. Então, de qualquer forma, o
que isso faz é simular esse ambiente para você. Então ele está indo quando você instala
isso, ele basicamente vai instalar todas as coisas que você precisa. Apache, minha sequela, PHP vai empatá-los e configurá-los todos para que você possa começar a escrever código e visualizar páginas
da Web e interagir com o meu banco de dados de sequelas e todo esse tipo de coisa em seu computador
local . Ok, então é isso que a senhora Pop faz isso de novo. Como eu disse, Bridges originalmente projetado para Mac, é por isso que eu coloquei isso aqui. Mas agora ele realmente funciona em janelas também. Você também tem Zampa, então Samp era uma espécie de produto irmã para mapear. Então, originalmente, senhora era apenas para Macintosh, e então eles saíram. Eu acredito que eles relataram que a senhora poderia ser usada em janelas, e isso é o quê? Zam Poisson. Agora você pode ver ambos executados no Windows e no Mac agora, então você pode tipo de, não importa o que você está executando, você pode, ah decidir o que você quer usar, mas ele faz a mesma coisa. Então é um ambiente de desenvolvimento. Ele espera, Criar o servidor Web e instalar o meu PHP lantejoulas e todas as coisas que você precisa para que você possa realmente executar seus scripts. Outro que eu nunca usei servidor de desktop olhos. Esta é uma que já ouvi falar antes e as pessoas falam sobre isso, ah, é outra que você pode usar lá fora. E, em seguida, um que eu vejo que eu usei um pouco é por amplificadores servidor. No passado, este é provavelmente o que eu mais uso. Só porque parecia funcionar um pouco melhor no Windows e Zampa. E eu não usei amostra há muito tempo, então tudo pode ser totalmente diferente agora. Mas isso novamente faz a mesma coisa que configura seu ambiente para que você possa executar seus scripts. Apache PH. B, minha sequela, esse tipo de coisa. Tudo bem, então aqueles ar algum Ah diferente, tipo de servidores locais que estão lá fora agora. A próxima categoria que temos é o que é chamado de ID. Então isso significa ambiente de desenvolvimento integrado. E essencialmente, o que ele faz é pegar essa idéia do editor de código do serviço local e, em seguida ,
geralmente envolve algumas outras coisas que podem ser úteis para alguém que está trabalhando em código e isso coloca tudo no reboque um. Então, essencialmente, você pode instalar este pedaço de software e você vai ter o código ou você vai ter o servidor local. E tudo vai ser integrado de uma forma em que você não tem que mexer com os arquivos no back-end. É todo tipo de trabalho conjunto. Ok, então se você está procurando por um tipo de loja única que este, um nove eu d. pode ser o caminho certo. Agora você pode estar se perguntando, Por que alguém usaria um código para reverter um servidor local? Isso remonta ao que eu disse com o editor de código. Muitas pessoas ao usar um editor de código, eles realmente se apegam a eles. E então eles realmente não querem mudar para o editor de código que vem em uma
identificação
eu identificação diria que essa é provavelmente a maior razão pela qual muitas dessas coisas ainda existem de
novo para você. Você só vai ter que descobrir isso. Mas se você de novo, se você quiser um balcão único, isso é um eu d. está certo. Então vamos falar sobre alguns lá fora, então um deles provavelmente amore solução corporativa é Visual Studio. Eu mexo com isso de uma vez. Tem um monte de coisas nele. Então foi um pouco esmagador para mim. Este eu tentei pela primeira vez quando eu era ah, primeiro. Começar revestimento foi realmente um pouco esmagador para eu usar naquele momento, mas eu ainda vejo as pessoas usá-lo. Minha sugestão é, se, realmente, se você for colocar o dedo do pé mais coisas do tipo Web, isso pode ser um pouco exagerado. Mas se você se vê entrando em fazer como C plus ou C afiado ou esse tipo de coisas, então este poderia ser um bom editor para você porque eu novamente eu não usei uma tonelada. Mas meu senso é isso é um pouco melhor para esses tipos de software e talvez um pouco exagerado para as coisas da Web? Mas novamente, ele vai executar tudo isso,
que essas coisas e você pode ver que ele tem o editor de código. Ah, você sabe, você pode olhar para seus diferentes arquivos e todo esse tipo de coisa. Outra. Este que eu usei por um longo tempo é meio líquido, e eles têm,
uh, uh, pelo menos em um ponto eles tiveram uma versão específica do PHP. Vamos em frente e clique neste download aqui. Sim, então eles têm feijão líquido. Quatro PHP. Isso é o que este aqui é. Então é você pode ver que eles têm Java e groovy e todas essas outras coisas aqui. Mas você pode baixar apenas o PHP para o seu computador e instalar exatamente o que você precisa para executar e trabalhar com PHP. Então eles também têm essa opção. Eles também têm outros sabores era, você sabe, C mais e C e todo esse tipo de coisa. Então eu usei isso muito tempo, e ele tem um monte de coisas legais como você pode se conectar para obter hub ou aplicativos. Servidor de aversão. Ele tem todo o realce de sintaxe que você espera que ele tem conclusão de código enquanto você está digitando . Seu casaco lhe dará sugestões para diferentes funções. Você pode ser capaz de que você pode estar tentando digitar e todo esse tipo de coisa. Tem que você pode olhar. Tem uma árvore onde você pode tipo de você pode clicar em Ah, uma classe e olhar para uma classe que você pode procurar sem ter realmente ir para o arquivo de código . Você pode procurar por coisas diferentes. É que realmente é. Quero dizer isso. É uma boa ideia, na minha opinião. Novamente, eu uso isso por muitos anos. Provavelmente a maior coisa é isso. É um pouco pesado, e ele ocupa uma quantidade decente de recurso é e às vezes pode correr um pouco lento. Ah já faz um tempo desde que eu o usei, então eles podem ter limpado um pouco disso, mas foi o que eu notei. Onda. Em última análise, por quê? Uma das razões pelas quais eu desliguei-o. Vamos falar sobre o que eu uso aqui em um segundo. Mas esse é outro exemplo. Eclipse é um popular que eu já ouvi falar que eu nunca usei, mas você pode ver aqui novamente. Tem o editor de código aqui. Tem o seu sistema de arquivos. É meio que tudo acabou de se conhecer para ir juntos. Tem o emulador e todo esse tipo de coisa. Então você tem o código X. X Code é realmente destinado para se você está construindo se você está começando a construir os APs IOS então isso não é necessário algo usado para coisas da Web, mas eu queria jogá-lo aqui apenas no caso de você entrar em construir esse tipo de coisa. Certo,
então, então, Lao, vamos falar sobre a última peça aqui, que são meus pontos de interrogação. E ninguém poderia argumentar o mais recente e melhor que eu realmente gosto. E isso é o que é chamado de nuvem. Eu tenho Então é o mesmo conceito que um I D. Mas em vez de ser um pedaço de software que você baixar para o seu site, é na verdade alguns deles podem ter software que você baixar. Mas a ideia é que todos os seus arquivos são realmente hospedados na nuvem e assim você pode acessá-lo através de um navegador da Web. Eso deixe-me apenas ir para o meu painel e entrar aqui e você pode ver que eu tenho este backend aqui onde eu posso entrar você pode girar para fora basicamente diferentes espaços de trabalho. Se você criar um novo espaço de trabalho, direito, você pode torná-lo para PHP. Se você está fazendo coisas python, você pode fazer Ruby. Você pode ter um WordPress Ah específico, espaço de trabalho construído C plus. Você sabe, e todos eles têm tipo de coisas diferentes que eles suportam, mas isso permite que você realmente rapidamente criar esse tipo de coisa. Então é muito útil. E a coisa boa sobre isso é que eu poderia estar na minha área de trabalho. Posso ir ao meu portátil. Eu poderia até usar meu telefone. E quando eu faço login para
usá-lo, é tudo o mesmo. Código direito, que é diferente de se você tiver um editor de código instalado em seu laptop, então todo o código que você escreve nesse código é salvo localmente. Então, se você passar para a sua área de trabalho, bem, não
é necessariamente sincronizado lá em cima, enquanto com isso é. E é por isso que eu gosto porque eu trabalho em um número de dispositivos diferentes às vezes e viajar uma quantidade decente. E assim ter acesso ao mesmo código é muito bom. Agora, alguns desses ar limitado no sentido de que, por exemplo, com isso eu não posso realmente eu acho que você pode se conectar para obter, hein? Mas você não pode se conectar a, digamos, subversão. Há outra opção além da nuvem nove com código em qualquer lugar. Eu acho que você pode criar conectar-se a um pouco mais dessas coisas com este. Na verdade, eu tentei este no início e realmente não gostei. E então eu tenho usado o Cloud nove por um tempo, e este aqui, eu acho, fez muito desenvolvimento. Então eu posso verificar isso novamente em algum momento, mas em última análise, novamente, toda
a idéia e provavelmente haverá outros que aparecem e assim por diante. Eu estava usando nitroso, na verdade, por um tempo, e nitroso na verdade foi, uh, afundado. E foi aí que mudei para a nuvem nove. Então, novamente, todas essas peças, depois que eles mostraram que poderiam vir, eles poderiam ir em um ponto poderia ser bom. Em um ponto poderia ser ruim e então ser bom novamente. Não faço ideia para onde o mercado de buracos e tudo isto vai dar. Mas o que eu quero que você saiba é a diferença entre um editor de código, Ah, servidor
Web e eu d em uma nuvem i d. Então você não está indo pela rota I d Você precisa tanto do editor de código quanto do servidor local, o servidor Web local. Se você for a rota i d, seja uma nuvem ou apenas um i d regular tudo isso é construído em um reboque. Então é isso que eu quero que você saia dessa daí. Você sabe, apenas sair e fazer um jogo de pesquisa com outros diferentes. Quando eu comecei a fazer tudo isso, Eu baixei três ou 41 lado. Eu olhava para ele e via o que eu gostava, e foi assim que acabamos por resolver o que eu resolvi. Então, uh, espero que isso lhe dê um pouco melhor insight sobre o que está lá fora, o que você vai precisar para começar a funcionar, e alguns dos diferentes softwares que estão lá fora livres para usar. Tudo bem, isso é suficiente para esta lição. Obrigado por assistir. Falamos com você da próxima vez.
3. O é O PHP?: bem-vindo ao PHP 101 Neste vídeo, vamos cobrir o que é PHP fazer isso Vamos começar no navegador e falar sobre o
conceito de como o código é interpretado. Esse é o código que você, como desenvolvedor, à direita, é renderizado para criar a exibição que você vê em seu navegador. Então, se formos ao Google aqui e clicarmos com o botão direito sobre isso e visualizarmos a fonte da página, você verá que o código-fonte é realmente apenas um monte de código aqui que para a maioria das pessoas é provavelmente muito difícil de ler. Mas é este código que cria a página, e é o navegador em particular que olha para este código e, em seguida, o torna na tela que você vê aqui. Então seu ar sobrancelhas realmente em seu núcleo é apenas até bicho. Ele interpreta o código em exibição visual. Agora, com o PHP, existem certos tipos de código ou linguagens que são processados o que é chamado de lado do cliente. E há alguns que um processo que o ar chamado lado do servidor, agora cada um para cortar código, que você pode estar familiarizado com. JavaScript, CSS. Esses são todos o lado do cliente do processo, que significa pelo navegador. No entanto, PHP é algo que é processado lado do servidor. Então vamos dar uma olhada nas minhas habilidades de desenho chiques aqui, e eu vou te mostrar o que isso significa. Então, se formos desenhar uma linha no meio desta página aqui, e nós fôssemos dizer, Este é o lado do cliente e este é o lado do servidor. Como eu mencionei, seu navegador se sentaria aqui e então seu servidor, que é realmente apenas um computador que está configurado de uma certa maneira para servir páginas da Web, sentaria aqui como eu mencionei. Html, CSS, JavaScript. Estes estão todos aqui, enquanto o PHP e a minha sequela estão aqui. E realmente, o que PHP e minha sequela são? Existe apenas software instalado no servidor? Então, como na verdade, há três tipos de peças chave de software que muitas vezes são instalados em um servidor Web para fazê-lo funcionar? Isso é Apache PHP e minha sequela ou algum tipo de software de banco de dados que interage com PHP. Agora isso é o que é chamado de pilha de lâmpadas, assumindo que isso está rodando Lennix porque significa Linux, Apache, minha sequela e PHP. Agora, novamente, estes são realmente apenas pedaços de software que são projetados para permitir que este computador para servir páginas
da Web para um navegador. Então o que acontece é quando você vai para o Google Dot com que na verdade é traduzido para um que é chamado de endereço I P. Então você faz navegador foram pedido para google dot com. Ele é traduzido para um endereço I P pelo que é chamado de servidor de nome de domínio, e então o navegador obtém o endereço I B e faz uma conexão com esse
computador em particular . Então, cada servidor Web lá fora, cada computador conectado à Internet tem um endereço I P, e navegadores se conectam aos servidores diretamente para transferir informações para frente e para trás, que são as páginas da Web que você vê. Então, quando isso acontece, o programa que lida com essas solicitações é Apache. Assim, o Apache inicialmente recebe a solicitação do navegador, e o navegador muitas vezes dirá isso. Nós diremos o que ele quer. Então, se você for para o google dot com, então essa é na verdade uma página da Web tipicamente chamada index dot PHP ou index dot html poderia ser padrão. Ah, ou se você vai dizer a página sobre, pode
ser sobre o PHP dot. Então o navegador diz ao Apache o que ele está solicitando dele. E então o Apache olha em seu sistema de arquivos, então ele tem um sistema de arquivos exatamente como você tem em seu computador, e ele diz, Ok, ele uma vez indexar o PHP Então eu vou pegar esse arquivo, mas eu sei que é dot PHP, então isso significa que há o potencial para código PHP neste arquivo. Então isso significa que eu preciso enviá-lo para o mecanismo de processamento PHP para ver se ele precisa de algum código processado. Então é isso que Apache faz. Ele envia para o PHP e diz: “
Ei, Ei, há algum código PHP aqui? Se houver, então o PHP renderiza esse código, e se necessário, ele irá. Ele fará qualquer pedido. Oh, minha sequela que precisa fazer. E então uma vez que o PHP é tudo feito, ele envia esse arquivo de volta para o Apache completamente interpretativo interpretado. Então, uma vez que ele envia de volta para o Apache, não
há mais código PHP nele. Esse código PHP foi processado para criar o que quer que seja projetado para criar tantas vezes que seu HTML poderia ser CSS poderia ser JavaScript, qualquer que seja solicitado para criar pelo código PHP que você escreve que é tudo interpretado antes enviar ele de volta para o Apache e, em seguida, o Apache envia-o de volta para o navegador, onde ele é então interpretado pelo navegador porque é HTML CSS JavaScript etcetera. Então PHP é o que é chamado de pré-processador. É algo que processa no lado do servidor antes de enviá-lo de volta para a minha sequela. Agora, isso é um pouco importante de entender, porque ele dá a você uma idéia do que você está realmente fazendo quando você está escrevendo código
PHP. O que você está fazendo é quase sempre você está escrevendo código PHP que então vai
escrever ou produzir algum tipo de HTML ou CSS ou JavaScript. Então você está usando pêssego. Você usa código PHP para escrever outro código, e é assim que fazemos a interatividade de uma página da Web. Então, se voltarmos para o Google quando digitarmos uma pesquisa aqui, o que realmente está acontecendo é que há um pedido feito para esse site. À corda. Para executar esta pesquisa e que está sendo processado está sendo enviado para o Apache do que você sabe quando apertamos o botão enviar que você sabe que o pedido está sendo feito para Apache enviando-o para PHP. PGP está consultando minha sequela, e então ele está recebendo informações de volta que mostram esses resultados aqui, e então ele envia que PHP diz que está feito. Ele o envia de volta para Apache e irregular. Envie para o seu navegador aqui. Agora, eu realmente não sei se o Google é executado em PHP e minha sequela. Então, para todos os puristas lá fora, este é apenas Justus, um exemplo do que está acontecendo eso, mas que isso é realmente o que o PHP faz e o que ele permite você faça é que você adicione lógica condicional, permite que você interaja com bancos de dados. Processar cada solicitação TP e fazer um monte mawr que você não pode fazer com apenas estático. CSS HTML e script Java. Então o PHP é um pré-processador. Esse latte permite adicionar um elemento de interatividade. Torne suas páginas da Web dinâmicas. Ah, e realmente fazer aplicativos robustos que realmente fazem algo em vez de apenas exibir informações
4. Olá, World: Bem-vindo de volta ao PHP one. Ninguém neste vídeo. Vou mostrar a vocês como é simples e fácil começar a funcionar usando PHP aqui no lado esquerdo. Verá que temos isto. Olá, mundo que arquivo html. Isso pode ser algo com o qual você está familiarizado e você tem trabalhado até agora. CSS HTML e JavaScript. E então você viu um arquivo como este, e agora você está pronto para mergulhar no PHP e quer saber como converter isso em um arquivo PHP para
que você possa começar a usá-lo. Bem, é muito simples. Então eu vou em frente e clique com o botão direito no meu aplicativo aqui novamente. Claro, qualquer editor que você está usando, isso pode ser um pouco diferente, mas para mim, eu posso simplesmente apertar esta opção de renomear aqui e mudar isso para um arquivo PHP. E agora temos um arquivo PHP no qual podemos escrever código PHP. E lembre-se, se você assistiu ao vídeo, o que é PHP? Tudo o que a extensão realmente está fazendo é dizer
ao Apache que este é um arquivo PHP e ele precisa ser enviado para o P para o mecanismo de renderização PHP para ver se ele tem código PHP que precisa processado e se sim, para que ele seja processado. Ok, então isso não muda realmente nada que possamos fazer com este arquivo. Além de ser capaz de adicionar Ph. B. Isso realmente não tira nada. Então eu mudar isso para Olá mundo dot PHP Se eu vir aqui para esta página e eu agora visitar este arquivo e você vai notar que eu não mudei realmente não coloquei código PHP no meu arquivo ainda . Eu venho aqui, eu ainda recebo Olá mundo, então você ainda pode escrever uma página HTML regular dentro de uma extensão PHP dot. Na verdade, esse é o ponto é que muitas vezes seu código PHP será incorporado dentro de uma página da Web para exibir certas partes dessa página da Web. Então isso é obviamente algo que é absolutamente crítico que eles deixaram lá dentro que você tem a capacidade de continuar a fazer para que você possa fazer isso com PHP, certo? Então agora como nós realmente escrevemos algum código PHP aqui? Então, para apenas uma sintaxe básica de insetos para dizer ao motor de renderização PHP que um determinado bloco de código vai ser PHP? Nós usamos sugerir algumas tags muito especiais Agora. Não há nada para explicar sobre estas etiquetas. Eles são apenas arbitrários. É o que eles decidiram usar. Portanto, não há significado mais profundo, necessariamente por trás disso. Estes ar, apenas as etiquetas que você precisa usar. Então vai ser,
ah, ah, menos do que assinar um ponto de interrogação nas palavras PHP. Isso abre um bloco de PHP. Isso diz ao PHP ou ao mecanismo de renderização. Ok, estamos começando o código PHP agora e depois para fechá-lo para dizer, Ok, terminamos com PHP. Use um ponto de interrogação e o sinal maior que. Ok, então qualquer coisa entre esses dois símbolos será considerado código PHP. Agora, se eu escrevesse “Olá Mundo” dentro daqui, o que é sintaxe imprópria, certo? Esta não é uma sintaxe adequada do PHP, e eu refaço isso. Você pode ver que quebra minha página porque é o que acontece é que este arquivo é enviado para PHP para renderizá-lo. O motor PHP tenta renderizá-lo e diz, Oh, essa não é a linguagem que eu conheço. E assim diz que o quebra. É que este arquivo está quebrado e envia de volta para o Apache. E assim que Apache, já que esse é o navegador e diz, Ei, algo está acontecendo com essa página. Precisa ser consertado. Ok, então se viermos aqui agora e usarmos a sintaxe adequada, fazemos eco e olá Oh, mundo como este, que agora é sintaxe correta do PHP e ecoa Apenas uma maneira de imprimir informações para a tela e Nós recarregamos isso. Agora, você vê, nós temos o nosso mundo olá aqui. E, claro, vimos este aqui em baixo. Então, se realmente apagarmos esse, então teremos o nosso único “olá mundo”. Ok, então é realmente tão simples de começar a funcionar, você só precisa de um arquivo com a extensão dot PHP nele, e então você precisa começar a escrever seu você faz suas tags PHP abrir e fechar, e então você começa a escrever seu código PHP. No meio disso, é muito fácil começar e correr. Claro, a única advertência para isso é que você precisa ter um servidor Web funcionando, então você precisava ter um servidor Web em tempo real em um domínio ativo que você está usando
lá fora para o que você está fazendo, ou você precisa ter um programa como servidor Wamp ou exemplo instalado em seu computador local que tenha o motor de renderização PHP nele para que ele renderize esses arquivos PHP. Se você não tem isso, então você só vai ver este código no seu navegador. Então, se você fizer isso e você apenas vê este mesmo código no seu navegador aqui, isso significa que você não tem seu servidor Web corretamente instalado e funcionando. E eu recomendaria assistir o PREREQUIST, um dos pré registros que vídeos para este curso, que é como obter um servidor local instalado com Wamp Server. Agora há muitas opções lá fora para fazer esse tipo de coisa. Eu uso um programa. Todos sempre me perguntam qual programa eu usei um aplicativo chamado nitroso. É ah, ponto
nitroso io e é uma nuvem i d. Ambiente de desenvolvimento
integrado. Então ele tem o servidor Web e tudo o que já está embutido nele, então eu não tenho que instalar nenhuma dessas coisas. Há muitas opções como essa, , mas se quiser algo para se levantar e ir, pode assistir ao vídeo do Douro sobre como fazer isso com lâmpadas sobre as quais uso por muitos anos. Tudo bem, então é assim que você começa e rodando com PHP, como você pode ver, muito simples e direto.
5. Variáveis PHP: Bem-vindo de volta ao PHP, um a um. Este vídeo. Vamos entrar em variáveis Peach P. Tudo bem, então vamos começar com apenas o uso simples. Então você percebe Aqui temos eco. Olá, mundo. Digamos que queremos realmente usar algumas variáveis para fazer isso para que pudéssemos fazer então variável é igual Olá mundo. E, claro, o nome da variável pode ser qualquer coisa aqui. E quando escrevemos variáveis, elas sempre começam com este cifrão aqui. Então é assim que o PHP sabe que estamos criando uma variável aqui. Então começamos com o cifrão, fazemos o nome da variável, que quer que
seja, pode ser o nome. Pode ser corda. Pode ser um cão. Pode ser o que quiser. O nome dessa variável para ser o meu conselho torná-lo descritivo do que a variável real vai ser. Então, por exemplo, se você está exibindo o primeiro nome de alguém, então talvez o primeiro nome assim. Ok, então isso é uma espécie de regra geral ao criar variáveis. Então, sinal de dólar o nome da variável e, em seguida, é igual. Então nós estamos dizendo que esta variável é igual a qualquer coisa que então colocá-la igual a. Neste caso, temos uma string. Então nós vamos usar Olá mundo e, em seguida, a fim de vir aqui e usar esta variável Então em vez de ecoar Olá mundo como fizemos acima nós podemos eco são o nome de nossa variável como esta. Então, se fizermos isso, verá que temos um segundo mundo de olá aqui. OK, então é apenas um simples uso de variáveis. Agora, uma coisa a ter em mente com variáveis. Há uma série de coisas que vou passar por aqui. O 1º 1 está escapando da informação. Digamos que queríamos escrever algo como se eu fosse uma variável agora. A coisa a prestar atenção é esta citação aqui. Esta é uma aspas simples e, claro, essas aspas duplas de ar agora que importa no PHP porque você usa aspas duplas e simples como Indyk como rappers, essencialmente para quatro strings. Então você percebe aqui em cima eu uso aspas simples e, em seguida, aqui em baixo, uso aspas duplas. A razão pela qual eu fiz isso é porque aspas simples realmente sairão. Coloque-o literalmente onde como aspas duplas, braço ou forno interpretativo um, uso. Ah, para cordas e eu vou te mostrar o que isso significa em um segundo. Agora, se eu salvar isso e atualizar isso, você verá que isso funciona bem. Sou uma variável. No entanto, se eu vir aqui e mudar isso para uma única citação e mudar isso para uma única citação , você já pode ver que há alguma estranheza acontecendo. E veja que isso aqui é uma cor. Este ano é outra cor, e se atualizarmos isso, você verá que teremos um ar. Isso é porque nós somos o que o PHP ISS vê aqui é que vendo uma aspas simples de abertura pensar Ok, estamos começando uma string. Usamos o intérprete literal ou a designação literal aqui e então, Oh, estamos terminando aqui mesmo. Mas isso não é realmente o que queríamos como escritor de código. Então ele diz, Oh, acabou, e agora nós temos apenas este texto aqui, que não funciona, e nós temos uma única citação que não tem uma contraparte para ele, então o PHP é confundido por Isto é que não é sintaxe correta, então ele lança o ar. Agora há algumas maneiras de você lidar com isso. A primeira coisa que você pode fazer é o que é chamado de escape para que você possa adicionar uma barra invertida antes da aspas simples e isso diz ao PHP. Ei, o próximo personagem depois dessa barra, eu não quero que você interprete. Eu não quero que você a renderize como você normalmente faria. E assim o PHP diz OK, e agora se atualizarmos isso, você pode ver que ele funciona bem do outro modo que você pode lidar. Isto é como eu fiz isso inicialmente é Você pode envolver isso em aspas duplas e, em seguida, você
aspas simples dentro dele. E assim PHP o que ele está vendo é ele dizendo, Oh, ele começou esta string com aspas duplas. Portanto, quaisquer aspas simples em vista disso não significa dedo do pé terminar a string. Então eu posso apenas tratá-los como texto normal e assim você pode ver que isso
também funciona . Agora, outra coisa que você pode digerir é que você pode revertê-lo. Você pode usar aspas simples no lado de fora e, em seguida, você pode usar aspas duplas no interior. Então, agora, se
atualizarmos isso, podemos ver que funciona também. Então você perdoa bagunça sem um número de maneiras diferentes de conseguir o que você está procurando. Muitas vezes, se você está fora colocando apenas texto real. Então não há código HTML. Então você costuma usar aspas duplas nas saídas para iniciar a variável, porque há uma boa chance quando você está escrevendo apenas texto, especialmente se for parágrafo você vai usar algum tipo de apóstrofo nesse texto em algum lugar . E você não quer que o dedo do pé tenha que escapar de todos eles ou ter uma pausa e assim por diante. É um imposto de avião escrito para Normalmente, a boa regra de ouro é usado aspas duplas no fora. Quando você está escrevendo HTML, no entanto, você provavelmente sabe de ter feito algum HTML. Estou assumindo que você pode ter coisas como um árbitro igual a e você tem aspas duplas dentro dele. Nesse caso, muitas vezes
você quer usar as aspas simples do lado de fora para que você possa usar livremente suas aspas
duplas dentro daqui e ficar muito bem. Ok, então isso é um pouco para escapar. Outra coisa que você pode dio é que você pode conteúdo. Oito cordas sempre odeiam essa palavra, mas ah, você pode basicamente combinar cordas juntas para que pudéssemos fazer algo como eu sou e então pontuar uma variável para que você pudesse fazer algo assim você pode ter visto isso com JavaScript, Você usaria um sinal de mais aqui. E PHP é um ponto Então, se nós viermos aqui, você vê, nós temos que funciona bem aqui. Então isso é uma coisa que você pode fazer com suas cordas conch dentro. Tome isso. Além disso, você pode dio digamos que queremos fazer alguns, você sabe, adicionar ou usar números com nossa variável para que você possa definir sua variável para um número. Digamos que o número é igual a Não. 22. Agora você vai notar com números. Você não precisa colocá-los entre aspas ou aspas simples, certo? PHP reconhece isso é ah, tipo de
dados é o que chamamos estes. Então você string é um gerenciador de tipo de dados do tipo de dados, então o PHP reconhece isso e você não precisa fazer nada. Não precisa embrulhar isso agora. Se você fizer
isso, não vai quebrar. Mas o tipo de dados também será reconhecido como uma string e não ah número. Então, isso será importante quando você entrar em algumas coisas mais avançadas e obter mais pesadamente em tipos de dados. Mas por enquanto, só sei que você para números você pode simplesmente colocá-los assim. E assim você pode ver que temos 22 aqui. Agora, se você adicionar qualquer tipo de texto a ele, além de apenas um número reto como este, isso faria com
que ele se quebrasse. Então, é por conta do Lee. Estritamente números não podem adicionar qualquer tipo de texto a ele. Tudo bem, então a outra coisa que você pode fazer é, claro, fazer matemática com facilidade. Muita gente acha que código é tudo sobre matemática, mas não é verdade. Mas você ainda pode fazer matemática, então você pode dizer algo como número vezes para gostar disso ou vamos ver, isso é número igual a número vezes dois. Está bem, então deixa-me fazer isto, está
bem? Então podemos fazer isso. E você vê que 22 vezes dois é 44. Então fizemos algumas contas básicas. Você poderia fazer dividido por dois. E então nós temos 11 aqui, e assim você pode fazer todo tipo de matemática diferente, e, uh, funções
aritméticas com suas variáveis também. Agora, uma das coisas que você não pode digerir com isso é começar seu nome de variável com um número. Então, fazendo algo assim. Isso não vai funcionar. Isso vai PHP não gostar disso. E por isso vai fazer com que se quebre. Mas você pode adicionar números no final como este, então PHP não gosta deles no início, mas vai levá-los muito bem no final. Outra coisa que podemos fazer aqui, que você provavelmente vai fazer um pouco é usar números em strings são variáveis usadas e strings. Então, por exemplo, você poderia fazer algo como, hum, Echo. Minha idade é o número. Quem me dera, certo? Quem me dera ter 23 anos ou acho que isto vai dar-nos 11. Mas nós podemos vir aqui e você vê, nós temos nossa corda aqui. Minha idade é 22. Eu não fiz porque mudei a variável aqui. Eu não fiz porque mudei a variável aqui. Assim diz que minha idade é 22. Você pode ver que eu coloquei isso bem dentro da corda aqui. Agora, quando eu falei mais cedo sobre as aspas duplas sendo interpretativas significando que ele vai renderizar variáveis dentro dele assim. Se eu usar as aspas simples aqui, no
entanto, não vai fazer isso. Então esta é a diferença entre aspas simples e duplas. Se eu atualizar isso, você verá que ele realmente imprime isso literalmente. Assim, aspas simples imprimem coisas literal como este, enquanto aspas duplas realmente renderizarão estes um pouco. E então uma das coisas que você pode fazer é se você, por algum motivo, precisa usar aspas simples aqui. Você pode realmente Concha, Concha Tatis. Ah, então nós podemos fazer assim e então nós podemos usar nosso single ou realmente nós podemos fazer nossa única citação para terminar essa string, usar o ponto e então nós temos nosso número aqui assim. Livra-te deste. E assim você vê, nós temos nossa corda. Está em um espaço. Ter a nossa string, temos o nosso ponto e, em seguida, temos a nossa variável. Você pode ver agora que minha idade é 22. A última coisa que vou mostrar é algo chamado Variáveis Variáveis, que é um truque legal. Pode não usá-lo uma tonelada, mas pode ser útil para você se você precisa fazer algo assim. Então temos a nossa variável numérica definida como 22. O que podemos dizer é que podemos criar um novo, muito nascido vai dizer que isto é um igual e vamos defini-la para o número. Ok? E então nós vamos descer aqui e nós vamos mudar isso para o que é chamado de variável variável como esta. E então o que isso está dizendo é que queremos aqui, queremos um que é definido como número. Queremos o valor dessa variável com este nome. Então, essencialmente, o que isso vai fazer aqui é olhar para um e dizer que está definido para número, e então ele vai olhar para trás aqui e ver se há uma variável chamada com o
número de nome que temos, que é 22 bem aqui. Então, quando fazemos isso, então isso deve produzir 22. Então, se olharmos para ele, você vê que temos 22 aqui, então isso é chamado de variável. Ele permite que você adicione um pouco de um elemento dinâmico para sua nomeação variável . Ah, e quando você entra em alguns scripts mais avançados e assim por diante que isso pode potencialmente vir a calhar e talvez algo que você queira usar se você quiser criar algo onde você precisa criar nomes de variáveis em tempo real, então isso é muitas vezes algo que você pode fazer para fazer isso. Tudo bem, então são variáveis. Como você pode ver, eles são bastante simples e fáceis de usar.
6. Arrays do PHP: Bem-vindo de volta ao PHP one. Não. Um neste vídeo vamos mergulhar em um aumento. Então a primeira coisa que você deve estar se perguntando é, bem, como eu crio em uma corrida? Então há um vários diferente ele é que você pode criar um array. O mais simples é criar um no que é chamado de índice para Ray. E você pode fazer isso fazendo algo assim. Nós criamos um nome de variável ou apenas chamá-lo de um raio aqui disse que igual. E então nós vemos isso usar esta função de matriz,
e, em seguida, dentro desta, nós apenas escrevemos os elementos de nossa raça para que ele poderia ser o nome E e-mail endereço, certo, e você vai ver isso agora. Criamos três elementos em nossa matriz, e esses são nome, e-mail e endereço. Agora, com uma matriz, você não pode ecoar isso. Então, se eu tentar ecoar esta matriz assim, o que eu vou conseguir, você verá aqui. É só esta matriz de palavras, mas não vejo o que está nela. Então nós temos que usar uma função aqui chamada Print
Are, que é basicamente imprimir recursiva, e que vai realmente passar pelos elementos da matriz, e ele irá imprimi-los para que nós vamos vir aqui. E se atualizarmos isso agora você pode ver que temos nome, e-mail e endereço. Então isso é chamado de uma matriz indexada. Há realmente tipo de para tipos de aumento. Há uma matriz indexada, e então há o que é chamado de uma matriz associativa ou nomeada e matriz indexada é essencialmente uma onde as chaves são números. Então, para quebrar isso e olhar para o que realmente está nesta matriz, o que temos aqui é que nós temos estes aqui, que são as chaves. Então 01 e dois são as chaves, e então os valores são nome, e-mail, um endereço. Agora isso é importante quando se trabalha com um aumento, porque isso permite que você acesse diferentes elementos dentro desta matriz. Então, por exemplo, digamos que queríamos vir aqui e queríamos. Queríamos ecoar este nome aqui para fazermos eco. Fazíamos referência ao nosso array, e então usaríamos esses colchetes e especificaríamos a chave do elemento que queremos. Então, neste caso, nós faríamos zero e fechar essa linha e nós atualizamos isso, você verá que ecoa o nome, que é o elemento que está na posição zero ou tem zero como uma chave aqui. Então, se
quiséssemos um, viria aqui para um, e isso nos daria um e-mail. E, claro, se quiséssemos o último, faríamos, e isso nos daria o endereço. Então isso é importante saber quando você está trabalhando com os Rays. Que Honore é essencialmente, um, é um recipiente de tipos que tem diferentes, essencialmente variáveis dentro dele. Porque de certa forma, cada uma dessas chaves é uma variável que faz referência que tem um valor diferente
associado a ela. Então podemos acessar essa informação fazendo isso ou usando essa sintaxe. Ok, então, um, uma vez que você sabe disso, então há um par de maneiras diferentes de você criar uma corrida. Então, o 1º 1 é o que fizemos aqui. Outro é apenas usando colchetes para que possamos criar array para, e podemos apenas usar colchetes como este, e podemos definir isso igual a algo como salada Não, como este. E, em seguida, se nós imprimir a nossa matriz para nós dar uma olhada nisso, então você pode ver que temos uma nova matriz e nós não temos matriz indexada com o valor de salada. E então você pode adicionar coisas a isso como este, e você não precisa especificar nenhum nome aqui, necessariamente. E poderíamos colocar algo como tigela. E se imprimirmos essa matriz, verão que agora temos salada e bala. Ele realmente meio que anexa no final do que quer que esteja lá que possa ser útil. Quando entrarmos em loop e você estiver passando por coisas diferentes, , e então você pode vir. Você pode adicionar elementos em seu raio e assim por diante, , e ajudar a construir Honore programaticamente. Então isso é algo que você tem pensado em fazer. Essa é uma maneira de você fazer isso. Claro, a outra maneira de criar um aumento é o que são chamados matrizes associativas. Então nós podemos fazer matriz três iguais e usamos nossa função de raio, e aqui nós realmente damos nós especificar as chaves. Então aqui podemos fazer a chave. O que colocarmos em primeiro lugar aqui é a chave. Então a chave é o nome e digamos que só queremos fazer, John. Tudo bem. E então colocamos uma vírgula. Então este é um elemento, certo? Isto vai ser um elemento, Narey. A chave é o nome, e o valor é John. Então poderíamos vir até aqui. Mas você envelhece. Não, querida. Sim, tenho 35 anos a partir de agora. Então, 35 anos,
e poderíamos fazer um e-mail assim. Ok, então agora eu sempre é provavelmente algum debate que você poderia ter sobre isso. Eu sempre termino com um comum aqui. Você pode fazê-lo com ou sem a vírgula. Mas eu sempre coloco um lá, porque se eu voltar aqui mais tarde e eu quero acrescentar algo e eu não tenho esse comum lá, eu muitas vezes esqueço. E então eu apenas coloquei lá como uma espécie de boa prática para mim. Você não tem que fazer isso. Algumas pessoas até dizem, não faça isso. Mas que seja. Ah, com ou sem o comum no final, ainda vai funcionar. E então, se viermos aqui e imprimirmos nossa matriz três, então você verá. Agora temos o nosso raio três aqui e agora temos o nome Kees. Então, se quiséssemos acessar, por exemplo, o nome Poderíamos vir aqui. Poderíamos ecoar o nome da matriz três como este, e isso vai imprimir o que temos aqui para este nome chave no valor de que é igual a John. Tudo bem, então isso é o que ah, isso vai forçar e esse nome para elevar o seu valioso. Muitas vezes obtemos coisas de um banco de dados ou assim por diante. Você sabe, você terá um nome para levantar assim porque você tem nomes de campo e, em seguida, os valores desses campos e assim por diante. Então, três maneiras diferentes de trabalhar com os Raios. Obviamente, à medida que você entrar, hum, looping e assim por diante, isso vai se tornar mais importante. Mas isso não dá a você uma idéia de como criar raise, como começar a trabalhar com eles e assim por diante.
7. Se, e e no swing: Bem-vindo de volta ao PHP 101 Este vídeo nós vamos entrar se else e mudar. Então esses operadores condicionais de ar que nos permitem exibir diferentes ou fazer
coisas diferentes no PHP ou exibi-lo para informações baseadas em algum tipo de verificações, algum tipo de condição que nós acertamos. Tudo bem, então vamos começar com apenas o básico em impostos. Aqui, deixe-me fazer isso para que possamos mover isso aqui um pouco. Então, o básico em impostos, você começa com a palavra se e, em seguida, você cria parênteses dentro destes, é
aqui que vamos colocar nossa condição, vai voltar a isso em apenas um minuto, e então você cria colchetes como este. E então o que isso vai fazer é se a condição que nós bem aqui é verdadeira do que
o que quer que esteja dentro desses colchetes será feito. Se isso pode ser uma declaração de eco, pode
ser algum tipo de chamada de banco de dados. Pode ser qualquer tipo de função PHP que você colocar aqui dentro. Se esta condição for verdadeira, é
isso que vai acontecer. Para que pudéssemos criar uma condição simples. Vamos em frente e criar uma variável como esta Vai chamá-lo número irá defini-lo igual a um e vamos verificar e ver se esse número é de fato dito dedo do pé um. Então, se o número é igual a um, então vamos ecoar “Verdadeiro “assim. OK, então algumas coisas a observar aqui, uma obviamente que estamos referindo são variáveis estavam dentro dos parênteses. Você vai notar que usamos duplo igual aqui, e isso é novamente que isso certifique-se de que estamos realmente verificando este número para ver se é igual dedo um. Se usarmos aspas simples aqui, isso realmente irá em frente e definir número igual a um, não importa o que foi configurado para aqui. Então o essencialmente substituir esta linha aqui, e então ele vai assumir,
obviamente, obviamente, porque nós acabamos de dizer, que é verdade e, portanto, ecoar isso. Então, se fizermos isso, se olharmos aqui, você vê, nós nos tornamos verdade e nós poderíamos definir este número para dizer três e ainda é verdade, certo? Então, se você está tendo um problema, quem aqui e eu já tivemos isso antes? Se você está tendo um problema onde não importa o que o condicional. Você acha que a condição deve ser uma certa coisa e você deve estar obtendo um certo resultado e isso não está acontecendo. Verifique sua declaração de condição. Certifique-se de que você tem dois iguais. Então, por aqui, se fizermos isso agora, não deve aparecer. Você vê, nós não temos um verdadeiro porque não é igual a um. Mas se dissemos um,
então, é claro, e teremos a verdade aqui. Então essa é uma afirmação
muito, muito simples aqui. Agora você pode fazer o que é adicionar a isso. O que é chamado de outra coisa. Então nós escrevemos a palavra mais depois de nossos colchetes, para declaração if e nós adicionamos novos colchetes. E essencialmente, o que isso vai fazer é, se for verdade, então ele vai fazer o que está dentro desses colchetes, seja, se não for, se esta condição não for verdadeira, Então vai ecoar, ou vai fazer o que estiver dentro desses colchetes. Então aqui nós poderíamos fazer eco falso assim. Por isso, se actualizarmos é verdade, por isso vamos tornar-nos verdadeiros. Se configurarmos isso para agora, devemos ficar falsos aqui, então é assim que você pode fazer uma declaração simples se else. Esta condição pode ser qualquer coisa. Pode ser qualquer coisa que você queira que seja, , e então o que está dentro daqui pode ser realmente qualquer coisa que você queira que seja agora, outra coisa que você poderia fazer em vez de verificar se é verdade, você pode verificar se não é verdade, então podemos ver se esse número não é igual a um dedo do pé. E fazemos isso substituindo um desses sinais de igual por um ponto de exclamação. Então, isso significa essencialmente não igual, e você vai encontrar no PHP o Muitas vezes este ponto de exclamação vai significar não é assim. Isso é algo a ter em mente neste caso novamente, não é igual. Então, se fizermos isso, então o número não é igual a um? Sim, é também, então não é igual a um. Então é por isso que nos tornamos verdadeiros. Então esta é uma boa maneira de verificar os negativos, verificar para ver se algo não é igual a outra coisa. Então isso é outra coisa que você pode fazer lá. Você também pode fazer isso entre diferentes variáveis, então vamos definir este de trás para o dedo do pé um. Vamos descer aqui e fazer. Número dois é igual a dois. Tudo bem, então agora podemos ver se o número é e o Will muda aqui em um segundo. Se o número for igual ao número dois e atualizarmos isso. E claro que não deveria ser porque este é um 1 e este é um 2, então ficamos falsos. Se mudarmos isso para um, então vamos ficar verdadeiros para que você possa comparar variáveis assim. Outra coisa que você pode fazer como você pode criar várias condições, e você pode usar instruções diferentes para isso. Então vamos em frente e criar o número três igual a três. E vamos mudar isto para um. Então, se número um ou se número é igual ao número dois. E há algumas maneiras que você pode combinar condição para que você possa usar e você pode usar ou assim, neste caso, vai usar e número um é igual ao número três. Então o que isto quer dizer é, se não temos o número um, não
temos o número. Isto significa que se o número é igual ao número dois e é igual ao número três,
em seguida, irá ecoar True. Agora sabemos que isso não é verdade, porque este é o número três está definido 23 Então isso vai em frente e dar-nos uma declaração falsa . Então tem que ser com isso e assinar que tem que atender as duas condições. A direita tem que atender a esta condição aqui. Número é igual ao número dois, e este aqui número é igual ao número três. Então isso é e com ou você pode fazê-lo assim e seus dois tubos. E agora o que isso está dizendo é que se ele atende a qualquer condição se encontra uma ou outra . Então, se atualizarmos isso vemos que obtemos um verdadeiro porque este avalia como verdadeiro número um igual é o mesmo que o número dois aqui. Então você começa com a declaração do remo enquanto um dos outros é verdade, então você vai ter a primeira linha aqui você vai ter a declaração verdadeira. Ok, para que algumas coisas tenham em mente também, você também tem uma maneira que você pode verificar não apenas o valor, mas o tipo. Então, se nós definir o número dois
em ah, em aspas simples como este que faz este tipo de dados, ele muda de um número um dedo inteiro, um fluxo, e então agora enfraquecer. Se adicionarmos 1/3 sinal de igual aqui. Vamos em frente e nos livrar desta condição para adicionar 1/3 sinal de igual aqui. O que o PHP vai fazer é verificar. Não só o valor é o mesmo, então os valores são os mesmos. É um. Mas o tipo de dados é o mesmo? Então é, eles dois
são o número dois um, uh, imager, assim como o número. O número é. Então, se verificarmos isso, você notará que ficamos falsos, e isso é porque eles têm diferentes tipos de dados. Então isso veio algo para ter em mente se você quiser,
hum, hum, também verificou o tipo de dados. Você pode fazer isso adicionando este terceiro parênteses aqui. Se você quiser verificar se ele não é igual agora você adicionar o seu não assinado no início,
então você tem o seu ponto de explicação e, em seguida, para parênteses. E se não for, ambos os valores terminam o tipo de dados da mesma forma, então ele irá ecoar verdadeiro e você vê que chegamos a verdadeiro aqui. Ok, então isso é mexer com se um outro Agora a última parte da última coisa que você quer prestar atenção é algo chamado Switch and Switch é algo que você usaria se você está indo para ter uma cadeia como em vez de fazendo uma longa cadeia de If else assim, às vezes você pode precisar verificar várias coisas. Então, em vez de fazer se mais, você também pode fazer outra coisa se assim e escrever outra condição, certo, Em vez de fazer um monte desses, você pode fazer o que é chamado de switch. Ah, em PHP. Então mude, então verificamos nossa variável. Então nós vamos. Número como este vai colocar entre parênteses e, em seguida, criar nossos colchetes e, em seguida ,
dentro daqui, podemos fazer um número de diferentes casos diferentes que podemos verificar para que possamos fazer o caso um. Então vamos ecoar a verdade. Ok? E então sempre que você faz isso, você sempre coloca o que é chamado de pausa. Então, quebre aqui assim, e eu vou passar por isso aqui em apenas um minuto. Mas que nós poderíamos fazer um caso e nós podemos dio-ah, para e nós podemos fazer eco falso. Ok, uh, quarto. E então eu vou cobrir isso e um segundo nós vamos fazer uma pausa aqui. Ok, então o que isso vai fazer é olhar para esta variável bem aqui. Número certo. Isso é o que estamos especificando e vai ver se é igual a um dedo do pé. Se
for, vai ecoar a verdade e depois parar. Se não for, isso vai continuar e vai olhar para o caso, também. Se isso for verdade, então vai ecoar falso e depois parar. Então, se atualizarmos isso, você verá. Nós temos isso extra verdadeiro aqui porque é verdade para este caso em particular. Agora, se configurarmos isso para, então você verá que pegamos o falso aqui. Então o que isso permite que você faça é que você pode continuar com esses casos aqui para que você possa saber, ir em frente e fazer o caso que você pode verificar. Digamos que você queira verificar contra uma string como esta para que você possa fazer três como este e ver se é igual a isso. Um eco, talvez três, assim. Então, novamente, você pode verificar um monte de casos diferentes e assim por diante. Ah, e veja o E. M. Eu quebro aqui e vejo se é se, ah, é esse número é igual a esse para que você possa fazer um monte de verificações diferentes
no caminho . Então, hum, ele permite que você faça um monte de declarações diferentes se else sem ter que escrever tudo isso ele sente sintaxe. Agora uma coisa com isso é ah, muitas vezes você quer definir algum tipo de padrão. E então, se viermos aqui, podemos fazer padrão como este. E o que isso vai fazer é e digamos que disse, isso é algo que podemos fazer Echo. Não faço ideia. Então não sabemos se é verdade. Espingardas. Certo, então o que isso nos permite fazer é se tudo isso for falso, então vamos definir isso para quatro. Certo? Então, não é. Não é um, não
é, também. Então podemos configurá-lo para quatro ou reconsiderado para o padrão, que não é idéia. Ok, então o padrão permite que você exiba algo se tudo o resto não coincidir não for verdade . Então, se não for igual a um, não
é igual a dois. Ok, então é isso que o padrão permite que você faça no interruptor. Então, novamente, é um dedo
muito, muito rápido. Verifique um monte de coisas sem ter que escrever esses blocos longos de instruções if else
8. Para e de de and: bem-vindo de volta ao PHP 101 neste vídeo, vamos entrar em quatro e quatro loops cada. Tudo bem, então vamos começar com um loop de quatro. Então, para criar um loop de quatro, você começaria com a palavra quatro como esta, e então você tem dentro de seus parênteses. Aqui você tem três coisas que você especifica. Especificar um valor inicial, especificar uma condição
e, em seguida, especificar algum tipo de incremento. Certo? Então a primeira coisa que vamos fazer é definir essa variável criativa chamada I, e vamos defini-la igual a um. OK, então esse é o nosso valor inicial da nossa variável. Eu em seus olhos variáveis, o que vamos usar durante o resto de nossos quatro loop,
hum, hum, para fazer nossas verificações e exibir ou dados e assim por diante. Então vamos definir o valor inicial para um, e então vamos especificar uma condição. Então esta é uma condição que vai dizer o para cada loop e se ele deve ou não realmente tipo de continuar processando se ele deve ou não exibir o que vamos colocar dentro de nossos colchetes. Então, Então, neste caso, vamos definir I menor ou igual a 10. Então, Aziz, desde que eu seja menor ou igual a 10, continuaremos a correr o nosso ciclo, está bem? E então nós vamos especificar um incremento, e nós vamos definir isso para I mais o que faz? Então o que isso vai fazer é o nosso valor inicial, ser um. Então os quatro loops vão verificar se isso é menor ou igual a 10. E é. E então, se assim for, então ele vai fazer o que nós colocamos dentro de nossos colchetes encaracolados aqui. E então ele vai Teoh incrementar este I por um. Então ele vai mudá-lo para um para e eles vão executar o loop novamente. E, em seguida, um três e executar o loop novamente um quatro. Execute o loop novamente. E então continue executando esse loop até que ele atenda a essa condição ou diga que essa condição não é mais verdadeira. Então, se viermos aqui e fizermos algo simples como Echo, e faremos eu termino uma pausa assim. Se fizermos algo simples assim e atualizarmos isso, então você verá que temos 1234567 Uma vez que atinge 10, então ele pára. Então esta é uma maneira muito útil se você precisa, tipo, criar. Ah, se você precisa criar uma lista de números como esta ou você precisa criar algum tipo de dados e você não quer escrever tudo à mão, então você pode fazer isso. Por exemplo, eu uso isso muito com,
um, você sabe, você sabe uma vez melhor, ao criar uma interface e você quer ter um tamanho de texto diferente é que alguém esconder ECT para que eles possam selecionar ah fonte de seis pontos ou oito pontos ou 10 pontos ou 12 pontos ou qualquer outra coisa. Esta é uma maneira fácil de criar essa opção dentro dessa caixa de seleção, sem realmente ter que digitar todos os números diferentes lá Agora, algumas coisas aqui. Um. Você quer ter cuidado com suas condições aqui porque às vezes é fácil definir uma condição que irá também. Isso será sempre verdade. E então você seu loop vai apenas continuar correndo e correndo e correndo e correndo e correndo e correndo. A outra coisa é,
se você quiser fazer incrementos diferentes aqui,
você certamente pode fazer isso para que você possa fazer I igual a quando você poderia fazer I mais 2,
e isso vai nos dar um pouco diferentes incrementos. A outra coisa é, se você quiser fazer incrementos diferentes aqui, você certamente pode fazer isso para que você possa fazer I igual a quando você poderia fazer I mais 2, Então, se dermos uma olhada nisso, então você terá 13579 OK? Então você poderia fazer você poderia fazer cinco se você quisesse ouvir. Você pode fazer o incremento que quiser que faça sentido. Você também pode alterar isso para que isso possa ser zero em vez de um. Ou pode ser qualquer outro número. Pode ser como oito. Seja qual for o caso. Então há alguma manipulação que você pode fazer aqui, hum, com isso. Então tenha isso em mente, Hum, e é apenas uma ferramenta útil para tipo de criação de dados que você pode encontrar agora o contador para isso então ou o irmão irmão dela é o que é chamado de para cada loop. Então, para cada um é assim, parênteses como acima. E, em seguida, nossos colchetes Q. A diferença é que, na verdade, vamos estar referenciando algo e realmente, onde vamos referenciar seus elementos em uma matriz. Então, se criarmos um raio bem rápido aqui e vamos apenas fazer um raio igual nome era uma
função de raio e, em seguida, dizer nome, e-mail, Endereço Algo como isto. Ok, agora nós podemos realmente fazer loop através de nossa matriz e fazer coisas diferentes com os dados. Então o que vamos fazer é gastar e vamos fazer referência à nossa raça. Então, para cada parênteses e, em seguida, matriz, e então você foi usado a palavra como, e você pode fazer isso de um par de maneiras diferentes. Então, Ah, você perdoa um nome, nome como, um, dados como este, certo? E então entrei aqui ao fazer referência aos elementos. Ele podia ouvir, fazer este eco. E então poderíamos fazer o Dada, e eu vou fazer uma pausa como esta. Ok, então que seja, vamos mostrar isso. Então, como ele percorre a matriz, o valor é o que vai acontecer aqui, certo? Assim, o valor do elemento é nome, e o segundo 1 é e-mail. E o 2º 1 ou o 3º 1 é o endereço. Então ele emite nome, e-mail, endereço. Tudo bem, então você pode fazer isso, ou você pode fazer assim. E o que isso vai fazer é agora você pode referenciar tanto a chave final do valor, então vamos realmente mudar para valor. Então isso faz um pouco mais de sentido. E agora nós poderíamos fazer algo, como chave e variável de chave de usuário aqui e, em seguida, dados como este, Eles são realmente vamos mudar isso para valor desde que nós mudamos isso acima. E então, se olharmos para isso, então você vê que temos a chave Zero é chamada chave. Uma chave de e-mail para o endereço. E isso é porque agora temos acesso a ambos a chave final o valor de nossa matriz. E, claro, este era um array indexado, certo? Então, se eu apenas imprimir são este array para que você possa vê-lo, você pode ver o nome endereço de e-mail. Certo. Então 012 chave 12012 Ok, então você pode referenciar tanto a chave quanto o valor, e isso é o que para cada loops permitem que você faça é loop através de aumento e saída, dados
diferentes. Então você pode. Esta pode ser uma tabela HTML que você está criando ela talvez, ah, lista de
definição e talvez um parágrafo tags. Tudo o que você deseja criar aqui, o que você quer um loop through e criar, você pode fazer isso com o para cada loop. Pode ser uma lista não ordenada, então muitas coisas diferentes que você pode usar isso muitas vezes novamente. É usado principalmente na conduta em conjunto com dados de banco de dados. Então você pega algo do banco de dados, você obtê-lo de volta em Honore, e agora você quer percorrer esse array e você quer exibi-lo em uma tabela ou uma lista de
definição ou lista de não-ordem ou o que quer que seja, certo? Então, isso é usar quatro e para cada loop.
9. Enquanto de loops: Bem-vindo de volta ao PHP 101 neste vídeo que vamos falar sobre while loops tão semelhante
a quatro loops e para cada loop. Mas é claro, a
fim de fazer isso para fazer um loop while, vamos usar while em vez de foreign para cada Então, enquanto então teremos algum tipo de condição aqui, e então teremos nossos colchetes, e que é uma espécie de sintaxe básica de um loop while. Agora há algumas coisas que você precisa fazer para que isso funcione e não causar problemas. Então, primeiro, você precisa ter algum tipo de condições. Então, assim como os nossos quatro lope vai usar a variável I e vamos dizer que é menos de 20. Hum, então nós vamos em frente e fazer o que quer que seja que vamos dilatar. Ok, agora, se você apenas executar isso assim, você meio que você tem um pouco de um pequeno problema porque eu não estou definido em nenhum outro lugar , e você não coloca dentro do loop while. Então ele vai apenas continuar correndo e correndo e correndo e correndo porque eu sempre vou ter menos de 20 porque nunca foi dito Então o que nós precisamos fazer Primeiro escritório, definir fora do loop while Eu sou igual a algo? Então consideramos que sou igual a zero, certo? Mas mesmo assim, isso não é isso ainda vai causar um problema porque eu não estou sendo incriminado, então eu continuarei sempre com menos de 20. Então, a fim de fazer este trabalho do que dentro de um loop while, então
precisamos Teoh incrementar nossa variável I de modo que agora, cada vez que ele executa o loop, ele vai em frente e vai incrementar I. E eventualmente ele vai chegar. Será igual a maior que 20 e isso vai parar de correr. Então isso é como um loop de quatro. Você define seu valor inicial. Aqui você tem uma condição, e então você não tem incremento. Não está tudo dentro dos parênteses aqui, então funciona um pouco diferente agora. Por essa razão, às vezes ou muitas vezes enquanto os loops podem ser um pouco mais poderosos ou um pouco mais úteis simplesmente porque se espalhou assim
para que você possa fazer a desgraça ou coisas que você não tem que conter tudo dentro, um, os parênteses aqui e você pode manipular um pouco mais. Então você provavelmente se encontra usando while loops mais de quatro loops. Tudo bem, então aqui dentro, vamos apenas ir em frente e ecoar o valor de I. Então vamos fazer este ano e vamos em frente e vamos executar isso para que você possa ver aqui em baixo. Então temos começa um zero, porque nós definimos para zero e loops todo o caminho até chegar a 20. Porque temos menos de 20. Agora, se fizéssemos menos ou igual a, é
claro, seria então Anchorman até 20. Agora, outra coisa que podemos fazer aqui enquanto Loops é que podemos usá-los em conjunto com um aumento. Então, se criarmos ah, um novo array aqui e foi dado um array de nomes e usamos nossa função de matriz para criá-lo, e vamos apenas fazer o que temos feito nome, e-mail e endereço como este, e então o que podemos fazer com este porque é que criamos um índice para ray aqui e temos acesso. Temos esse loop através da criação de números. Nós realmente usamos eu para obter um controle sobre o dedo do pé, hum, para usar nossos elementos dentro dele Far Ray usando os índices. Então, se dissermos que enquanto fazemos um raio e depois fazemos eu gosto disto, então o que isto vai fazer é fazer um loop. Começa no zero. Então esta é essencialmente a chave de zero. Então ele vai procurar a chave de zero em nosso raio e ver se ela existe. E se ele existir, isso será avaliado como verdadeiro, que significa que o loop while será executado, que irá desaparecer. Isso irá incrementar para que eles não vão um, e então ele vai para. Então ele vai passar por este array e vai retirar esses elementos. Mas uma vez que chega a quatro ou uma vez que ele tem o dedo três ou o quarto elemento, então ele vai avaliar como falso porque isso não existe no nosso caminho. Então vamos em frente e dar uma olhada nisso. Se nós formos assim e nós ecoar fora array e definir a variável aqui array e então eu gosto disso o que isso vai dio você olha aqui, ele loops através e você vê, nós temos nome, e-mail e endereço, e novamente, a razão que funciona é porque este é, ah, matriz
indexada. Então, se imprimirmos nosso em nossa matriz, você pode ver 012 Então este é quando este é zero. Vai ter o nome quando este é um vai receber e-mail e quando este é também vai obtê-lo ou foram bom endereço. E então uma vez que são três, não
há não há nenhum três em nossa matriz aqui, então ele retorna falso e retorna falso em cada ponto a partir daí. Então, novamente, podemos usar isso para, ah, loop através de diferentes aumentos e fazer coisas como esta. Tudo bem, então isso é um pouco. Algum uso lá com tempo novamente poderia ser uma ferramenta muito útil. Se você está trabalhando com, digamos, por exemplo, um CMS como WordPress, seu loop principal é um loop selvagem, então é bom estar familiarizado com isso e entender como ele funciona para que você possa ter alguns familiaridade quando você entrar em alguns desses programas e assim por diante
10. GET: Bem-vindo de volta, PSP 101 neste vídeo ou nesta lição que vamos falar sobre Obter variáveis. Então você deve ter notado se nós viemos aqui para o Earl Pair, você deve ter notado locais onde eles têm no final,
um pequeno ponto de interrogação. E então diz algo como, Nome é igual a John ou algo assim. O que? Isto é aqui em cima. Estes são essencialmente você é l parâmetros que você que no PHP eles obtêm eles automaticamente adicionados a super o que é chamado de um super global, um, ou matriz de sistema. Essa é a variável Get que vamos dar uma olhada. Então o que é permitido fazer é realmente acessar esses parâmetros você, Earl e fazer algo com eles dentro de um PHP. Agora, esta não é realmente a maneira padrão que você vai fazer um monte de seu post passando de informações para trás e para a frente entre páginas. Will gettinto post array no próximo vídeo, um, ou o post super global, mas ah, e essa é a principal maneira que você vai fazer isso. Mas isso é usado em certas coisas. Por exemplo, o local que você verá com frequência está em algum tipo de pesquisa. Então você pode ter um parâmetro ah como este onde ele diz s igual. E então qualquer termo de pesquisa foi inserido no formulário. Então termo de pesquisa como este ou outro lugar que você pode ver que é se você está dentro logado em algum lugar, você pode ver algo como você é igual a 10 ou 1 24 e este é o seu usuário, eu d. E então é assim que ele sabe que Você é esse usuário e ele está puxando informações do banco de dados baseado nisso. Ou se você já viu o WordPress, talvez
você veja algo como P é igual a 34. Esse é o post, a idéia do post novamente, puxando-o do banco de dados e assim por diante. E é assim que ele sabe em que postar o seu. E, em seguida, ele pode puxar os dados para esse post descarregado no modelo. Portanto, há usos para isso. E então eu vou mostrar a vocês como usar isso para o nosso exemplo. Vamos apenas ir em frente e definir Nome igual a John, e nós realmente ir para essa página. Agora, isso não vai fazer nada agora porque nós não temos escrito em código para lidar com as variáveis, mas você vai ver todo o resto carrega muito bem, então isso não afeta nada assim. E então, se viermos aqui, simplesmente imprimimos isso. Obter variável um super global. Então você vê, é sinal de dólar sublinhado e então G ET maiúsculo. Então, se imprimirmos isso, você sabe que não definiu isso em lugar algum, não fez nada. Tudo o que eu fiz foi colocar o parâmetro URL aqui em cima e depois imprimir o nosso get para que você possa ver aqui. Isso agora está em uma matriz para nós. Então é algo que você sabe. É muito útil para nós podermos usar e trabalhar com isso. Mais uma vez, muito simples. Um, é um corajoso como qualquer outro array, então você pode ir em frente e usá-lo exatamente como você faria com qualquer outro agora se nós adicionarmos parâmetros . Então vamos dizer que queremos ter vários parâmetros que poderíamos fazer, e e-mail é igual a John em algo ponto com. Então, se fizermos isso, você pode ver que isso agora é adicionado ao nosso array aqui. Então, de novo, é só pegar tudo isso. Você é parâmetros l que você vê aqui. Tudo bem. Então, como eu mencionei uma das coisas que isso pode ser usado para, digamos, algum tipo de pesquisa. Então vamos em frente e apenas fazer um pequeno formulário rápido, e eu posso te mostrar como isso funciona. Então nós viemos aqui e vamos criar um formulário. E quando você cria um formulário, você pode especificar o método e o método pode ser get ou pode ser post, ok. E isso determina. Então qual desses super globais? Porque vais encontrar as tuas variáveis na lata. Na maioria das vezes você vai usar o post. Mas, neste caso em particular, estamos usando “get”, vamos colocar “get”, um e então você especificaria uma ação, que é o U. R l que você vai enviar essa informação aqui. Você pode simplesmente deixar isso fora ou deixá-lo em branco assim, e ele vai repostá-lo de volta para a mesma página. Então é isso que queremos fazer agora. Se você tinha um script de processamento, diga-o como processo dot PHP. Então você poderia especificar que, hum, novamente, no nosso caso, vai deixar em branco assim. Tudo bem, então isso nos dá o início de um formulário aqui e, em seguida, dentro do nosso formulário terá apenas um simples tem um rótulo e vamos dizer inter termo de pesquisa como este e, em seguida, aqui terá um
tipo de entrada igual a neste caso Weaken, Enfraquecer, colocar busca. Já que ia ser uma busca. Agora isso é uma coisa HTML. Mas isso vai em muitos navegadores especificando um tipo de pesquisa em oposição ao texto, irá adicionar funcionalidade adicional a ele. Isso é útil para procurar como, hum, história, auto, coisas
completas como essa. Então, uh, mesmo que você queira fazer uma caixa de pesquisa mais útil, você pode usar a pesquisa aqui. Mas isso não é realmente PHP o nome disso. Então vamos colocar os dedos para a busca, e vamos em frente e deixar isso assim. Então eu vou ir em frente e limpar isso aqui um pouco e tudo bem, então nós temos isso aqui e eu preciso, obviamente, porque nós ainda estamos no PHP. Preciso acabar com isso assim. E vamos em frente e fazer impressão estão em nossas variáveis get aqui como este. Tudo bem. E então isso deve nos dar ah, pouca forma que podemos enviar e obter algumas informações sobre. Tudo bem, então se entrarmos no nosso e na verdade eu tiver uma coisa limpa aqui embaixo podemos nos livrar. Mas se entrarmos em nosso termo de pesquisa aqui, vamos apenas dizer, por exemplo, Yost, já que temos Joosten aqui, faça isso. Você vê isso? Então temos nossa matriz s é Yost. E se viermos aqui, veremos que aqui em cima é igual a zero. Então busca é igual a Yost. Então poderíamos consultar nosso banco de dados para esse termo de pesquisa baseado no que encontramos aqui . Então nosso código aqui poderia lidar com tudo isso. Então outra coisa que poderíamos fazer aqui e então vir aparecer e poderíamos dizer eco, e nós poderíamos não querer ser solteiros aqui p E então seu termo de pesquisa é, e então nós podemos fazer ponto e nós podemos fazer sim. Tudo bem. Então, estamos recebendo novamente qual é o nosso termo de pesquisa. Então você pode de novo. É uma matriz para que você possa chamar, ou você pode extrair certos elementos dessa matriz, assim como você poderia qualquer outra raça, então você pode ver aqui seu termo de pesquisa é yost E então muitas vezes o que você vai fazer é você vai valorizar iguais. Você ecoará o termo de pesquisa realmente nos blocos de valor. Então é que preenche a nossa caixa aqui. Então fique assim e atualize isso mais uma vez. E você vê, está na nossa caixa aqui, certo? Então, Ah, bem direto. Outra coisa que você gostaria de fazer aqui,
então, então, é se formos aqui e vamos apenas nos livrar do nosso termo de pesquisa aqui por um segundo, ir para esta página. Você vai notar que apesar de não termos nada, ainda
havia uma caixa que diz que seu termo de pesquisa é Bem, isso é meio feio,
certo, certo, porque não queremos que isso apareça a menos que haja na verdade, um termo de pesquisa inserido. Então, o que? O que muitas vezes você vai querer fazer quase praticamente sempre quer fazer com variáveis get como você quer criar algum tipo de instruções if assim, neste caso, vai fazer se e vai fazer é definido. Então vamos ver se obter S. Nosso termo de pesquisa está definido, e se for, então vamos exibir nosso pouco nós vamos exibir isso aqui e então vamos descer aqui e vamos fechar isso assim. Mova isso para cima. Então é um pouco melhor. E então, quando não temos nenhum termo de pesquisa entrou sua não lá. Mas se voltarmos a inserir um termo de pesquisa, você verá que agora ele aparece tantas vezes, é
isso que você vai fazer. Hum, quando você está fazendo algo assim, você quer verificar para se certificar de que a variável que você está atrás e obter está definida para que você possa realmente ter certeza de que ela está lá e usá-la. Você também pode verificar toda a matriz para que você possa fazer, se não vazio e apenas fazer o todo obter um raio como este. Então agora estamos verificando para ver se o array em si tem alguma coisa nele. Não é um elemento específico, mas qualquer coisa. E se isso acontecer, então nós vamos mostrar para que você possa ver que temos nosso Yost exibido lá novamente. Se nos livrarmos disso, não
há nada lá dentro. Então isso vai embora assim de novo, algumas coisas que você pode fazer. Você quase bem, você sempre quer muito verificar para se certificar de que a variável que você está pegando de um parâmetro é definida também porque isso é frequentemente dados enviados pelo usuário. Você, é
claro, quer se certificar de que está escapando de seus dados se estiver saindo de um banco de dados que está protegendo contra ataques de injeção SQL. Então, ou usando instruções preparadas ou fazendo algum tipo de verificação ao longo dessas linhas para garantir que seus sites não sejam hackeados e assim por diante novamente que está usando
variáveis get dentro de um PHP.
11. Postagem: Bem-vindo de volta ao PHP one. Ninguém neste vídeo, vamos entrar em variáveis postais. Então o que eu vou fazer é pegar todas essas coisas que usamos com obter, e eu vou descer aqui. Só vou copiá-lo porque é tudo muito, muito parecido. Hum, e você vai ver aqui em um segundo que nós podemos usar um monte deste mesmo tipo de
sintaxe e fazer um monte das mesmas coisas com post e obter É apenas um pouco diferente maneira de lidar com, um você sabe onde o variáveis são e assim por diante, mas é muito, muito semelhante. Tudo bem, então vamos em frente e chamar este post variáveis. E então, a fim de fazer isso, tudo o que temos que fazer é vir aqui e dizer são quatro métodos para postar um suposto para obter e agora isso vai postar. Pode-se dizer silenciosamente no fundo. Não vai estar na URL aqui em cima. E nós podemos realmente deixar o resto disso aqui na mesma, exceto por esta parte aqui, porque nós não vamos estar usando get nós vamos usar post. Então isso vai, em seguida, postar os dados para a nossa página que especificamos aqui novamente deixando este em branco vai apenas voltar para esta mesma página. Agora, nós também precisamos vir aqui e mudar isso para referenciar nossa matriz de post e assim vai mudar isso para postar e vamos mudar isso para postar. Então deixe-me ir em frente e apenas um pouco limpo. Veja, eu tenho um tipo de coisas estranhas aqui, então deixe-me ir em frente e limpar isso um pouco. Tenho um monte de código acontecendo aqui. Então, hum, vamos e nos livrar deste, tudo bem, então isso deve nos limpar aqui e agora podemos inserir um termo de busca aqui, então vamos voltar com nosso Yost e você verá que temos nosso termos de pesquisa. Yost. Entramos aqui como fizemos antes, mas se viermos aqui, você notará que não está lá. Não está no URL, e isso é porque ele está sendo postado silenciosamente em segundo plano. Ah, você sabe. E assim é outra vez. Não é visível através do URL aqui. Tudo bem, modo que essa é uma maneira simples de usar post é o que você vai usar. Ah, na
maioria das vezes, a fim de realizar, você sabe, interações com formas e assim por diante simplesmente porque você não faz de novo. Você não tem todas as informações nos
EUA
muitas vezes a EUA informação que foi enviada uma informação sensível você não quer que ela esteja lá em cima. Por exemplo, você pode imaginar um formulário de login se alguém enviar seu nome de usuário e senha. Você obviamente não quer que isso apareça no URL aqui em cima. Além disso, há uma limitação na quantidade de caracteres que você pode usar nas variáveis e nos
parâmetros em seu, , você sabe, no parâmetro U. R l. Então, se você tem um formulário que tem um monte de informações que você tem uma longa palavra, entre em contato com o formulário de inscrição anterior ou algo ao longo dessas linhas, você vai correr para uma limitação com a quantidade de dados que você pode realmente jogar lá em cima no óleo. Então você quer usar post por esse motivo também. Mas, em suma, não
há uma grande diferença em termos de como você usa post e obtê-lo realmente se resume à maneira que
a informação é passada de uma página para outra
12. Como enviar o e-mail com o PHP: Bem-vindo de volta ao PHP 101 Eu vou estar mostrando como enviar e-mails com PHP, então eu vou estar mostrando a você a função no PHP que você vai precisar usar. Para fazer isso, vou mostrar-lhe como configurar alguns dos parâmetros e mostrar-lhe como adicionar coisas como um de e mail,
uma resposta para enviar e-mails html e assim por diante. Tudo bem, então vamos começar dando uma olhada rápida aqui no lado direito e você vai ver eu fui em frente e enviei este e-mail de teste aqui e assim você pode ver o que você
realmente vai conseguir com isso aqui. Então, há algumas coisas importantes aqui. Primeiro, você verá que temos nossa linha de assunto aqui nós temos,
Ah, Ah, de
quem isso foi definido, e dois Então você pode ver que foi enviado do que eu chamo o nome do remetente aqui e depois enviar-lhe um John Morse online ponto com, que é algo que eu inventei. E depois mandei para testar no John Morris Online Dot Com. Você percebe aqui que temos algum texto maior aqui e, em seguida, algum texto menor aqui. Então este é o H real para montar e-mail. E então, se viermos aqui, viemos até aqui e batemos em Reply. Você vai notar que mesmo que eu enviei isso do remetente do John Morris on-line ponto com, a resposta é responder a John Morris on-line ponto com. Então isso é tudo que você pode controlar dentro de seu código quando você está enviando e-mails com PHP. Então vamos em frente e saltar para a esquerda vai dar uma olhada nisso. Então, a maneira que fazemos isso é usar a função de e-mail no PHP. Então, se formos para a web quebrou rápido, você pode apenas ir para o Google e você pode Google mail e depois PHP. Este é o resultado principal. partir desta gravação, eu imagino que ele vai ficar assim e assim você pode ver todos os parâmetros. Aqui temos os dois parâmetros. Então, para quem estava mandando? Você pode ver alguns exemplos de como você pode fazer isso. Você percebe que você pode realmente criar uma lista separada por vírgulas de e-mails aqui para que você possa enviar vários destinatários dessa forma. Sua linha
de assunto, é claro, será sua linha de assunto. Isso vai ser uma corda. Sua mensagem novamente você pode fazer jogando história fiscal pode fazer comer H duas milhas. Embora você tenha que definir alguns cabeçalhos quando você fizer um c'mon, nós vamos passar por isso. Então você tem cabeçalhos adicionais que você pode enviar aqui aqueles com cabeçalhos que eu estava falando. Vamos mostrar-lhe alguns dos comuns e, em seguida, fez parâmetros adicionais aqui que você pode enviar, que é algo que eu raramente vejo usado. Tudo bem, então você meio que passar por isso, você pode olhar para alguns dos exemplos que eles têm aqui. Ah, se você precisar de um pouco mais de profundidade ou um pouco mais de informação sobre isso. Mas vamos passar por todas essas coisas, certo? Então, primeiro é o destinatário. Então esse é o nosso endereço de e-mail para o qual vamos enviar o e-mail novamente. Isso pode ser algo que você codifica manualmente, como eu fiz aqui. Ele pode ser gerado através de seu código PHP. Pode ser retirado de um banco de dados. Se você tem algum tipo de sistema de usuário, há muitas maneiras que você poderia vir sobre este vestido de e-mail particular ou ou como eu
mencionei anteriormente, lista separada por
vírgulas de endereços de e-mail. Então, há várias maneiras de fazer isso. Mas isso é essencialmente o que este parâmetro dois é apenas o endereço de e-mail que você
deseja enviá-lo para o próximo. É o assunto tão novamente, bastante auto-explicativo? Esta é a linha de assunto que você deseja usar quando o email sair da mensagem. Então isso pode ser texto simples. Ou pode ser HTML. Você percebe aqui eu estou usando HTML, alguns usando H uma tag uma tag de parágrafo aqui. Agora, a única coisa a ter em mente ao usar e-mails HTML é que todos os provedores de e-mail renderizarão um pouco diferente. Portanto, é uma boa idéia fazer um monte de testes e diferentes provedores de e-mail. Se você estiver usando HTML. Agora, se você se ater ao HTML básico, você provavelmente está bem. Mas se você começar a entrar em um monte de imagens e estilo e assim por diante, então você pode descobrir que em certos provedores de e-mail não aparece exatamente como você quer. E então você só precisa fazer um monte de testes pesados com isso e existem estruturas
lá fora também. Isso meio que fez muito disso para você que você pode conectar e assim por diante. Obviamente, isso está além do escopo do que estamos fazendo aqui. Mas novamente, você pode ver aqui que eu estou usando html dentro da minha mensagem, o que é completamente possível com isso, certo? Então, em seguida, vamos realmente cair aqui para este cabeçalho. Então, se você vai enviar e-mails HTML, então você precisa incluir este cabeçalho aqui. E então isso essencialmente apenas define o tipo de conteúdo do e-mail para texto durar cada duas milhas que eles saibam que é um e-mail html e que ele pode ser processado corretamente como cada um para o meu pequeno Wiesel. Suponha que é texto simples e, em seguida, ele vai realmente apenas exibir todo o seu código HTML. Então, se você enviar se você está fazendo isso e você envia o e-mail e em seu e-mail você realmente vê que tags HTML, provavelmente
há algo acontecendo com isso, e você quer vir aqui e dar uma olhada nisso, certo? Então, para cada um para montar e-mails, você quer certificar-se de que você tem este cabeçalho agora alguns outros cabeçalhos comuns que você pode ver . Você tem o seu endereço, que é se aparecermos. Veja, aqui estão do endereço. Eu disse isso como assim sob o nome. Então você pode colocar o nome que quiser aqui novamente manualmente. Pode ser retirado de um banco de dados, etc. E, em seguida, o endereço de e-mail dentro destes pouco menos do que maiores do que colchetes aqui, isso é realmente eu quero dizer, isso é opcional. Você poderia colocar o endereço de e-mail. Ah, se você quisesse ouvir. Esta é a maneira padrão, na
maioria das vezes. Você vê endereços de e-mail como este. Então é por isso que eu formatei dessa forma. Provavelmente quer formatá-lo dessa forma também, menos que você tenha alguma razão convincente para não fazê-lo. Mas esse é o endereço de e-mail de origem. E então temos essa resposta para. E assim você se lembra quando eu apertei responder aqui ele foi para a resposta para o endereço de e-mail. Então é aí que você realmente definir. Isso está bem aqui nos seus cabeçalhos. Você pode definir esta resposta para endereço de e-mail. Certo. Então nós concentramos tudo isso em basicamente uma longa string para os cabeçalhos para o e-mail que vamos enviar e então você pode ver que chegamos aqui e em nossa
função de e-mail , nós apenas deixamos nosso para o nosso assunto, nossa mensagem e nossos cabeçalhos. E, em seguida, sempre que esta página foi visitada, quando eu visitei esta página que ele foi em frente e processou e enviou esse e-mail para mim aqui . Tudo bem, então novamente, bastante simples em termos de realmente usar a função agora novamente, é
claro, dependendo exatamente como você vai estar usando isso, você obviamente gostaria de ter algum tipo de verificações de segurança. Eu geralmente tento evitar falar sobre o que verificações de segurança você colocaria em um tutorial como este, simplesmente porque essas coisas tendem a mudar. E o que você precisa fazer é acompanhar as informações de segurança de informações mais recentes que estão acontecendo
no momento. Acontece que você está assistindo a este tutorial, então isso lhe dá o tipo básico de idéia de como usá-lo e, em seguida, dependendo do contexto em que você usá-lo, se você está usando um formulário de contato ou você está puxando de um banco de dados, que seriam diferentes considerações de segurança. E, claro, o período de tempo em que você está usando isso que também afetará a segurança. Ah, considerações também. Então, apenas certifique-se de prestar atenção a essas coisas, você sabe, adicionando capturas de potes de mel necessários, sabe? Ah, você pode validar o endereço de e-mail e assim por diante, então apenas certifique-se de Teoh para ver o que está lá fora em termos de fazer isso e, em seguida, implementar isso em seu script.
13. Crie um formulário de contato do PHP: Bem-vindo de volta ao PHP 101 nós vamos estar falando sobre ou o que nós vamos estar mostrando a você como fazer é como criar um formulário de contato usando PHP. Há provavelmente 100 maneiras diferentes de esfolar um gato. Há um monte de maneiras diferentes que você poderia fazer isso se você foi lá fora e procurar por tutorial sobre isso ou código sobre isso, você provavelmente encontrar ah, 100 maneiras diferentes de que ele é feito. Então eu vou te mostrar uma maneira de você fazer isso. Vou mostrar-lhe algumas das vantagens e desvantagens de fazê-lo desta forma. Certo, então vamos dar uma olhada no que este formulário de contato faz. Então você pode ver que este é um formulário de contato bastante padrão, nome, mensagem
de e-mail. E então eu adicionei essa coisa de matemática aqui. Você poderia fazer isso com recaptura. Você poderia usar um pote de mel se você estiver familiarizado com esses termos. Eu só estou fazendo uma matemática simples aqui como uma espécie de uma forma de lidar com pessoas com robôs, essencialmente com scripts e outras coisas, enviando este formulário. Então vamos passar por como fazemos isso. Tudo bem, então eu vou em frente e eu vou apenas eu vou realmente desencadear isso não funcionar. Então a primeira coisa que vou fazer é só digitar meu nome e eu não vou entrar. O resto desta informação irá clicar em Enviar aqui. E então você vai ver que vamos receber algumas mensagens de erro e diz:
Por favor, digite seu e-mail. Introduza a sua mensagem e a sua matemática é suspeita. Então o que isso está fazendo é validar este formulário e certificar-se de que esta resposta está correta. Introduzimos informações para a mensagem e para o e-mail. E assim, neste caso em particular, estamos exigindo todos esses campos. Agora, se alguns desses campos que você insere em seu formulário não são obrigatórios, então obviamente você não precisa fazer essas verificações e assim por diante, então você pode tipo de Bem, quando chegarmos ao código, você pode digitar de trabalho através disso novamente. Depende do que serve, senhorita. Agora, se formos em frente e inserir isso corretamente, então insira todas as informações e apertamos enviar. Em seguida, você verá que recebemos uma mensagem dizendo que sua mensagem foi enviada entrará em contato. Tão simples, uma coisa comum que você verá. Mas se você nunca fez isso antes, às vezes pode ser um pouco complicado como descobrir como fazer tudo isso. Tudo bem, então vamos entrar nisso. Certo, aqui do lado esquerdo, há várias coisas que vamos passar por aqui. Outro
tipo de nota é que eu tenho isto não é como para os trolls lá fora. Realmente? Não é assim que eu necessariamente iria sobre construir isso em termos de organização , porque eu tentei colocar tudo em um arquivo. Por isso, é fácil para as pessoas terem acesso. Eles não precisam baixar 10 arquivos diferentes, então tudo está em um arquivo, um, para você ter acesso. Além disso, eu sei que a maioria das pessoas está tentando integrar isso em um aplicativo próprio, então não faz sentido para mim criar esse aplicativo que eles não tiveram que rasgar pedaços. Então eu realmente faço isso meio para baixo e sujo. É por isso que você vê uma função aqui. Você vai ver algum estilo personalizado aqui. Normalmente, o que você gostaria de fazer é esta parte aqui que você gostaria de colocar em seu próprio arquivo. Se você já tem um arquivo de funções em seu aplicativo, você gostaria de adicionar isso lá ou se você tem algo que já faz isso do que você não precisa se preocupar com esta parte aqui. Essas coisas que você provavelmente gostaria de colocar em um arquivo de conflito. Hum, e, você sabe, incluir esse arquivo, os estilos que ela aqui embaixo, você gostaria de colocar em uma folha de estilo separada passo e, em seguida, incluir isso aqui e assim por diante . Está bem. Então não se envolva muito na organização. É realmente o código que importa. E você pode descobrir como encaixá-lo em seu aplicativo. Certo? Então, a primeira coisa, vamos apenas dar uma olhada em cada boca. Então você pode ver que nós meio que temos um padrão, você sabe, cabeçalho aqui. Uma coisa você vai notar. Estou usando bootstrap para o estilo. Então é por isso que eu realmente não tenho muito estilo aqui. Hum, eu adicionei um pouco de estofamento em torno desta mensagem aqui. Então adicionou 15 pixels ao redor dessas mensagens. Foi o único estilo que fiz. Tudo o resto é padrão. Bootstrap. Dito isso, você pode tipo de reunir que, em seguida, o HTML aqui em baixo será realmente bootstraps padrão. Então, e é isso que é. Seção, coluna da linha do
contêiner. E então dentro disso, se viermos aqui para a nossa forma, que é a grande coisa que temos são formados que as duas maiores coisas que Teoh percebe aqui são método é igual a posts e ação, Índice
Ingles, Pare. PHP. Então, estamos enviando de volta para esta mesma página aqui. E é por isso que todo o nosso PHP está aqui, porque estamos enviando para a mesma página. Certo? Então nós temos um rótulo, então nós temos nosso rótulo bem aqui. Contra bootstrap padrão,
temos nossa entrada. Contra bootstrap padrão, As maiores coisas a tirar disto são os nomes. Então o nome é igual a nome aqui, o nome é igual a e-mail aqui, e então o nome que esfria mensagem aqui. Então, nome, e-mail e mensagem. Porque esses ar o que vamos receber de nossos dados postais quando enviamos este formulário e eu vou mostrar-lhe que certo? Então, novamente, o html é toda marca de bootstrap padrão. Você pode realmente marcar isso como quiser. Sabe, você poderia olhar através disso. Eu não quero gastar uma tonelada de tempo no HTML porque este é realmente mais um
tutorial PHP . Muito bem, seguir temos o cheque este cheque aqui em baixo é matemática. Então o nome deste aqui é humano. Certo, então nome, e-mail, mensagem e humano. E aqui em baixo, temos o nosso botão de enviar. Tudo bem. Então, novamente, bootstrap
padrão. Só para fazer parecer um pouco bonito, você poderia, é
claro, entrar e mudar a sua maneira como quiser. Tudo
bem, como você provavelmente sabe, mas eu vou te mostrar o que acontece depois. Quando você envia um formulário como este é que ele envia os dados que são inseridos
nos campos de formulário para a página que você especificou para esta ação aqui, então indexar ponto PHP e ele usa os métodos que você especificar. Então, neste caso, estamos usando post agora, você pode usar get, e o que isso faz é realmente passar todas as informações na URL. Geralmente não recomendo que, porque há um limite sobre a quantidade de
informações de novembro que você pode enviar via u R l mais ele só faz o seu ser óleo como, realmente, muito sujo. Hum, então na maioria das vezes para um formulário como este, praticamente sempre você vai usar o post. Sobre a única vez que eu realmente vejo usando o método get é, um, primeiro para algo é é formulários de pesquisa. Quero dizer, há outras instâncias e assim por diante, dependendo da sua aplicação. Mas um formulário real que enviado usando get é na maioria das vezes é apenas formulários de pesquisa. Então, maioria das reformas. Você vai querer usar este método carteiro para que ele vai postar os dados para indexar parar PHP . Significa que basicamente vai reunir todos esses dados e vai enviá-los para a
mesma página quando a página deles recarrega, em
seguida, vai enviá-lo de volta para esta página e vai colocá-lo em uma variável chamada post . Então, se nós simplesmente fazer impressões são e postar bem no topo aqui. E vamos continuar e submeter isto de novo. E na verdade, eu vou ter que ir em frente e enviar isso. Vou mudar isto para cá para que não tenhas de me ver a carregar coisas. E eu realmente tenho um aplicativo nitroso aqui. Nitrous pára muito. As pessoas me perguntam qual editor eu uso nitroso dot io. Então eu tenho que sincronizar meu arquivo bem rápido. Hum, então vamos em frente e deixar isso funcionar aqui. Só um segundo, e depois enviaremos o arquivo. Tentarei não fazer muito isso. E se batermos na areia, devemos pegar a área do correio no topo aqui. Então você vai ver. Pegou os dados que eu inseri aqui, e postou em seu nome. E-mail. Contate John Morris online ponto com teste de mensagem,
humano sete. Contate John Morris online ponto com teste de mensagem, Então ele colocou tudo isso nesta matriz. Então isso é o que precisamos agora que temos os dados que foram enviados no formulário em um array este super global chamado post. Agora podemos usar esses dados para interagir com PHP e,
uh, uh, enviar ou enviar e-mail ou enviar nosso formulário de contato. Ok, então, básico, você sabe, isso é apenas um tipo de coisas básicas do PHP. Agora vamos fazer algumas coisas. Primeiro, queremos validar nossa matemática. Então esta é apenas a primeira coisa que vou fazer aqui. Vou verificar se isto está correcto ou não. Então, cinco mais dois devem ser iguais a sete. Então eu só vou ver se Post humano igual a sete, lembre-se, são muito onde são formados campos eram nome, e-mail, mensagem em humano. Vamos checar o Post Human para ver se é igual a sete. Agora, você percebe que eu estou embrulhando isso em uma função chamada Val. Isto é essencialmente apenas para garantir que o que quer que seja que entra aqui é
transformado em ou é um em Inger. Certo, então queremos ter certeza de que estamos trabalhando com um gerador de imagens. E depois vamos ver se é igual a sete. Se não for, não estamos matando o roteiro ainda. O que vamos fazer é definir este conjunto de erros, que estamos sentados aqui em cima, e vamos adicionar um item a ele que diz que você é Mathis suspeito. Agora, você pode mudar esta mensagem para o que quiser, certo? Então, o que quer que faça sentido para o seu site, então mude isso,
hum ele vai adicionar isso a essa matriz, e então nós vamos continuar. Então, em seguida, vamos validar o endereço de e-mail. Então nós vamos ver, verificar e ver se ele está vazio primeiro, se o endereço de e-mail está vazio, então postar e-mail e vamos ver se ele está vazio. Então, isso é bem aqui. Então, se ele não está vazio e nós vamos executar este filtro de nossa função aqui, que é essencialmente vai olhar para o endereço de e-mail e ele vai executá-lo através de qualquer
filtro que especificamos neste caso, é filtro válido e e-mail. Então isso só vai verificar e certificar-se de que temos um endereço de e-mail válido. Então, se o endereço de e-mail não está vazio e não é válido, então vamos definir outro ar que diz que não é um endereço de e-mail válido. Agora, a razão pela qual adicionamos o “não vazio “que você vai ver aqui em baixo nós vamos lista branca para vazio novamente. Aqui em baixo é porque se nós não configurá-lo, não faça o não está vazio aqui em cima. Em seguida, você vai acabar com duas mensagens de erro se você tiver um endereço de e-mail vazio, um que diz que não é um endereço de e-mail válido e outro que diz:
Por favor, digite seu endereço de e-mail. Então isso só ajuda a limpar nossas mensagens aéreas um pouco, tendo isso não vazio direito. Então, novamente, adicionamos, Se não for um endereço de e-mail válido, adicionamos isso. Ah, nós vamos adicionar isso ao item dois são mensagens aéreas. Então agora teríamos seu suspeito Mathis, e isso não é um endereço de e-mail válido. Ambos estariam em nossos herdeiros ou em um próximo. Vamos fazer uma lista branca. Então há provavelmente, você sabe, se alguém está tentando hackear seu formulário, eles podem estar tentando Smith todos os tipos de você sabe,
se alguém está tentando hackear seu formulário,
eles podem estar tentando Smith todos os tipos decampos de formulário
diferentes para o formulário. Você quer ter certeza de que você lista branca apenas o campo desejado. Isso é o que fizemos aparecer. Então nós especificamos uma lista de espera, Hum, e neste caso estávamos fazendo nome, e-mail e mensagem porque estes são os únicos que são informações reais que queremos. A verificação matemática é apenas para executar esta verificação aqui, então não precisamos nos preocupar com a listagem branca direito. Portanto, nomeie mensagens de email Aguarde listadas, se você adicionar. Então essa é a coisa. Se você adicionar campos ao seu formulário no HTML, você precisa ter certeza de que você lista de espera, hum, aqui
em cima também. Tudo bem, então o que nós vamos fazer é então nós vamos percorrer a nossa lista branca, e nós vamos verificar. Vamos definir que esta matriz de campos com Onley. Os valores da nossa matriz post que estão em nossa lista de espera para que possa parecer um pouco confuso. Então deixe-me tentar explicar um pouco. Então nós vamos novamente loop através da lista branca, que é nome, e-mail e mensagem, e nós vamos, em seguida, pegar os valores do post para nome, e-mail e mensagem. Então, se há ah, item no post que tem nome vamos pegar isso e vamos anunciar que isso como nome de
campos Então essencialmente, apenas criando uma nova matriz fora deste Mas Onley, incluindo as coisas em nosso lista branca, porque estamos fazendo um loop através de uma lista branca em Lee, as coisas que adicionamos à nossa lista branca ah vamos retirar desta corrida? Então pode haver 100 coisas nesta matriz que alguém submeteu. Tudo o que vamos retirar é o que adicionamos à nossa lista de espera. Então, nome, e-mail e mensagem. Isso é o que este pequeno par de linhas aqui fazendo então isso é essencialmente
lista branca e apenas agarrar as coisas que queremos desta forma melhor do que a lista negra
tentando inventar todos esses cenários que as pessoas podem querer apenas Onley. Olha, estas são as coisas que eu quero. Então este ar que eu vou pegar, certo? Então nós pegamos esses. Então agora temos os campos que queremos neste novo array chamado Campos. Agora vamos percorrer esse array, e vamos verificar os dados, então vamos verificar o valor, e vamos ver se ele tem dados nele. Então vamos verificar e ver se o nome tem um valor nele se o contato tem um valor nele. Se a mensagem tiver se algo foi enviado nesse campo, se estiver vazio, então vamos adicionar uma linha à nossa matriz de erros que diz,
Por favor, digite o seu e, em seguida, o nome do campo. Então é por isso que estamos fazendo campos como campo. E você conhece esses dados Isso nos permitirá a você pegar a chave e o valor
da matriz. Então, novo, vamos entrar nesta linha. Isto irá adicionar isto aos nossos herdeiros ou ao Ray. Então, hum, agora, você sabe, se isso foi preenchido completamente em branco, então teríamos várias mensagens uma que diz sua matemática do suspeito um que diz, por favor digite seu nome quando isso está satisfeito seu e-mail quando este tem por favor digite sua mensagem. Certo, então é isso que estamos fazendo aqui. Então você pode ver isso se eu remover. Se eu remover tudo isso e eu pressionar enviar, então você pode ver que não há nada em nossa história post que foi enviado Causas tudo em branco. E você pode ver que sua matemática do suspeito, por favor. Em nome, por favor. Então isso nos permite exibir essas mensagens aéreas. Também é então aqui embaixo que vamos verificar. Então, para enviar nosso e-mail, precisamos saber que tudo passou por um caso. Vamos verificar a nossa matriz de herdeiros. E se a nossa matriz de erros está vazia, isso significa que não temos herdeiros. Então, agora podemos enviar nosso e-mail. E então nós vamos apenas usar o mau funcionamento do PHP. Vamos usar e-mail, assunto do
vestido e, em seguida, mensagem de campo. Então, a mensagem da nossa matriz de campos. Então, e-mail e assunto são duas das coisas que você configura no topo aqui. Então, você vê, você tem a seção que diz coisas que você precisa mudar para o seu formulário. Um deles é o e-mail. Dirija-se a um desses assuntos. Então mude esses dois o que quiser. Este é o lugar onde você quer que os e-mails sejam enviados. Neste é um formulário de contato. Então este seria provavelmente o seu site ou seus clientes, endereço de
e-mail ou qualquer outra coisa, onde quer que você queira esse conjunto. Então é isso que vamos usar a função de e-mail. Muito simples. É o endereço de e-mail, o assunto e a mensagem. E então você poderia adicionar outro aqui chamado cabeçalhos. Se você quiser adicionar cabeçalhos de e-mail para isso, eu quero manter isso realmente simples e simples. Mas adicionar cabeçalhos a um e-mail como este não é tão ruim. Tudo bem, então vamos enviar isso. Vamos definir o valor disto. Bem, depois que essa função for executada para, vamos definir essa variável enviada para o que quer que isso retorne. Agora ele vai voltar. Verdadeiro se o e-mail foi enviado, vai se tornar falso. Se não fosse assim. É uma verificação bem simples e vamos usar isso aqui em baixo no nosso HTML. Então esse é o nosso Isso é o nosso PHP. E é realmente muito direto para a frente fazer algumas verificações, branco, ouvindo nossos valores, e então estamos enviando o endereço de e-mail. Se não tivermos nenhum ato Ares. Muito, muito simples. Agora podemos então usar um pouco disso para exibir essas mensagens aéreas e criar forma mais interativo aqui. E então a maneira que fazemos isso é, se nós viermos aqui primeiro nós temos esse tipo de coisa. Ah, se outra declaração aqui. E então o que vamos fazer aqui é porque tudo isso, quando o formulário processa, temos essa matriz air que é definida, e temos essa matriz de campos que é definida. Já temos tudo o que precisamos para exibir nossas mensagens aéreas. E se você notar que se eu colocar apenas o meu nome aqui e eu apertar enviar, você percebe que o ar vai embora. Mas o meu nome habita aqui. Temos tudo o que precisamos para fazer isso em nossa matriz de herdeiros e nossos campos ou um que
já temos aqui em cima. Então o que podemos fazer é verificar e ver. Vejamos se os erros estão vazios ou não. Então, se não está vazio, então sabemos que temos erros. E então precisamos exibir alguns. Então nós temos uma divisão com a classe de ar, e então nós temos esta pequena linha funky bem aqui. E eu vou tentar mover isso um pouco para trás. Veja se conseguimos colocar isso em uma linha. Então o que esta linha faz é que isto vai mostrar cada um desses ares, mas você percebe que tudo é feito com uma linha. Agora, este é um pequeno truque que você pode usar usando a função implode. Então, se você está familiarizado com a função implode permite que você separe uma matriz
e, em seguida , colocá-lo em uma string usando algum tipo de separador. Então normalmente você pode usar uma vírgula como separador. Então, se você é Ray tinha nome, e-mail e mensagem e, em seguida, usar vírgulas um separador, você teria nome vírgula. , E-mail, vírgula,
mensagem, mensagem, vírgula. Certo. Isso é o que implode faz, e você pode entrar online. E eu recomendo que se você não trabalhou com Implode, olhe ,
você sabe, olhe para cima e olhe para algumas das coisas nele. Mas o que esta pequena linha faz é nos permitir criar isso e realmente sem ter que fazer loop ou qualquer uma dessas coisas. Então o que estamos fazendo é implodir. são herdeiros. Tudo bem. Lembre-se que adicionamos todas aquelas mensagens a ele. Agora você quer exibi-los, então nós estamos implodindo-lo e o separador que estava usando é esta tag de parágrafo de fechamento e,
em seguida, esta tag de parágrafo de abertura. Agora, a razão pela qual estamos fazendo isso é porque você vai notar isso. Nós envolvemos esta instrução PHP no mesmo parágrafo de abertura, e então nós temos em fechar,
uh, uh, fechá-lo com a mesma tag de parágrafo de fechamento. Se você olhar o que você vai receber, então se você não tem mensagens aéreas, você vai ter uma tag de parágrafo de abertura, e então você vai ter uma de fechamento, e então uma de abertura de novo e outra de fechamento. Então, se olharmos para nossa marca aqui em cima,
o que ela finalmente faz se descermos aqui é você pode ver que ela cria uma sintaxe perfeita, abrindo esta mensagem aérea e criando envolvendo-a em nossa tag de parágrafo, embrulhando esta e embrulhando Este aqui. Então, essencialmente, é uma maneira rápida de embrulhar todos estes no,
hum, você sabe, no HTML que queremos para este para exibir corretamente para que você possa usar uma lista ordenada Nhan você poderia fazer o que você quiser com este . Mas isso é o que você sabe sobre Bootstrap. com isto que decidi ir outra vez. Você pode mudar como quiser, mas isso é uma linha rápida aqui. Então isso é o que está exibindo nossas mensagens aéreas aqui foram essencialmente apenas implodindo-os, que é uma espécie de loop através deles e exibir quaisquer mensagens aéreas que temos em nossa matriz de erros. Então, se não estiver vazio, vamos exibir essas mensagens. Então nós vamos fazer uma verificação e disse que depois disso s assim se ele está vazio, se o nosso aumento ERA está vazio, então nós assumimos que nós não temos quaisquer herdeiros, no entanto, são homens ainda pode não ter enviado direito. Podemos ter chegado até aqui, e depois fomos enviar o e-mail e houve um problema. Então, ainda queremos verificar isso. E lembre-se, nós definimos que o valor de qualquer macho retorna à nossa variável enviada. Então, vamos verificar e ver isso é essencialmente verificar para ver se essa variável enviada é verdadeira. Se for verdade, então sabemos que o e-mail foi enviado para que possamos exibir uma mensagem de sucesso, e é isso que estamos fazendo aqui. E esta é apenas uma mensagem de sucesso a cada duas milhas que você pode mudar quiser. Então é por isso que quando temos sucesso aqui, então recebemos a mensagem de sucesso. Então, isso dá-lhe essencialmente a alternância aqui entre mensagem aérea e mensagem de sucesso . E ele exibe qualquer valor de ar mensagens aéreas válido com base no que foi inserido no formulário. Então você pode ver que não é uma tonelada de código. Se você escrever seu PHP em cima de uma forma que corresponda com a forma como você o tem aqui em baixo, você não precisa escrever uma tonelada de código para fazer isso acontecer. Então é uma maneira muito limpa ou muito concisa de fazer isso. Tudo bem, então. A outra coisa que falamos é como temos os nossos valores. Se não entrarmos em tudo, não
perderemos tudo na forma de voltarem para nós. Isso é porque temos os valores nesta matriz de campos aparecem que criamos, e assim podemos usá-los para preencher o formulário, e é isso que estamos fazendo aqui. Então nós estamos definindo valor igual a então o valor deste campo de entrada igual a ah a variável post
correspondente da nossa, hum, taxa
postal se houver alguma coisa nele. Então, desta forma, a maneira que fazemos isso é executar um é definido em campos Nome oh, Arfield e-mail ou campos Mensagem no campo para esta entrada em particular e estamos usando um operador eri turno se você não estiver familiarizado com aqueles novamente, eu faria recomendo dar uma olhada naqueles. Mas essencialmente, a maneira como isso funciona é que estamos fazendo é definido e está definido é bem aqui. Então é o completo está definido aqui. Não é a vez. Operador Eri não fica embrulhado dentro desses parênteses. Isso é uma coisa comum. Vejo que as pessoas fazem. Você realmente está fazendo uma verificação completa aqui? Então você está verificando se ele está definido e, em seguida, você está usando Isto é basicamente uma espécie de abreviação para se mais assim é, se é verdade. Então isso é como dizer que essa pergunta marca tipo de dizer, se é verdade, então eu quero isso. Eu quero mostrar isso ok ou isso é o que eu o IVA. Isto é o que eu quero. Então, neste caso, se for verdade. Queremos o nome dos campos. Então, se os campos nomeiam se houver um valor nele, nós queremos isso. Então vai ser isto é essencialmente o que vamos ter de volta da nossa vez. Eri Operator, Se é verdade isso você pode essencialmente substituir em. Mas se for falso, então é isso que queremos e, neste caso, não
queremos nada. Então vamos definir o valor para Blank, OK? E então você percebe que ecoamos isso. Então, essencialmente, o que vai acontecer é se você inseriu um valor no nome do campo do que ele
vai colocar isso neste campo de valor. Então, se eu vim até aqui apenas fiz alguma coisa, na verdade, não me deixará enviá-lo, certo? Então, se eu entrar que você vê, eu pego de volta. E então se eu chegar a mensagem, mesmo que minha loja Mathis sobre isso, eu estou recebendo todos esses valores de volta para que eles não tenham que ser re digitados, ok? E então esta é essencialmente a linha que você usaria para cada um desses. Basta copiar e colar e trocar barato Bem, mudar o EEM que chamou nome sentir nome. Então nomeie mensagens de e-mail, um pouco diferente porque é uma área de texto. Então você não vai ter valor igual. Você só vai colocar isso entre a marca de fechamento de abertura para a área de texto. Então é assim que fazemos com que estes apareçam aqui. Então, de novo, não há uma tonelada de código para fazer isso funcionar. Então você percebe que esta é realmente uma maneira justa,
bastante concisa de fazer isso de criar um formulário de contato que tem todas as
mensagens aéreas que você quer re preenche o formulário Como você gostaria que nós não usamos sessões
ou cookies ou tudo isso coisas. Ah, isso às vezes pode ficar um pouco complicado porque as pessoas estavam fazendo tudo bem aqui nesta página, hum e, você sabe, ter que funcionar, como nós queremos.
14. Operadores do PHP: bem-vindo de volta ao PHP 101 Nesta lição, vamos passar por comparação e operadores lógicos. Então este vai ser muito do trabalho que você vai fazer quando se trata de trabalhar com declarações
condicionais em seus casacos. Nós só vamos passar. Há um monte desses e nós vamos tipo de fuzil
através de todos eles para te familiarizar com eles, certo? Então vamos começar com operadores de comparação no 1º 1 Vamos ver. Aqui está este chamado igual, que é Ah, duplo sinal de igual. E então, essencialmente, para usar isso, você apenas escrever em if declaração Então se e, em seguida, abrir parênteses. E é aqui que vamos colocar nossas declarações condicionais. Vamos verificar se a declaração entre parênteses é verdadeira ou não. Se assim for, então você vê, nós temos esses colchetes e estes este este conjunto de colchetes. Esta abertura aqui neste final aqui contém o que vamos fazer. Se esta afirmação for verdadeira neste caso, vamos apenas ecoar verdadeira. E então temos uma outra declaração com a abertura e fechamento do colchete Curly. E nisso vamos escrever o que vamos fazer se a declaração for falsa, que neste caso é ecoar falso. Então nossa comparação aqui manteve as comparações reais realmente simples porque eu quero que você se concentre nos operadores reais aqui. Então estamos apenas comparando 1 a 2. Assim é um igual 22 E, claro, a resposta para isso é falsa. E isso é o que o igual faz. Só verifica se são iguais ou não. Agora nós vamos entrar em algo chamado Idêntico um pouco mais tarde, hum, e eu vou falar sobre a diferença entre idêntico e igual. Há um há uma diferença sutil lá que você quer prestar atenção, mas por agora igual, ele apenas faz exatamente o que parece que ele faz verifica se os dois valores são
iguais ou não . Agora, estes não têm que ser números. Podem ser cordas, certo? Então você pode ver se, ah, certa cadeia de texto que talvez você tenha obtido do seu banco de dados é igual a algo que você está esperando, certo? Assim faz. É igual a é o nome da pessoa que você puxou de seu banco de dados igual a John. Se sim, então você poderia fazer algo com isso. Caso contrário, você faz outra coisa, certo? Então, novamente, isso é igual ao próximo, então é realmente exatamente o oposto daquilo que não é igual. Então você está certo? Colocando um ponto de exclamação na frente do sinal de igual como este, e de modo que essencialmente significa não igual. Então, neste caso, estamos verificando se um não é igual a dois. Claro, não
é igual a dois, então eles devem ser verdade. E você vai notar aqui no nosso número para bloquear. Nós nos tornamos verdadeiros. Ok, então novamente, não igual faz exatamente o que você pensa que era. Ok, agora chegamos a idêntico e tão idêntico é igual a igual. Vai verificar se os dois valores são iguais um ao outro. Mas também vai verificar se eles são do mesmo tipo de dados. Assim, com tipos de dados, você pode ter cadeias de caracteres. Você pode ter números que você pode ter ah raise. Há vários tipos de dados diferentes que você pode ter no PHP. Então, se você precisa ter certeza de que o tipo de dados também é idêntico é o mesmo entre os dois valores que você comparando, então você usaria idêntico. Então aqui você pode ver onde está um dedo igual um. Mas aqui estavam usando um imager, e aqui estavam usando uma string para que eles não tivessem o mesmo tipo. Então, quando usamos idênticos, que são apenas três sinais iguais, você vai notar que nós somos falsos porque eles não são do mesmo tipo. E então essa é a diferença entre iguais e idênticos. Em seguida, não
temos idênticos então novamente faz exatamente o que você provavelmente pensaria verifica para ver se os dois valores não são idênticos. E assim, neste caso, você novamente os números são os mesmos, mas uns e energia e um é uma corda. Então, neste caso, eles não são idênticos. Então devemos obter um verdadeiro aqui para este número quatro. E você vê aqui para o número quatro, nós nos tornamos realidade. Tudo bem, continuando. Seguir em frente. Então entramos em um pouco de Ah, não. Comparando coisas maiores que menos do que etc. E então Ah, aqui temos o ar. Realmente, as iniciais são exatamente o que você pode pensar. Então, temos neste caso, olhos um a menos de dois. Bem, sim. Um é menos de dois. E então este é o sinal de menos que vai fazer esse tipo de comparação para você e você pode ver aqui para o número cinco. Nós ficamos verdadeiros, bastante simples, e então você poderia realmente apenas mudar isso e fazer um maior do que como este e
verificar se ah, é maior do que isso. Isso é tudo muito simples. Em seguida, é maior que ou igual ou menor que ou igual. Então, se você adicionar um sinal de igual aqui, o que vai fazer é verificar se este é menor ou igual a este. Isto não é porque não é idêntico. É apenas um normal igual ao que não vai verificar o tipo. Ele só vai verificar os valores absolutos aqui, então um é menor ou igual a, porque é igual a um. Então isso deve nos dar um verdadeiro e por aqui você vai notar que nós temos a verdade bem de novo . Você poderia fazer o mesmo com maior que ou igual a, e faria. Ele verificaria se é maior ou igual a tudo certo. Em seguida, não
temos igual após o tipo malabarismo. Então este valor aqui vai verificar se ah ou não,
este valor ou esta comparação não é igual após o tipo de malabarismo. O malabarismo é, essencialmente, ajustar para as diferenças nos tipos que estes podem ter. Então, basicamente, vai anular. Se você tem dois tipos de dados diferentes aqui e, em seguida, ele vai verificar se ele não é igual ou não. Então este é um tipo de operador único, mas isso é o que ele faz você pode ver aqui. Ah, isso vai acontecer de novo. Não é igual. Então um não é igual dedo do pé um? Bem, isso é falso. Quem sabe aqui que temos um falso “tudo “a seguir é o operador da nave espacial, que está disponível a partir do PHP sete. E isso é realmente chamado de operador da Mary tentando porque ele vai executar três
comparações diferentes , então ele vai fazer uma comparação menor e igual ou maior, maior que, e ele vai retornar menos 10 ou um como resultado. Então você pode ver que o operador da nave espacial é um sinal menor que igual e, em seguida, um
sinal maior que , e cada um deles corresponde ao que ele vai retornar com base na comparação. Então, se for menor que então um retorno negativo, se for igual a retornar zero e se for maior do que ele irá retornar um. Então, se um neste caso, um vai ser igual a um aqui, certo? Então, a idéia aqui, então e assim você vai notar uma coisa que eu quero que você perceba. Aqui nós corremos. Isto estava no número oito aqui na lista dela. Ele retorna falso. Por que devolve Falls? Bem, porque é igual. E assim ele está retornando zero e zero é sinônimo em PHP com false. Então é por isso que temos um falso retorno aqui. Mas o que isso permite que você faça é que ele permite que você execute uma comparação e em vez de não é uma comparação on off como você teria aparecido. Se isso fazer isso mais fazer que isso é mais de executar esta comparação e me dizer o quê? Diga-me o que é essa lição? É igual tours um maior então e então Uma vez que você tem isso, você pode basicamente verificar para um 101 negativo e você vai saber qual deles, você recebe de volta qual a comparação que você está executando realmente é. Então, neste caso, sabemos que é igual, e então podemos seguir em frente e fazer com nosso código de lá com essa informação. Assim, ele permite que você apenas executar todas as três comparações e ver o que você recebe de volta e, em seguida, executar condicional fora do que você recebe de volta a partir disso. Se for igual, faça isso. Se é menos do que fazer isso, ele é criado do que fazer isso. Ok, então é uma ferramenta de comparação muito útil. É obviamente por isso que eles adicionaram no PHP sete, porque ele permite que você execute novamente todas as três comparações e obtê-lo de volta para
que você não tenha que passar e fazer. E se menos que isso, você não precisa escrever tudo isso. Você pode apenas fazer uma comparação aqui, e então você pode seguir em frente a partir daí, certo? Uma ferramenta muito útil outra vez. É o operador da nave espacial. próximo é um que foi adicionado no PHP sete também, chamado de coalesce Knoll. Então o que isso faz é quando você está ele lê da esquerda para a direita e o primeiro valor, que existe e não é conhecido é o valor que será retornado. Certo? Então o que você vai notar aqui é que uma variável a não foi definida, certo? Não tem um aqui. E se olharmos para nós estávamos trabalhando com nossos números 9 e 10 aqui. Então, se olharmos para o nosso operador sem coalescência, que é este operador bem aqui. Então, para esta primeira declaração, estamos verificando a variável A e, em seguida, a única variável Então essencialmente é como uma cadeia. Vai verificar se esse valor existe e não sabe se é falso, então ele vai seguir em frente, embora este é aquele valor definido e não sei Bem, neste caso, lembre-se, a não está definida. Então ele passa por cima de um e fantasmas com um, e você vai notar que é por isso que temos o que temos de volta é o tal. Então é isso que o operador de coalescência knoll faz. E ele permite que você faça isso em uma cadeia longa se você preferir assim novamente, aqui temos um que não está definido e então nós temos este ser variável, que nós definimos como 12. Então isso deve nos dar o ser de volta porque o primeiro valor nesta cadeia que existe e
não é conhecido assim existe e não é conhecido, então é por isso que ele deve nos dar este Be de volta. Se você olhar para aqui, o que nós recuperamos é o valor de B, que é 12. Ok, então é isso que o operador não coalescente permite que você faça. Não, há ah, você sabe, é semelhante a algo assim, certo? Se estamos verificando é ah, verificando para ver se um determinado valor é é Knoller não é conhecido do que iríamos ecoar a. caso contrário, nós somos Echo um aqui. É uma comparação semelhante. É apenas um curto, tipo de como uma vez operadores eri. É uma abreviação para ser capaz de fazer esse tipo de coisa. Caso contrário, você teria que fazer uma longa cadeia dessas declarações FL, a fim de fazer a mesma coisa que isso está fazendo tudo certo. Então, obtenha uma série de usos diferentes, lugares que você poderia usar que vamos entrar em algumas dessas coisas mais tarde à medida que começamos a construir mais aplicativos e assim por diante. Mas é isso que o operador de coalescência Knoll faz. E novamente, isso é algo que está disponível como o PHP sete. Tudo bem. Em seguida, podemos entrar em operadores lógicos. Então operadores lógicos essencialmente meio que nos permitem combinar condições diferentes. Ok, então, por exemplo, o 1º 1 nós temos o operador e e o que isso vai fazer é que
esses dois sinais comerciais juntos assim? O que isso vai fazer é no nosso bloco If aqui, nós vamos correr para comparações e vamos jogar isso e lá dentro. E então o que isso significa é que o PHP vai verificar ambos e como ele diz aqui, ambos têm que ser verdadeiros para que toda esta condição seja avaliada como verdadeira. Então um tem que ser igual a um e dois tem que ser menor que quatro. Ambos têm que ser verdade. E assim ambas são verdadeiras, obviamente. E assim, para o número 12, você vê, nós temos esta declaração verdadeira. Então é isso que o fim faz agora que é diferente, ou qual é ou um é verdade. Então, se um ou outro é verdade, então esta é toda esta afirmação será avaliada como verdadeira. Então, se qualquer um é igual dedo do pé, um ou dois é maior que quatro. O que sabemos não é maior que quatro, mas sabemos que um é igual a um. Então este avalia como verdadeiro e desde que usamos ou toda esta afirmação, em seguida, vai
avaliar como verdadeiro e, assim, nós tornamos verdade aqui. Certo, próxima é a não operando. Nós meio que já olhamos para isso um pouco, mas vamos olhar para algumas maneiras que você pode usá-lo que nós não temos necessariamente. Então nós o usamos em conjugação com sinal de igual e assim por diante. Mas você pode realmente usar tudo sozinho assim. E assim ele vai verificar para ver que é essencialmente como uma verificação booleana. Ele irá verificar para ver se esta variável ah não é definida essencialmente neste caso . Então, se essa variável de alguma forma retorna false, então isso vai retornar. Verdade, se isso faz algum sentido, então é um pouco confuso, mas está basicamente dizendo,
se não é verdade, se essa variável não é verdade, então isso é disso. Esta declaração será avaliada como true. Então temos a variável zero definida como zero, então isso é um equivalente de false e PHP zero e false. Nosso tipo de trabalho é o mesmo em funções booleanas em PHP. Então isso é essencialmente como dizer que é falso. Então, se isso não acontecer se isso não for verdade, então isso significa que esta condição é atendida, então você vai notar que isso realmente retorna. Verdade, porque estamos em Lee ecoando esta afirmação. Se esta condição é verdadeira e você vai notar para o número 14 aqui nós nos tornamos verdade. Então é uma maneira de verificar uma variável. Você pode verificar. Você pode usar o não um operador para verificar se uma variável um conjunto. Então, se este trabalho variável não foi sequer definido, então isso iria retornar true porque ele não existe se ele é definido como zero e se ele é definido o falso essencialmente as três principais maneiras que isso vai retornar true. Por isso, se vieres até aqui, podemos ver isto. Então, se olharmos para não uma variável bem, variável um é definido toe um que está em termos booleanos é o mesmo é verdade. Então este é realmente verdade. Esta variável realmente existe. E então você percebe aqui que não temos um número 15 porque só ecoamos se esta afirmação for verdadeira. Nós viemos aqui para o número variável para você. Está definido como falso especificamente para falso. Então, o avaliador não vai voltar. Verdadeiro porque esta variável não é verdade. Isso é o que estamos verificando com isso. Então você vê Número 16 nós ficamos verdadeiros e o número 17 isso é definido como verdadeiro. Então isso avalia esta condição toda esta condição é avaliada como falsa, então nunca ecoamos número 17, então não temos um número 17 aqui. Certo, então não estão de novo. A variável não é um pouco útil que você pode jogar na frente de variáveis para verificar se existem. Se não definir como zero ou não definir o falso. Se isso for verdade, se não forem, se
existirem, não estão tontos. Quando eles não estão definidos como false, então isso vai ser avaliado como falso, mas se eles estão definidos ou se eles não existem, eles são definidos como zero. Eles são definidos como falso. Isto vai. Isso será avaliado como verdadeiro. Ok, então, novamente, puxando de um banco de dados que você pode verificar para ver se talvez você colocou o nome de alguém em uma variável. Bem, talvez eles não digitaram o nome certo? Talvez não digitaram o nome quando preencheram o formulário. Então não há dados nesse campo. Então, quando você puxou do banco de dados, ele está vazio. Você pode verificar isso usando este, não operador. Então, se não o primeiro nome, então você pode fazer algo para explicar o fato de que não há primeiro nome nesse campo . Então é isso. Eu uso este aton tão, muito, muito útil pequeno operador aqui. Tudo bem, então isso vai fazer para comparação. E os operadores lógicos esperançosamente acharam isso útil. Falamos com você da próxima vez.
15. Leite, escreva e em adda: Bem-vindo de volta ao PHP one. Um nesta lição, vamos começar a manipular arquivos. Então vamos falar sobre ler arquivos,
escrever arquivos e dependendo de arquivos. Agora, eu quero entrar no set up um pouco aqui. Então você entende o que estamos olhando para suas anotações. Tenho duas linhas aqui que dizem a mesma coisa. E essencialmente, o que temos aqui é que eu tenho uma leitura deste arquivo que noinício
muito, início
muito, e então nós vamos manipulá-lo de maneiras diferentes, e você verá uma leitura deste arquivo no mesmo, muito final. E então isso vai nos permitir fazer é tipo de ver algumas das mudanças à medida que trabalhamos através deste Ah, que vamos fazer com a manipulação do arquivo. Agora eu menciono isso porque é um ponto importante também a ser lembrado quando se trabalha com arquivos. Então, ao trabalhar com arquivos, há o que é chamado de ponteiro em termos de como essas funções lêem o arquivo. E assim, como você trabalha com o arquivo que ponteiros vai se mover e eventualmente chegou ao
final do arquivo E então você tem que imaginar que é esse cursor que está se movendo através do arquivo lendo o arquivo. Isso é importante saber, porque muitas vezes quando as pessoas tentam fazer é eles tentam usar a função simultânea eles vão fazer um F lido como este, e então nós vamos tentar e fazer isso f receber uma única linha. O problema com isso é, uma vez que você faz um f read e você especifica que você quer ler todo o arquivo, que Pointer vai estar no final de sua vai se mover como ele lê para o final do arquivo. Então, se você tentar fazer uma função de acompanhamento nesse ponto, sua função de acompanhamento vai começar de onde quer que o ponteiro é que, a menos que você feche e, em seguida, reabra o arquivo, ok, então isso é importante notar. Você tem que lembrar que há sempre este ponteiro que está trabalhando através do arquivo aqui . E se você quiser executar várias funções em um arquivo, você tem que se lembrar que os ponteiros se movendo e ter alguma idéia de onde ele vai estar quando você executar essas funções seguem ok, então vamos ver algumas dessas conforme nos movemos através disso. Mas é importante ressaltar que esse ponto existe. Está se movendo e um zoológico funciona com isso. Você meio que começa a ter uma idéia de como isso funciona. Certo, então vamos falar sobre nosso código aqui e o que estamos fazendo. Então a primeira coisa que estamos fazendo é abrir e ler um arquivo. Então o que fazemos é especificar nosso nome de arquivo. Então eu estou fazendo isso aqui para que eu possa apenas usar a variável em toda parte, então é um pouco mais fácil trabalhar com nosso arquivo real aqui. Meu arquivo dot txt. Vou ver o que diz: “Ei, sou um arquivo e depois diz: “História
legal, História
legal, mano. Então tem duas linhas. Você vai notar quando lermos aqui e fora. Coloque no navegador. Não respeita as quebras de linha aqui de novo. Algo a observar enquanto trabalha com arquivos. Então o que estamos fazendo aqui é simplesmente fazendo um F aberto então arquivo aberto estavam especificando nosso nome
de arquivo. E então nós estamos especificando o modo em que queremos abri-lo provavelmente a
coisa mais importante que você vai querer lembrar e prestar atenção quando você está trabalhando com milhares do modo em que você abri-lo porque isso vai determinar onde o ponteiro começa no que você vai ser capaz de fazê-lo. Aquele arquivo de várias outras coisas. É por isso que vamos passar aqui. Ok, então eu estou abrindo com isso é que significa leitura. Então eu estou abrindo e modo somente leitura, que significa que eu não vou ser capaz de manipular este arquivo de qualquer maneira quando eu abri-lo e ler modo assim f aberto encontrado chamado o modo. E eu estou apenas executando esta verificação simples para não conseguir abrir um arquivo. Nós meio que matamos o script e colocamos isso no arquivo do mamilo aberto para que possamos ver isso. Então eu estou salvando este arquivo do que aberto como este. Meu arquivo é como uma conexão com esse arquivo em certo sentido, e isso nos permite manipular esse arquivo este arquivo que abrimos em nosso código aqui para ver que então, a fim de ler o arquivo, se quisermos ler todo o arquivo, é realmente muito simples. Nós lemos. Passamos o nome do arquivo
e, em seguida, passamos em quanto do arquivo queremos ler e isso é feito por tamanho. Agora, as chances são que você provavelmente não vai saber que tamanho este arquivo é, e então isso é Ah, pequena coisa
útil para lembrar essa função de tamanho de arquivo, e estamos executando isso no nome do arquivo aparecer. Então o que isso vai fazer que só vai olhar para o arquivo e ver o quão grande ele é. E então vamos passar isso é o quanto queremos ler o que isso faz. Essencialmente, ele diz para ler o arquivo inteiro. Ok, então na maioria das vezes isso é provavelmente o que você vai querer fazer. Então esta é provavelmente a maneira mais comum que você vai usá-lo, ok? E então isso faz exatamente o que diz. Ele lê todo o arquivo e nós ecoamos como saída aqui. E então é isso que estamos recebendo aqui. Tudo bem, então a próxima maneira que você pode ler um arquivo, então é obter uma única linha do arquivo. E então o que esse esforço get s função vai fazer é apenas ler a primeira linha . Então você sabe, temos duas linhas aqui. Estamos apenas dizendo a ele para ler apenas o primeiro 1 Então, e então estamos passando no
claro , o nome do nosso arquivo que abrimos aqui. Então o que isso vai fazer quando acabarmos de afundar aqui? Ah, está indo. Ele vai ler apenas a primeira linha para que possamos ir em frente e atualizar isso. Você pode ver agora que eu estou apenas pegando a primeira linha. Então é isso que get f get s faz novamente, se isso é algo que você precisa fazer com seus arquivos. Em seguida, temos este tipo de função booleana chamada F E O F. que está apenas verificando quatro extremidade do arquivo. Então isso é o que F E. O. F representa quatro e um arquivo. Então, só estamos checando se estamos no final do arquivo. Então isso pode ser útil para você descobrir onde, você sabe, eu
li tudo. Quero dizer, no final do arquivo, você pode percorrer o arquivo. É algo interessante de notar. Você pode realmente usar um loop while e loop através do arquivo E você pode usar isso como sua condição em seu loop while de modo que while loop o condicional ser verdadeiro e ele vai continuar loop até que você chegar ao final do arquivo. E então ele vai parar assim novamente algo Ah, função que poderia vir a calhar em diferentes, coisas
diferentes que você está fazendo. Você vai notar que quando eu executar isso, eu fico em branco porque essencialmente retornar zero Não é verdade, porque nós não estamos no final do arquivo, certo? Nós não lemos o arquivo, nós apenas o abrimos então, na verdade, bem no início. Certo, então essa é outra função a ter em mente. E então neste último aqui está F get See? Então o que, isso vai fazer isso, só vou ler um único personagem do outono. Então, basicamente, vai agarrar apenas o primeiro personagem. E assim você pode ver aqui nós temos este h apenas agarra o h de hey, bem aqui. Certo. Então, essas várias maneiras diferentes que você pode ler arquivos e então, é
claro, nós fechamos. Nós sempre fechamos o dedo do pé do arquivo para ser feito de trabalhar com ele. Tudo bem, então e na verdade, deixe-me ir em frente e incomum este aqui de volta para que possamos ter uma noção do que está acontecendo no início. E então, no final, enquanto nós manipulamos para que a próxima coisa que você pode fazer é escrever em um arquivo, e isso é provavelmente a coisa que você vai ser um de fazer isso em um pendente. Então vamos mostrar-lhe como fazer isso. Então a primeira coisa a ter em mente aqui é que quando fazemos isso, estamos fazendo nosso F Open e precisamos escrevê-lo no modo de gravação. Então este w aqui que vai nos permitir abrir o arquivo para que possamos escrever para ele agora. A única coisa a ter em mente com o modo certo w aqui é que ele irá excluir o que
já está lá. Assim, o conteúdo do arquivo será quando você abri-lo no modo de gravação, eles serão apagados. E você o ponteiro começará então no início, e você começará a escrever a partir daí. Então você deve realmente pensar no certo como sobrescrever, porque isso é o que ele vai fazer dio. Certo, então abrimos no modo de gravação. Acabamos de definir. Especifique algum texto e, em seguida, usamos esta função direita F. Escrevemos para o nosso arquivo o texto que acabamos de especificar. E você pode fazer isso várias vezes em todo o arquivo. Então você vê aqui eu especifico outro texto e eu escrevo novamente. Você pode escrever quantas vezes quiser para o arquivo e ele irá essencialmente manter um pendente dedo do pé o que você escreveu antes até que você fechá-lo. Ok, então se dermos uma olhada nisso, então você pode ver que nós especificamos Bem, esta é uma boa notícia. Claro que é. E você pode ver quando atualizamos a página no início. Antes de fazermos a nossa manipulação, tínhamos o nosso texto antigo bem aqui. Fizemos nossa manipulação, e agora lemos. E agora temos nosso novo texto. OK, e se viermos aqui para o nosso arquivo, você pode ver que diz: “
Bem, Bem, isso é uma boa notícia. Assegure-o. Então, foi alterado este arquivo, você percebe que o conteúdo que estava lá antes foi excluído. E agora esse novo conteúdo está lá. E isso é o que está certo indo para didio. Então, novamente, pense nisso como certo, tudo bem. O próximo que queremos olhar, então, é anexar e upend. Faz exatamente o que diz que vai fazer em vez de substituir o conteúdo, é lá Ele só vai adicionar conteúdo para o final, ok. E assim para especificar que você use este A que abre o arquivo em um modo de caneta. Agora você vai notar que depois disso, uma vez que nós abri-lo em um modo de caneta, nós especificamos nosso texto e fazemos f right, assim como fizemos antes. Então, a única diferença entre um pendente e escrever seu substituto realmente é como você abre o arquivo. E isso porque quando você o abre em um modo de caneta, o ponteiro é movido para o final do arquivo. Então você começa a escrever a partir daí. Então agora você é essencialmente um conteúdo pendente para ele. Então é importante saber que quando você está trabalhando com isso é tipo de coisa porque ah, isso vai afetar você sabe o que é, o que é que acontece como resultado das coisas que você está fazendo. Então nós apenas dependemos deste arquivo, hum, e você pode ver agora que temos nosso texto anexado aqui. Nós viemos aqui para o meu arquivo. Você pode ver que temos nosso texto anexado. Eu refresquei duas vezes,
é por isso. Eu refresquei duas vezes, Adicionei duas vezes. Tão pouco. Ah, brinca da minha parte. Mas você pode ver que o que acontece é que depende que esse texto para o final do arquivo aqui. Certo, então é isso que Upend faz. E ainda temos nosso conteúdo original, e depois adicionamos um pouco a ele. Tudo bem, então temos alguns Talvez você sabe, algumas maneiras diferentes de trabalhar com esses arquivos para que também possamos abrir em X com este
modo X. E essencialmente, o que isso vai fazer é que Lee vai abrir o arquivo se o arquivo ainda não
existir . Então, ah, isso deve ser parecido. Se atualizarmos isso, você verá, teremos um incapaz de abrir o arquivo aqui. A razão pela qual entendemos isso é porque esse arquivo já existe, certo? Já o temos aqui. Então, essa é uma boa maneira quando você está trabalhando com arquivos, se você quiser criar um novo arquivo, mas no Lee fazê-lo. Se o arquivo ainda não existir, então você pode usar esse modo x para fazer isso. Isto é o que eu falei antes apenas são mudanças. Eu só coloquei isso lá para que você pudesse ver algumas das mudanças que aconteceram enquanto trabalhamos com arquivo. Então, este é realmente apenas um re regular como já cobrimos. E então estes ar um pouco. Eu não vou passar por isso porque eles são realmente tipo de repetições, mas são coisas para você ter em mente que você pode usar. Então, se você usar um R plus, então isso vai abrir um arquivo para ler e escrever, e ele vai colocar o ponteiro do arquivo no início do arquivo. Ok, Então você pode usar o nosso mais W plus vai abrir para ler e escrever, e ele apaga o conteúdo do arquivo ou cria um novo arquivo se ele não existir. E o ponteiro do arquivo está no início do arquivo. Uma adição é aberta para leitura e gravação, e os dados existentes no arquivo são preservados. O ponteiro do arquivo começa no final do arquivo, e ele cria um novo arquivo se o arquivo não existir e, em seguida, x plus ele essencialmente cria um novo arquivo para leitura ou gravação. Ele retorna false em um ar se ele já existe. Então, o Plus é essencialmente o que eles estão fazendo é abrir e ler e escrever modo. Isso é meio que fazer o que esses modos já fazem. Mas, em seguida, abra o arquivo em ambos os modos de leitura e gravação para que você possa fazer o que você precisa fazer com ele a partir daí, certo? Então estas ar algumas outras opções que você tem disponível bem, você deve ter notado como nós passamos por isso é a maior parte da manipulação, e trabalhar com arquivos é bastante semelhante. O que importa é o modo em que você o abre, seja no modo de leitura por causa do modo aberto e remoto, você não será capaz de escrever ou escrever no modo. Se você abrir no modo de gravação vai substituir todo o conteúdo lá que está lá ou
modo upend , ele não está passando por cima. Eu não coloquei você no final do arquivo para que você possa adicionar conteúdo a ele. Então, o modo que você abre é provavelmente a coisa mais importante porque a partir daí, isso vai determinar o que você pode e não pode fazer ou o que você faz como ele afeta o arquivo como um todo. Tudo bem, então isso é trabalhar com arquivos, manipulá-los, ler, escrever e um pendente e uma série de outras coisas. Espero que gostem disso e falemos com o próximo vídeo.
16. Crie pastas: Bem-vindos de volta, Praia B, um, um. Esta lição que vamos começar sobre a criação de pastas. Então isso é realmente muito simples. Então seria um vídeo muito rápido. Mas há uma função que você precisa saber no PHP para fazer isso. E vamos passar por algumas coisas que você quer saber ao usar essa função . Então, a função é fazer durante em que de ir esta função aqui. E é isso que vai permitir que você crie pastas. Realmente muito simples. A única coisa que você realmente precisa saber ou prestar atenção aqui é para qualquer pasta que você deseja criar. Você acabou de colocar o nome dessa pasta neste primeiro parâmetro aqui, e ele irá criar essa pasta agora vai criá-la no diretório onde quer que o script seja colocado. Então, por exemplo, eu vou até aqui para a nossa concha. Aqui, você pode ver que eu estou no meu servidor e publicação, Mel. E então eu estou em uma pasta chamada PHP 101 que é onde eu estou fazendo todo o código para este PHP um em um curso. E então eu fiz uma lista aqui, e ela está listando fora, e você pode ver agora tudo que há esses arquivos aqui. Na verdade, eu arrastei isso até aqui. Você pode ver que são apenas esses arquivos aqui. Está bem? Então, quando eu criar a pasta vai criá-la neste diretor onde o script é que isso é uma coisa a ter em mente quando você está trabalhando com isso E então a outra coisa é que você tem suas permissões, que você vai sentar aqui para qualquer coisa que você deseja que sua pasta seja. Acho que na maioria das vezes vai ser 755 assim. Eu acho que isso é bastante padrão. Você sabe, no passado, eu vi onde você faria 777 com base em diferentes configurações de servidor. Mas eu acho que a maioria dos servidores comerciais agora, hum, é que eu estou ficando sem memória aqui. Mas a razão pela qual ele era diferente é porque havia que era a maneira em que o servidor foi configurado e alguns com certos servidores, hum, PHP essencialmente não teria as permissões corretas ou não era o tipo certo de usuário para ser capaz de ser capaz de criar fazer coisas como este criar arquivos e pastas. Sem a permissão definida para 777 de qualquer maneira,
acho que na maioria das vezes você provavelmente vai definir as permissões para 755 se você tem
algum caso especial onde você sabe que você tem que enviar para algo diferente, Sem a permissão definida para 777 de qualquer maneira, acho que na maioria das vezes você provavelmente vai definir as permissões para 755 se você tem algum caso especial onde você sabe que você tem que enviar para algo diferente, Então que assim seja. Mas eu gostaria de meu conselho ou regra geral é 755 Provavelmente o caminho a seguir. Hum, então quando você fizer
isso, isso vai apenas criar este diretório. Então, se eu vir aqui para a página e eu apenas atualizar esta página,
em seguida, ele vai criar este diretório chamado Testing. Então devemos ser capazes de vir aqui agora e listar nossos arquivos ou o que está nessa
gente de pêssego em uma pasta. E agora você pode ver que eu tenho esta pasta de testes aqui. Se eu arrastar isso para cima, você pode ver que eu tenho testes aqui agora. Então bastante simples, a fim de criar pastas com uma outra coisa aqui é que você pode realmente fazer. Você pode construir pastas recursivas lee. Então, digamos que você deseja construir um caminho para determinadas pastas aqui. Então você pode realmente apenas digitar esse caminho. O que você quer? E se você colocar o parâmetro recursivo como true,
em seguida, fazer Dural passar e realmente criar todas essas pastas. Ok, então você pode ver aqui nós passamos no caminho da pasta com o passageiro para permissões deve ser as permissões para cada pasta. E então nós dissemos este terceiro parâmetro aqui para verdadeiro Soto recursivo realmente criar essas pastas. Agora, uma coisa que eu notei ao mexer com isso é que se você colocar uma barra aqui ah, ele faz isso você vai ter problemas de permissões. Então, eu só estava digitado e corri e eu tenho permissão apenas usando pensamento que era estranho . Portanto, remover a barra corrigir os problemas de permissão. Então certifique-se, Justo, se você está tendo problemas de permissões, apenas remova essa barra. Ou talvez no seu caso, no seu servidor, talvez você tenha que adicioná-lo, seja qual for o caso. Mas isso foi essencialmente o que consertou tudo do meu lado. Tudo bem, então se rodarmos isso, então isso vai para recursivo Lee,
em seguida, criar todas essas pastas. Então, agora, se viermos aqui e listarmos nossas pastas, você verá que temos esse teste
também, também, e então eu posso entrar e vocês podem ver que temos a próxima pasta e depois a última pasta e então que não
há nada. Então ele passou e recursivo Lee criou todas essas pastas, de modo que poderia ser útil novamente. Se você estiver criando um caminho que você não precisa criar cada pasta individual, você pode simplesmente passar nesse caminho, e ele vai recursivo Lee criado para você. Tudo bem, então isso é criar pastas com pêssego. Seja bem direto. Obrigado por assistir. Falamos com você da próxima vez.
17. Sessões do PHP: Bem-vindo de volta ao PHP 101 Esta lição. Nós vamos entrar em sessões para sessões de uma forma ou muito como post e entrar em que eles são super globais de que você pode usar para passar informações de página em página. O bom das sessões é que você não precisa enviar um formulário ou passar as informações na URL. Você pode realmente simplesmente configurá-lo explicitamente em seu código. Ou você pode usar informações do post ou chegar a tal definir as sessões e, em seguida, permitir que ele persista em várias páginas sem ter que reenviar esses dados ou passar para ele de
dados no post e o parâmetro get ah. Então eles são um pouco mais persistentes é o ponto do que postar e obter. Você pode colocá-los e eles ficarão até que você os destrua. Então, hum
, pode ser novamente. Esta é uma das maneiras de falar especificamente de formulários, você pode criar alguns formulários realmente amigável que permitem que os dados persistam em vários se você tiver um formulário de várias páginas e assim por diante. Ok, então algumas notas antes de entrarmos em código real aqui um o conteúdo da sessão. Então, por exemplo, você vê aqui embaixo nós definimos esse nome de sessão para John, e o status é dope. Então o conteúdo real aqui, o que está na sessão? Super global que é armazenado no servidor. Não é armazenado com o navegador, que é o quê? O que o torna diferente de um cookie, uma das coisas fundamentais que o torna diferente de um cookie. Os cookies são armazenados no ar sessões do navegador armazenados no servidor, geralmente em um arquivo em sua pasta temporária. Ok, agora você pode determinar que há configuração Ah na sessão PHP não salvou um caminho, e você pode verificar para ver como ele está definido especificamente para sua configuração específica usando
informações PHP . Mas novamente, geralmente é um arquivo em sua pasta temporária onde esses dados salvos, e é assim que o PHP recupera em cada solicitação. E a segunda parte disso,
então é que cada sessão é identificada por Session I. D. E essa ideia de sessão em si é realmente armazenada no navegador, geralmente como um cookie, mas também pode ser como um no u. R l como um parâmetro de consulta K. Assim, a sessão I D é armazenada no navegador geralmente é um cookie, e então isso é enviado com cada solicitação para que o PHP saiba qual sessão eu d esta é. PHP leva isso. E então ele vai olhar na pasta temporária para essa sessão. Eu vou pegar o conteúdo disso e torná-lo disponível para o seu script aqui
para você usar com cada pedido. E isso é o que permite que ele persista em páginas diferentes porque ele é realmente armazenado em um arquivo no servidor e recuperado com cada solicitação. Então, novamente, muito útil para passar informações de página em página e permitir que ele persista. Tudo bem, então para começar a fazer isso realmente três páginas diferentes aqui porque nós vamos mostrar algumas das diferentes coisas que você pode fazer com sessões. Mas a primeira coisa que você tem que fazer para que tudo isso funcione é que você tem que
começar a sessão agora. Isso precisa ser feito antes de você enviar qualquer coisa para o navegador ou algo antes de você sair . Saída qualquer código aqui, você precisa iniciar sua sessão, então isso é realmente normalmente se você estiver usando sessões, esta será a primeira coisa que você faz é apenas iniciar a sessão que irá criar
automaticamente uma sessão com uma sessão I d Ele vai fazer todas essas coisas no back-end para salvar um arquivo em sua pasta temporária sobre o conteúdo e assim por diante. Ok, então uma vez que você tem que terminar sessões começam aqui, que é uma função PHP. Então é realmente simples informação de anúncio para essa sessão I d. Então você pode ver que temos sessão aqui com a variável de sessão. Este é um super global. É uma corrida como postagens e obter. E nós podemos simplesmente adicionar informações a ele criando uma,
uh,uma uh, chave de
matriz e, em seguida, valor aqui. Ok. E então nós apenas definimos para elementos dentro de nossa matriz de sessões aqui. E isso pode ser feito assim que você começar a sessão. Estes podem ser feitos depois que você tiver o código de saída e assim por diante. Então, se você olhar para aqui, nós estamos imprimindo nossa sessão antes de definir as variáveis. E então nós estamos imprimindo depois para que você possa ver nosso raio aparecer está vazio antes e
depois que ele disse, as variáveis que temos essas variáveis agora já estão aqui Ok, então é assim que começar uma sessão. Isso é como definir variáveis realmente muito direto para fazer isso. Então, em seguida, vamos clicar aqui e garantir que eles persistam nas páginas. Então isso vai nos ligar à nossa segunda página aqui e na segunda página. Tudo o que estamos fazendo é imprimir a sessão e eles estavam ecoando os dados da sessão. Notou que não estamos aqui em lugar nenhum. Então a única maneira que esse ar vai aparecer que nós vamos ter algum nos dados neles é se essa informação, os dados que armazenamos em nossa sessão persistirem em páginas, certo? É a única maneira que vai funcionar. Agora, você sabe, é de novo. Nós temos. Começamos a nossa sessão. Então você tem que fazer isso no topo de cada página que você vai estar trabalhando com sessões . OK, então isso diz ao PHP para disponibilizar as informações para esta página. Certo? Então, se clicarmos nesta página, você pode ver se chegamos aqui em nossa impressão, temos nossos dados foram ecoando os dados agora aqui. Portanto, nossos dados persistiram em páginas e você sabe que não enviamos um formulário. Não está na U R L em qualquer lugar que você possa ver que não há dados na URL. É simplesmente lá. Ok, então espero que você comece a ver o quão poderoso esse tipo de coisa pode se tornar. Este é um dos pontos de viragem quando começamos a construir aplicativos realmente altamente funcionais é ser capaz de trabalhar com sessões e cookies e assim por diante. Certo. Então, a partir
daí, uma vez que você tem,
você sabe, sua sessão disse que é persistir através da página ou ecoar aqui fora e usar essa informação. Então a última coisa que pode fazer é destruir. Você pode realmente fazer duas coisas que você pode desdefinir, ou você pode destruir os dados em uma sessão. Então, se chegarmos à nossa terceira página aqui, vamos clicar aqui em um segundo. Nós sempre temos que começar a nossa sessão novamente, e então você pode. Você tem duas opções, dependendo do que você quer fazer. Então início Bem, ele não vai destruir as sessões, mas vai desdefinir todas as variáveis que você definiu, então ele meio que funciona exatamente como a função unset no PHP. Quando você chama de “Array”. Isto é apenas para sessões. Então é isso que o início da sessão faz. Destruir sessão irá realmente destruir a sessão. E se voltássemos a esta primeira página, criaria uma sessão totalmente nova para começarmos a usar. Ok, então se clicarmos aqui para destruir a sessão e você vai notar que depois de destruirmos, então e na verdade vamos fazer uma impressão é antes de destruí-la só para que você possa ver isso. Então vamos começar nossa sessão. Então vamos imprimir os dados que estão nele serão desativados e destruídos. E então vamos pronunciar os dados e ver o antes e o depois. Agora, quando você faz isso, você não tem dedo do pé desajustado e depois destruir. Só estou mostrando as duas opções diferentes, se quiser, e se quiser se livrar dos dados e destruir a sessão, pode chamar “Session Destruir”, e isso fará isso por você. Então tenha isso em mente. Tudo bem, então aqui, vamos clicar para destruir a sessão. Verá antes de o destruirmos. Ainda temos os dados lá. Então agora persistiu da primeira página para a segunda página para a terceira página. Mas depois destruímo-lo. E agora as nossas matrizes estão vazias. Não temos mais isso aí. E então, se clicarmos aqui, isso vai nos levar de volta à nossa primeira página e você vai notar agora novamente, nenhum dado em nossa sessão, variável para começar. Em seguida, definimos nossas variáveis novamente, e depois imprimimos novamente, e agora temos nossos dados de volta lá. Tudo bem, então é assim que você tipo de usar sessões em algumas das diferentes maneiras que você pode manipulá-los e novamente, ferramenta
muito poderosa. Esse ponto de viragem em ser capaz de criar aplicativos onde você tem dados persistem em páginas
diferentes. O exemplo que eu gosto que vamos entrar em mais é criar,
como, como, um formulário multipart onde eles podem se mover para frente e para trás entre as diferentes páginas no formulário , e os dados que eles enviaram ainda estão Ali, certo? Então,
se eles voltarem para a página três e voltarem para a página um. Eles não têm que re entrar em tudo de Peach um. Ele ainda está lá porque vai ter começado em sessões e, em seguida, ter ecoado para fora
nessa página. Ok, então, novamente, isso é algo em que vamos nos meter. Ah, como vamos aqui, mas uma ferramenta
muito, muito poderosa aqui. Hum, sessões e cookies são um pouco da base de aplicativos. CMS está registrando e aplicativos de tipo de registro e assim por diante. Certo, obrigado por assistir. Falamos com o próximo vídeo.
18. Cookies do PHP: Bem-vindos de volta ao PCP 101 Esta lição vamos começar com biscoitos agora. Biscoitos ar. Outra maneira de persistir dados em páginas da Web semelhante à sessão. A principal diferença é onde o conteúdo real no cookie diferente ou a sessão ou armazenado. Assim, com, como falamos na última lição com uma sessão, o conteúdo real ar armazenado no servidor, geralmente em um arquivo e com cookies. Os dados são realmente armazenados do conteúdo são realmente armazenados com o navegador. E podemos ver essa distinção aqui. Se entrarmos aqui no cromo, vou para as configurações. Ah, configurações
avançadas,
conteúdo, conteúdo configurações
e, em seguida, todos os cookies e dados do site. Você pode realmente ver todos os cookies em seu site aqui. E se eu for, vamos ver, vou cuidar do John Morris online. Podias ver os 17 biscoitos deles aqui, e abrimos isto. Podemos ver todos os biscoitos diferentes. Então este é o nome do biscoito. Nós clicamos nisso, então podemos ver o conteúdo aqui. Esse conteúdo é armazenado para este é um cookie. Esse conteúdo é realmente armazenado aqui com o navegador agora você vai notar que esta é a sessão
PHP I d cozinhando. Então, como falamos com sessões, a sessão I D. é realmente armazenado como um cookie aqui e, em seguida, enviado com cada pedido para o servidor e, em seguida, os servidores capazes de recuperar o arquivo correspondente a sessão I D. E disponibilize o conteúdo que foi armazenado nessa sessão. E então o PHP pode usar isso. Então é assim que o tipo de sessões funcionam o cookie para arquivar na
conexão tipo de servidor com apenas cookies reais. Então os dados são realmente armazenados aqui no navegador para que você possa ver que este tem esse nome, e aqui está o conteúdo dele, então ele é apenas armazenado aqui. Agora a coisa boa sobre biscoitos. A razão pela qual você vai notar um monte de sistemas de login e coisas usam cookies em vez de sessões. A razão disso é e falaremos um minuto. Como fazer isso é porque os cookies podem persistir em todo o navegador sendo fechado. Você disse que um tempo real de expiração eo cookie estará lá a menos que esse tempo de expiração passe ou o usuário entra e limpa seus cookies aqui, então é por isso que os cookies ar tão frequentemente usado porque, ah, login sessão pode persistir ao fechar o navegador e reabrir, o que é algo que muitos sistemas como esse querem. Ok,
Então, entrando nisso, realmente usando e definindo cookies para definir um cookie, nós vamos apenas usar este conjunto de funções, cookie, e nós vamos passar em alguns parâmetros simples, como as sessões começam. Você precisa fazer isso antes de enviar qualquer coisa para o navegador. Caso contrário, você vai ter erros. Então esta será uma das primeiras coisas que você faz em seu roteiro. Se você estiver usando cookies é realmente definir o cookie antes de você enviar qualquer coisa para o navegador. Certo, então os principais parâmetros foram e dê uma olhada Aqui estão o nome, o valor, o tempo e o domínio. Então o nome é apenas o nome da sua comida. O que você quiser que seja. Você viu 17 desses nomes que podem ser o que quiser. Este caso, estamos chamando de usuário. Então o valor é o valor real que você quer armazenar. Então, para a sessão ideal PHP sessão I d cookie, Foi a sessão I d para as listas SP um. Era o número do número da lista nos deu o número da lista. Pode ser o que quer que queira guardar no biscoito. Aqui é onde você coloca que não é um valor de cookie. O tempo é o vencimento, como mencionamos. Então aqui estamos definindo, também. Tempo agora. Que é o que esta função reserva mais essencialmente 30 dias. Porque 86 400 segundos é um dia foram vezes em que por 30. Então, 30 dias. Então este biscoito vai expirar daqui a 30 dias, a menos que o destruamos de antemão. E então o domínio é essencialmente o diretório para o qual este cookie estará disponível . Então, se você quiser que ele persista em todo o site e esteja disponível em todo o
site ah , você usaria apenas a barra como estamos fazendo aqui. Provavelmente o uso mais comum. Mas se você quisesse para um diretório específico, você poderia fazer algo assim, e então ele só estaria disponível para esse diretório específico. Tudo bem, então uma vez que você tem esses definidos, então você simplesmente passa aqueles para o set cookie e o cookie será definido, e isso é realmente bonito é simples como isso. Certo, pegando um biscoito do que há duas maneiras de fazer isso. Primeiro você pode imprimir o biscoito, então você vai notar aqui. Na verdade, estou apenas imprimindo o biscoito Super Global como um todo. Então isso vai nos mostrar todos os cookies que temos aqui, é por isso
que vemos esta sessão PHP. Eu vim aqui porque essa é uma das chaves que se encaixam. E então temos nosso cookie de usuário aqui, o que acabamos de configurar aqui. E você pode ver que tem o nosso conteúdo de John Morris e lá. Então essa é uma maneira, provavelmente não a maneira que você vai fazer isso para produção, mas para testes. Você pode fazer isso. Você poderia, obviamente, colocar o nome do biscoito se você só quisesse pegar aquele. Ele pode se sair bem como nós estamos fazendo aqui. Essencialmente, você poderia fazer assim. E então essa é a segunda maneira que você pode recuperar informações de cookies é novamente usar nosso tipo de
cookie de variável super global aqui e, em seguida, passar no nome do cookie que você deseja. Quer ecoar o valor de Então passamos no nome do cookie. Então ele vai ecoar o valor desse biscoito. Então o valor é John Morris. E é por isso que temos esse John Morris aqui, tão simples para recuperar e trabalhar com informações sobre cookies. Em seguida, falaremos sobre a modificação de um cookie. E daí se você quiser modificar os dados que estão em um cookie? E para fazer isso, o que você faz é basicamente definir o cookie novamente com a nova informação para que ele possa ver que estamos mudando essa variável para,
uh, uh, valor de
cookie para não John Morris. Mas então estamos passando no mesmo nome, na mesma hora, no mesmo domínio. A única coisa que mudou. Aqui está o valor do biscoito. Então isso é modificar um cookie, o que é bastante simples. Ah, e simples de fazer. E então estamos imprimindo para que possamos ver essa informação. Não. Uma coisa que você quer ter em mente aqui é que quando você está trabalhando com cookies, hum, às vezes você obtém dados armazenados em cache de volta, então você pode atualizar e você não vê nada mudar. Certifique-se de acertar F 5 quando fizer isso. Caso contrário, você pode obter os
dados armazenados em cache você pode obter os
dados armazenados em cachede volta. E isso pode confundi-lo,
então você vai notar. E isso pode confundi-lo, Aqui nós atualizamos Page, E agora estamos recebendo esta nova variável que definimos aqui. Então temos subida. Nós efetivamente e modificamos este cookie. Tudo bem, a próxima coisa que você pode querer fazer então é excluir um cookie. E assim, a
fim de excluir um cookie, a maneira de fazer isso é bem simples. Você simplesmente define o biscoito. Mas quando você disse isso, você disse isso para um tempo no passado. Então deixe-me ir em frente, realmente comentar isso porque isso vai redefinir nosso cookie. E é bom comentar isso apenas para que possamos nos concentrar em nosso cookie excluir aqui. Então, novamente, você disse isso a uma época no passado. Então, estamos usando o conjunto de cookies. O nome dos nossos cookies não estava passando em nenhum valor porque não importa porque estamos prestes a destruí-lo e, em seguida, estávamos definindo em nosso tempo. Mas estamos ajustando para um tempo no passado, então estamos definindo isso também, como uma hora atrás. 3600 segundos. Então estamos basicamente expirando manualmente o cookie. É assim que se destrói. Certo, então se voltarmos aqui e atualizarmos isso e darmos uma olhada, você notará que agora o cookie em nossa matriz, nosso cookie de usuário não desapareceu porque nós já expiramos manualmente ou proativamente. Então o cookie irá embora quando o tempo que você definir expirar, ou você entrar e redefinir esse tempo para o tempo no passado e o servidor e PHP reconheceram que esse cookie está expirado agora para que ele seja excluído do navegador, certo? Então, Então, é assim
que se apaga um biscoito. Agora, a última coisa aqui que eu vou mostrar é uma maneira de você verificar se os cookies estão ativados, e então vamos abrir isso de volta porque é aqui que nós definimos nosso cookie. Mas essencialmente, a maneira de ver se os cookies estão ativados é tentar definir um cookie como este, e então executar a função PHP, contar com cookie e ver se ele é maior que zero. Então, se houver alguma coisa
acertada, se houver alguma variável definida no cookie, há alguma que significaria que há alguns cookies. Ar ajustado. Há algo nesse super global, então você é capaz de definir cookies assim e, em seguida, você poderia ecoar cookies ativados. E se não for,
então você, ah, ah, cookies de
eco não estão ativados. Então essa é uma maneira rápida. Você pode verificar se os cookies estão ativados. Basta executar uma conta em um cookie como este. E se for maior que zero, cookies thin são ativados. Tudo bem, então isso é trabalhar com cookies de novo. Muito. Este é um desses pontos de viragem na criação de aplicativos profissionais que realmente você
sabe que eles são altamente funcionais. Então, uma das coisas que você definitivamente vai querer mexer com e certifique-se de aprender tudo bem, Obrigado por assistir. Falamos com o próximo vídeo.
19. Como escrever funções de PHP de: Bem-vindo de volta, Praia P 101 Esta lição. Vamos falar sobre como criar uma função personalizada. Então nós gastamos um bom tempo falando sobre algumas das funções embutidas do PHP que você pode chamar e referenciar. Mas você também pode criar sua própria função personalizada para que você possa definir ah, função
personalizada. E quando falamos sobre a construção de aplicativos em um tipo muito geral de construção de
aplicativos sentido simplista é realmente o processo de você escrever funções personalizadas. Um aplicativo que você criar será essencialmente uma coleção de funções personalizadas que você escreveu. Então, novamente, esta é uma daquelas coisas que estavam meio que manobrando lentamente e fazendo isso pivô em direção à construção de aplicativos PHP que realmente fazem coisas. Ok, então a sintaxe, em seguida, para criar uma função personalizada, é realmente muito simples. Você escreve a função da palavra, modo que diz ao PHP. O que você está prestes a fazer é criar uma nova função, e então você escreve o nome da função. Você coloca esses parênteses se você tem parâmetros ou não, e então você coloca colchetes do. Ok, então se nós apenas comentarmos isso por um segundo, esta é a sintaxe, esta coisa aqui mesmo que cria a função. Assim, a função da palavra, os parênteses de nome e, em seguida, abrir e fechar colchetes. É assim que você cria uma função personalizada. E qualquer coisa que faça dentro daqui é a funcionalidade da sua função. Então esta função é bem simples. Tudo o que faz é ecoar a frase Ei, chefe. E então e uma vez que você tenha declarado esta função, então você pode chamá-la exatamente como você teria uma função PHP regular. Então isso está chamando essa função agora. E se você olhar para aqui, você vai ver quando nós chamamos esta função eco material, nós temos a nossa saída de Hey, chefe, isso ecoa que agora, quando se trata de nomes aqui, existem diferentes convenções de nomenclatura que estão lá fora. Você vai notar aqui que eu estou usando todas as letras minúsculas, e eu estou usando um sublinhado entre palavras. Isso é que eu chamaria isso de sintaxe WordPress. Então eu trabalho com WordPress o tempo todo, e esta é a convenção de nomenclatura que eles recomendam e usar quatro suas funções. Então é por isso que eu faço isso. Só ajuda a manter a consistência para mim. Você provavelmente vai correr um custo. Algo como isto, que é este nome de função tipo camelo. Então você também pode fazê-lo dessa maneira, se você preferir. Hum, você vai ver. Realmente? Veja que muito fora da comunidade WordPress, as pessoas fazendo isso dessa maneira. O que você preferir. Vou ficar com o que normalmente uso aqui. Ok,
então, mas no final do dia, apenas faça. Como você quer fazer isso? Não se envolva muito. Todos terão sua opinião sobre como isso deve ser feito. Faça do jeito que quiser e fique com ele. Apenas seja consistente em todo o seu código. Tudo bem? Então é assim que a sintaxe básica de criar uma função. A próxima coisa é, como você pode, como você provavelmente sabe, ter parâmetro. Então nós vimos isso com outras funções do PHP. Certo? Foi definido cookie. Passamos alguns parâmetros para definir o cookie com as informações que queríamos. Bem, quando você cria sua função, você também pode especificar parâmetros que precisam ser definidos com sua função e assim novamente, função o nome da função e, em seguida, entre parênteses. Agora você define quais os parâmetros para os parâmetros para isso serão e pode ser múltiplo. Se você quiser separar vários aqui, basta colocar uma vírgula e, em seguida, o próximo parâmetro você pode nos definir muitos como quiser Aqui, Hum e, em seguida, quando você tem esses definidos, você pode usá-los em seu código aqui, então note que estão referenciando a função que é definida como um parâmetro aqui na função real. Então o que isso vai fazer é se olharmos aqui embaixo sob meu nome para isso quando estamos chamando esta função, agora
podemos passar o nome que queremos saída. E assim você verá para cada um destes John, Jean Jeff nós chamando a mesma função antes de passar para diferentes proeminentes. Pegamos John, Jane e Jeff. Agora. Uma coisa a observar é que quando você faz isso, esses parâmetros se tornam necessários. Então, se nós chamarmos essa função exatamente como esta onde nós realmente não passar em um parâmetro e você vê, nós temos um parâmetro aqui, então eu e aqui eu temos erros desativados. Mas isso vai para LA vezes que vai causar um erro. Ok, então você tem que manter isso em mente quando você está trabalhando com a gente que se ele tem um parâmetro que é necessário e você tentar passar isso, então ele vai te dar erros, tudo bem, então Vamos em frente e nos livramos disso. Isso é adicionar argumentos agora você também pode, para seus argumentos, você pode ter valores padrão. Então, para aqui neste receptor de função de nome completo, definindo um primeiro nome de parâmetro e um parâmetro de duração. Mas estamos definindo o IVA estavam definindo um padrão para esses valores. Então eu estou definindo isso como igual a John no sobrenome igual a Morris. E então eu estou ecoando o primeiro nome, sobrenome e então você vai notar aqui embaixo. Eu não estou passando em nenhum parâmetro aqui, então ele vai usar esses padrões. Então John Morris e você poderão ver. E, na verdade, esse nome de variável está errado aqui. Bem, e salve isso para que você possa ver que quando esta saída vai usar os padrões que eu tenho aqui. Então você verá que ele usa John Morris bem aqui. Agora, se eu passar os parâmetros. Então, se eu fizer o nome completo, vamos fazer o John e a massa assim. Então esses parâmetros porque eu estou passando em parâmetros agora, aqueles ar indo dedo do pé substituir os padrões e você pode ver agora para o primeiro 1 eu recebo porque eu não estou passando nada, eu tenho John Morris ainda. Mas então eu recebo John Doe para o 2º 1 Então é permite que você crie funções que têm padrões, mas que podem ser substituídas agora. Nem todas as funções devem ter padrões, certo? Às vezes você tem que ter algo passado, e é assim que você deve deixar. Mas em alguns casos, eles podem ter padrões. E então quando você pode colocá-lo lá, quando faz sentido, você colocá-lo lá, mas é assim
que você colocá-los. E os padrões podem ser qualquer tipo de dados. Não tem que ser uma corda. Pode ser um número. Pode ser uma matriz. Pode ser todo tipo de coisas. Então foi assim que você definiu os argumentos completos? A última coisa, então, aqui são valores de retorno. Então, em todos esses até agora, temos apenas ecoado informações. Ah, muitas das funções. Você está certo, no entanto, não
vai realmente fazer isso porque eles serão o que eu chamo de funções auxiliares. Então vamos dizer que você tem uma espécie de função principal que está fazendo todo o trabalho duro de sua aplicação. É como o controlador que está executando as diferentes partes, o aplicativo. Nós não temos que escrever todo o seu código nessa função. Você pode juntar diferentes partes do que isso está fazendo para outras funções para manter seu código mais limpo, mais módulo, mais escalável, etc. E então quando você faz isso, essas funções menores em vez de ecoar informações, eles vão executar para retornar de volta para a outra função para que você possa chamar você pode chamar funções de dentro de outras funções. Então, quando você fizer isso, você deseja retornar dados novamente. Vamos entrar em tudo isso com mais detalhes. Eu não quero que você fique atolado com isso ainda, mas eu quero te dar uma idéia de onde você pode usar isso em particular. Então, novamente você pode retornar informações em vez de apenas sempre ecoar. E então aqui, o que estamos fazendo é que temos essa função de multiplicação. Temos um parâmetro chamado número e um parâmetro chamado multiplicador. Então nós vamos apenas multiplicar dois números e assim você pode ver que estamos fazendo número vezes multiplicador. Então é apenas uma simples função de multiplicação aqui, mas estamos retornando a informação aqui. Então, se eu correr, parece, multiplicar e vamos apenas fazer dois e 50. Nosso 45 teria funcionado 40. Isso é bom. Hum, então nós sabemos que isso vai ser igual a 80. Mas você notou este. Só estou ligando para a função. Não estou ecoando. Ok, então se atualizarmos isso, você vai notar que logo após o John Doe aqui, nós não estamos recebendo o número. 40 estavam recebendo 66 que é este. E isso é porque não estamos ecoando isso para ecoar isso, nós, na verdade, porque estamos voltando em nossa função, agora
temos que chamar Echo aqui para fazer eco. Então o que isso permite que você faça é então digamos que você só quer executar esta função e você não quer produzir nada ainda. Você só quer saber o que é. Assim, você pode definir o valor igual ao que essa função retornar. Ah, duas vezes 50 I. E agora você pode ter esse valor e usá-lo em outro lugar. sobre o resto do seu código veio. Então é isso que os valores retornados permitem que você faça. Você pode ver agora que adicionamos eco a essa multiplicação. Aqui nós obtemos o resultado de 88 e, em seguida, temos para o próximo. Chegamos a vezes 33 obtemos 66 então este multiplicar um este grande número vezes que o grande número nos
dá este valor aqui. Ok, então é isso que os valores de retorno permitem que você dialogue. Eles permitem que você execute algumas funcionalidades, mas apenas retorne as informações para que você possa usá-las mais tarde. Você não tem que ecoar logo ali. Tudo bem, então isso é trabalhar e escrever funções personalizadas. Isto é uma grande coisa. Esta é uma das principais coisas que você vai estar fazendo enquanto você constrói aplicativos PHP . Então, pratique um pouco com isso. Comece a escrever suas próprias funções e mexendo com ela. Ah, e fique confortável fazendo isso. Tudo bem. Obrigado por assistir. Falaremos no próximo vídeo
20. Âmbito: Bem-vindo de volta ao PHP 101 Esta lição nós vamos entrar no escopo. Então essa é uma das coisas que quando você começa a trabalhar com funções pode ser um
pouco frustrante e confuso, e então vamos falar sobre isso. Vou mantê-lo baixo a este nível. Quando você entra em algumas coisas mais avançadas, há outras coisas relacionadas ao escopo que você vai querer pensar. Mas eu quero que você pegue o tipo básico de conceito básico. E então nós vamos fazer isso apenas usando uma função simples aqui. Então a idéia de escopo realmente meio que se divide em dois tipos de escopo que você pode ter pelo
menos um esse nível, que é escopo global e escopo local. E assim isso lida com realmente dentro de uma função e fora da função. Então, quando abrimos uma tag PHP como esta e estamos apenas escrevendo algo aqui mesmo sem entrar em qualquer tipo de função ou classe ou algo assim,
isso é o que nós chamaríamos de escopo global. Está fora de todas as funções que podemos ter escrito em apenas este tipo de global ou aqui fora e então Ah, e então quando estamos dentro de uma função aqui, isso é realmente o que chamamos de escopo local, que é novamente apenas dentro da própria função. Então a razão pela qual você precisa saber isso é que há coisas que você pode ou não pode acessar, dependendo do escopo. E para mostrar a vocês que vocês veem, eu tenho essa variável e isso é chamado variável no escopo global. Estabeleceu-se muito alto. Eu sou global yo. E então temos essa variável dentro desta função chamada variável no escopo local. Então, ao trabalhar com variáveis como esta, você verá que estou ecoando ambos, o no escopo local e o no escopo global. Mas se olharmos para aqui, você verá que o Onley que está realmente sendo produzido é aquele que eu defini no escopo
local dentro da função. Então, por padrão, se você não fizer nada e eu mostrarei como manipular isso aqui em um minuto. Mas se você fizer isso como essas funções, você não tem acesso a variáveis no escopo global dentro de uma função. Ok, então eu não posso ecoar esta variável aqui fora como esta é agora porque eu não tenho acesso a ela , e funciona vice-versa. Então eu defini essa variável no escopo local aqui, e você vê, eu estou chamando a função e, em seguida, eu estou tentando ecoar a variável no escopo local aqui. E não é que eu não estou recebendo um segundo eco aqui fora. Tudo bem, então você não pode variáveis que estão definidas no escopo local que você não pode acessar dentro de uma função, que é escopo local e variáveis que são definidas qualquer escopo local que você não pode acessar fora
dessas funções em um escopo global. Certo, então é por isso que o escopo é importante. Você precisa saber onde você está definindo suas variáveis e o que você tem acesso. Agora, existem algumas maneiras de manipular isso. Então, se você quiser acessar uma variável que foi definida no escopo global, então você pode fazer o que é chamado de globalização. Então eu posso entrar aqui e eu posso escrever esta palavra-chave global e, em seguida, a variável que eu
quero acesso a partir do escopo global. Agora o que isso está dizendo é dizer PHP Look, há um conjunto de variáveis no escopo global chamado Este nome eu quero Oh, esse é o que eu quero acessar e usar em minha função aqui. Então, agora, se nós atualizarmos isso e deixe-me cinco apenas para ter certeza aqui você pode agora ver que nós estamos recebendo a saída aqui escopo global muito nascido porque nós globalizamos isso. Então você tem a opção de então fazer isso Ah, e e definir o escopo global para que você possa ter acesso a ele. Você também pode fazê-lo em sentido inverso. Então vamos dizer que eu quero ter acesso a isso fora da minha função para que eu possa primeiro
globalizá-lo . Então agora, mesmo que não esteja definido em um escopo global, o que eu estou fazendo é dizer ao PHP Ei, eu sou você sabe, eu vou criar essa variável, e eu quero que ela esteja disponível no escopo global aqui fora. Ok, então se nós atualizarmos isso, você verá que agora novamente, nós temos que Ah, isso disponível lá fora. Ok. Assim, você pode usar a palavra-chave global para lhe dar acesso a funções que já estão definidas
no escopo global que você deseja usar em sua função ou para tornar a função, tornar as variáveis que você cria dentro de uma função disponíveis fora do escopo global. Ok, então agora você quer ter certeza de que você é a razão e por que você está fazendo isso? Não. Você não quer dizer sempre tudo no âmbito global. Você deveria ter algum tipo de razão para estar fazendo isso. Então não globalize tudo. Mas se você quiser ser capaz de acessar coisas em diferentes âmbitos como este, a palavra-chave global é tipo de seu salvador em relação a esse respeito. Então novamente, voltar ao conceito de escopo fora de todas as funções é considerado
escopo global . Dentro de sua visão considerar local. Por padrão, você não tem acesso de ato a variáveis que foram definidas em um escopo diferente do que você está . Então, se você estiver em uma função, você não tem acesso a variáveis no escopo global e vice-versa. Mas você pode usar a palavra-chave global para obter acesso a variáveis sozinho no escopo global, dentro de uma função, ou para tornar as variáveis que você definiu em sua função disponíveis fora de sua função. Tudo bem, então espero que isso te dê uma boa cartilha no escopo. Isso é algo para ser novamente lidando à medida que você cria aplicativos. Hum, você sabe, se isso ainda é um pouco confuso. Eu só talvez apenas rebobinar e tipo de voltar através dele e escrever algum código junto com ele e mexer com ele e tentar coisas diferentes e vai começar a ficar claro para você. Tudo bem. Obrigado por assistir. Falaremos no próximo vídeo.
21. Constantes: Bem-vindo de volta ao PHP 101 Esta lição nós vamos ter em Constance. Assim, as constantes são uma maneira de definir variáveis de aspas que irão tipo de persistir ou estar disponíveis. Ah, em todos os tipos de escopos diferentes e assim por diante. Muitas vezes, o que você faz com Constance é criar um arquivo de configuração que você, em seguida, incluir em todos os seus outros arquivos PHP. E você pode usar essas Constance do que em seu código. E isso se torna útil se você tiver alguma coisa. Por exemplo, muitas vezes,
o que você vê são os detalhes do banco de dados Aziz, e assim você pode defini-los no arquivo de conflito. E então você pode usá-los em todas as suas funções sem ter que globalizar constantemente e assim por diante. E essa é uma das grandes coisas sobre Constance é que eles estão disponíveis
mais do que alcance global. Lá estão eles disponíveis. Todo o escopo, certo, então não estará disponível no espaço global. Estarão disponíveis no âmbito local. Hum, e então eles são fáceis de usar em muitos lugares diferentes. Agora, você não quer ficar louco com constantes e apenas definir tudo como uma constante porque há um monte de casos em que você só quer uma variável para ser local, mas coisas que você vai usar ah, muito sua aplicação e não há um número de lugares diferentes. Você não quer ter que globalizar constantemente que você pode definir isso como constantes. Certo? Então, para definir ou criar uma constante você usa a função PHP chamada define, modo que vai permitir que você defina uma constante e o primeiro parâmetro Aqui está o nome da constante, o que você quer que ela seja e como você quer referenciá-la. O segundo, então, é o valor dessa constante e o que você está vendo aqui. Esta primeira definição é o que é chamado de definição sensível a maiúsculas e minúsculas. Então, quando você define essa constante assim e é um tipo de padrão para capitalizar constantes, isso é algo que os desenvolvedores do PHP tendem a fazer. Quando você fizer isso e definir dessa maneira, então será sensível a maiúsculas e minúsculas quando você chamá-lo. Então você tem que usar o caso exato que você usou aqui Para cada caractere, o 2º 1 é uma maneira de definir constante que torna uma maiúsculas e minúsculas insensível. Então você percebe o que você faz. Basta adicionar um parâmetro 1/3 primer chamado
True, e isso fará com que a maiúsculas e minúsculas constante insensível. Agora posso dizer pela minha experiência, que praticamente nunca fiz isso em 10 11 anos. Nunca tive uma razão, na verdade. Definir uma constante é insensível a maiúsculas e minúsculas? Talvez exista lá fora, mas nunca foi algo que eu tenha feito pessoalmente. Mas é assim que você faz, no caso de você encontrar uma situação em que vamos algo que você precisa fazer para que esta última constante aqui seja realmente capaz de ser chamada em minúsculas ou qualquer tipo de caso. Não importa,
tudo bem, tudo bem, então é assim que você define uma constante apenas dado um nome e um valor e, em seguida, para
referenciá-los . Então você apenas ecoar ou imprimir ou ou chamar qualquer que seja essa constante o nome da constante então nome, nome, e você vai ver. Quando fazemos isso, ele sai o valor dessa constante. Então você verá aqui, este aqui, mesmo que ele tenha dito que é tudo maiúsculo aqui. Estamos chamando isso de minúsculas aqui. Nós ainda obtê-lo porque nós enviamos este é insensível a maiúsculas e minúsculas e você vai notar que esses ar nos escopos globais das constantes estão disponíveis no escopo global. Então, se saltarmos dentro de uma função, você notará que não estamos globalizando ou algo assim. E estamos chamando o nome Dot Último, você vai notar. Mesmo aqui estávamos misturando caso com isso e então estamos chamando essa função e estamos recebendo a saída aqui. Então, como você pode ver, constantes estão disponíveis novamente no escopo global e local. Então é isso que os torna úteis. Você não precisa estar constantemente globalizando e assim por diante. Você pode usá-los em suas diferentes funções e assim por diante, e eles são fáceis de definir. Você vê isso? Quero dizer, essa é uma função muito simples chamada lá para fazê-los acontecer. Então essa é a Constance. Obrigado por assistir. Conversaremos no próximo vídeo.
22. cURL: Bem-vindo de volta ao PHP 101 Esta lição que estamos começando a usar curl nesta uma
daquelas coisas que faz você começar a se sentir como um tipo de,
ah, ah, desenvolvedor
riel, mas também é uma ferramenta útil para permitir que você seja capaz de acessar dados através a Web em diferentes sites e assim por diante sem ser capaz de definir opções e assim por diante coisas como arquivo, obter conteúdo e alguns outros métodos são geralmente bastante limitados. No tipo de coisas que você poderia fazer. Curl abre um mundo totalmente novo. Então, nesta lição, nós vamos estar conversando, passando por um exemplo básico de usar curl tipo do mínimo que você precisa para
poder usá-lo. Então nós vamos estar passando por ah, pós exemplo, que é uma coisa comum onde você quer postar dados para Ah, você é l e obter alguma resposta de volta. E então vamos passar por um exemplo https e falar sobre alguns Gotsche está lá também, porque é uma coisa comum que você pode precisar fazer. Tudo bem,
Então, para começar, vamos começar com um exemplo básico curl Então primeiro, o que é Kerr irá enrolar permite essencialmente enviar solicitações. Você pode especificar u R l que você deseja enviar solicitações para e ele irá. Ele vai capturar a resposta de que você é l e ele vai trazer. Ele vai buscar e trazê-lo de volta para você em forma html e permitir que você Teoh. Em seguida, ser capaz de trabalhar com ele. Então, em nosso exemplo básico aqui nós podemos tipo de andar através e ver como isso funciona. Então, a primeira coisa que você precisa notificar você precisa iniciar inicializar curl para que tudo estamos fazendo é chamar isso de ocorrer. Curl nela função aqui e nós estamos configurando para a variável ch Let's. Essa é uma variável bastante comum usada com solicitações de curl. Geralmente significa alça de ondulação. Então nós estamos definindo essa variável Curlin ish isso Isso nos dá, ah, basicamente acesso para ser capaz de definir opções e obter nossa resposta e assim por diante usando este identificador. Certo, então
a partir daí, a segunda coisa que precisamos fazer é definir nossas opções. Então a primeira opção que você sempre vai querer essencialmente é o U R l que você vai estar enviando o pedido para Ok, então isso é praticamente sempre vai precisar estar lá para fazer isso. Vamos usar essa função PHP, curl, underscore, set, opt, e isso nos permitirá definir uma opção. Vamos especificar o identificador que acabamos de criar aparecem que queremos definir opções para agora. Isso vem a calhar quando você começa, você pode entrar em algumas coisas ou realmente complexas onde você faz solicitações de vários canais para que você possa realmente inicializar 234 canais diferentes aqui em cima, definir opções para diferentes e executar essas solicitações simultaneamente para que pode rebocar esse tipo de coisa maluca. Mas, ah, queremos especificar qual identificador aqui estava configurando essa opção para. Então, o identificador seguinte, a opção que estava configurando Agora, essas opções. Você sabe, há uma tonelada dessas e realmente tem aqui. Se olharmos para você pode apenas tipo de onda do Google, definir, optar. E se você rolar para baixo, verá uma lista completa das diferentes opções que você pode definir. Então, há apenas uma tonelada dessas aqui e você vai notar sobre a direita. Depois diz-te o que são e o que acontece se disseres o quê? E assim por diante. Então, obviamente, eu não vou passar por tudo isso. Você pode usar isso como uma documentação de referência quando precisar. Há algo específico que você quer ser capaz de fazer com uma solicitação de curl uma determinada opção que você deseja ser capaz de definir. Você pode vir aqui e verificar isso. Certo. Então aqui estamos apenas definindo a opção da U. R L. Esta é a garota para quem queremos enviar um pedido, e então nós estamos apenas especificando a garota tão simples. A próxima opção é aquela que provavelmente será aquela que você usa. Então isso é chamado de transferência Curl Opt Return. E estamos definindo isso também. Verdadeiro. E o que isso faz é que isso retornará o que voltar na resposta do U. R l na busca que enviamos. Se nós não definirmos isso do que o que a onda faz, é apenas automaticamente emiti-lo tantas vezes, você não quer isso. O que você quer fazer é capturar esse pedido e então você quer fazer algo com ele. Você quer trabalhar com ele de alguma forma. Então é isso que isto faz. Ele irá retornar que essa resposta para qualquer que seja a variável definir os quatro onda, executar para baixo air onda execs. Então, estamos definindo saída igual a curl exato aqui. O que isso faz é dizer ao Curl para devolvê-lo em vez de colocá-lo para esta variável. Muito bem, seguir é Curl, opt, cabeçalho. Portanto, isto é se deve incluir todo o cabeçalho na saída. Então todo o cabeçalho de resposta real que tem um monte de informações lá
dependendo se você precisa ou não acesso a isso, é quando você iria definir o então eu mostrei este aqui apenas porque é um que poderia tipo de ir de qualquer maneira. Algumas solicitações você pode precisar do cabeçalho de resposta e algumas solicitações que você pode não. Então é assim que você meio que especifica se você quer ou não. Então, apenas este curl, opt, sublinhado cabeçalho Aqui. Nós não definimos para falso na minha experiência, eu diria que na maioria das vezes eu tenho este conjunto para falso, Mas houve algumas exceções onde eu preciso de acesso à resposta lá. Certo? Então, a partir daí, então nós apenas executamos o pedido. Buscamos a resposta e verificamos erros. Então, como eu mencionei anteriormente, estamos definindo essa saída variável igual a esta função exata curl. E estamos a passar a nossa alça. Então, até este ponto, inicializamos curl, definimos algumas opções e aqui é onde realmente executamos a solicitação. E porque temos curl opt return transfer definido como true do que o que quer que volte do servidor, o U R L que especificamos vai ser definido como uma string para esta variável de saída. Então, a partir daí, nós apenas verificamos para ver a saída do pé fora. Foi falso? Agora, uma coisa a saber aqui é se o U. R L que você especificar não for encontrado, você vai realmente obter a página não encontrada desse site de volta. Ok, então isso é se você vai ter isso de volta. Isso significa que o que quer que você é l sua especificação não é encontrado. Pode ser um pouco confuso porque especialmente se você estiver fazendo como nós estamos fazendo aqui, que é imprimir a saída, você verá uma página não encontrada. Essa é a pequena página que as cargas serão parecidas e você está pensando, espere um segundo. Eu estava trabalhando com esta página, Sábio fora, disse não encontrado. O que ele realmente está fazendo é buscar o URL. É a URL errada. Então ele está pegando o 404 a página não encontrada para isso, retorná-lo e, em seguida, colocá-lo para o seu navegador Então ele faz com que pareça que sua página está recebendo o 44 quando é realmente o que você está solicitando aqui. Apenas um pouco você tem a prestar atenção à sua, mas vamos fazer uma verificação simples. Basta verificar se a saída é falsa. Se houve algum problema com o pedido,
se houve,
então vamos ecoar o ar para que possamos lidar com isso a partir daí. algum problema com o pedido,
se houve, se houve, Vamos fechar e liberar a alça, então se precisarmos usá-la de novo, agora é grátis e podemos usá-la. E então estamos imprimindo nossa saída aqui. Então, se você notar que acabamos de enviar são o URL que usamos foi google dot com. Então, se você olhar aqui em nossa impressão, nossa saída, esta é nossa página. Na verdade, estamos recebendo o tipo completo de página do Google Dot com aqui agora. Obviamente, alguns dos links para imagens e assim por diante não funcionam porque as garotas meio que ficam confusas. Mas você pode ver que isso é praticamente toda a página, aquela página html que você obteria se você fosse para o Google. Então esse é o tipo de coisa que Curl permite que você faça agora novamente, você pode ir para páginas da Web inteira como esta, ou o que muitas vezes é mais comum é que você pode enviar a solicitação para algum tipo de formulário que requer dados
postados ou um formulário de pesquisa que requer get Dad e retornará em array real, uh, formato, algo com que você pode trabalhar com PHP. Ou você pode enviá-lo para um arquivo XML e obter XML de volta que você pode então trabalhar com dentro de um PHP ou Jason. Você pode enviá-lo para algo que retorne ao Jason, e você pode trabalhar com isso. Então aqui eu estou apenas mostrando um exemplo base onde ele realmente vai e pegar toda a
página da Web , se é isso que você diz para dio, certo? Então é isso que Curl faz. Esse é um exemplo básico de usá-lo agora, provavelmente uma das coisas. Assim que você começar a mexer com cachos em sua mente que você quer fazer é você quer Oh, espere um segundo. Eu posso usar isso para enviar dados do post. Então vamos passar por um exemplo disso. Então, o primeiro passo aqui, eu apenas fiz algumas configurações básicas da primeira coisa é, eu estou especificando o URL que eu quero que isso, ah, para enviar isso para o URL que vamos definir aqui nesta opção para que eu queira enviar o pedido para Agora eu fiz uma página para nos mostrar esta saída para que possamos olhar para ele Esta página, Tudo isso faz é imprimi-lo apenas imprimir, imprime o que está na matriz post. Então é apenas fazer uma impressão são sobre os prós post super global. Então nós vamos enviar alguns dados usando o método post, e você vai ver que o que nós vamos obter de volta são os dados impressos que este este script faz para que eu vou mostrar-lhe que você pode consultar um formulário ou uma página que processar dados postais, e você pode realmente obter uma resposta de volta dele e, em seguida, fazer algo com essa resposta. Ok, então aqui está o euro. Agora, uma coisa para não. Se você baixar o código-fonte, eu vou levar isso. Esse você Earl está no meu servidor de desenvolvimento, e eu vou levar esse arquivo para baixo. Você vai ter este arquivo de saída incluído com o seu código-fonte, mas você precisa carregá-lo para o seu próprio servidor e, em seguida, especificar a garota para o seu servidor aqui porque eu vou tirar isso para baixo. Então, se você deixar isso assim, você vai ter ah, Page não encontrado, porque eu vou derrubá-lo. Eu não sou tão algo só para anotar lá. Tudo bem, então a próxima coisa ou configuração são nossos dados postais. Estes são os dados que estamos realmente indo para enviar Ah, através da taxa de curvatura do método post. Ok, então eu inventei algumas coisas. Nada disso é necessário. Tudo depende dos pagers que o enviam e do que ele pediu. Depois voltamos ao que já fizemos. Então, em seguida, inicializamos curl onde configuramos nossa alça ondulação. Em seguida, vamos definir algumas opções. Então esta é a garota que vamos enviar para a qual nós especificamos aparecer on-line 35 e então nós estamos transformando ondulação a opção de transferência de retorno para true. Estamos definindo agora algumas coisas novas aqui. Então, em seguida, vamos definir uma opção que diz que estamos fazendo um post. Então estamos fazendo um pedido de postagem. Então temos que dizer Curl que Então esta opção curl, opt, sublinhar Post, e estamos definidos como verdadeiro. E então precisamos contar. Quais são os dados estavam enviando ordem. Os campos estavam se submetendo. De que forma criou isso aqui nesta matriz de dados? Então agora nós definimos a opção curl, opt, sublinhar campos postais e passamos em nosso post na matriz aqui
muito, muito simples. Quando você olha pela primeira vez para a onda e vê todas essas coisas, pode ser um pouco confuso. Mas uma vez que você entra
nele, é como a maioria dos códigos. É realmente muito simples. Você só tem que saber quais opções usar e assim por diante, certo Então estamos passando nosso post para fora daqui, e então continuamos como fizemos antes. Vamos executar a solicitação e buscar resposta e verificar se há erros. Então a saída é igual a executivos curl, e estamos recebendo nossa resposta como uma string através desta variável de saída definida para que verificar a saída de mares está definida como false. Então foram em ecoar o erro. E então nós estamos fechando onda, e nós vamos imprimir nossa saída aqui e deixe-me voltar aqui e realmente comentar
este aqui fora. Tudo bem, então nós vamos descer aqui, e nós vamos imprimir a saída do que esta página sair para nós. , Lembrem-se, isto é apenas uma impressão que estamos a fazer nesta página. Então os dados que enviamos aqui vão apenas imprimi-los e enviá-los de volta para nós basicamente na crista. Então, quando nós reconstruímos esta página uma vez, você uma vez que você sincroniza aqui do que o que nós devemos obter de volta é o mesmo array que nós enviamos . Tudo bem, então vamos em frente e atualizá-lo e você pode ver que é exatamente o que temos. Nós obtemos esta matriz dos dados exatos que enviamos Agora, dependendo do que você está enviando isso para, você pode estar enviando para algum tipo de formulário que não apenas imprime de volta. Na verdade, processa. Dá-lhe algum tipo de resultado, talvez um formulário de pesquisa ou o que seja. Pode ser qualquer coisa para que você possa obter essa informação de volta. E então você poderia fazer algo com ele. Ou pode ser algo que cria uma resposta Jason ou muitas opções diferentes
lá fora , dependendo do que você quer. Uma consulta. Mas é assim que se faz em onda. Tudo bem, último exemplo, então, e vamos em frente e comentar que um fora, vamos em frente e incomum, este. Então, quando chegarmos lá
, estará pronto para nós. Tudo bem. Então, o último que está usando cachos https. Agora, quando passarmos por isso, você verá que tudo está igual, exceto pela garota que você passar. E eu vou falar sobre uma pegadinha. E por que estou passando por isso. Então estávamos inicializando a onda assim como nós fizemos. Estamos definindo. Nossas opções estavam especificando, você Earl voltou? Transferindo cabeçalho para configuração em zero. Este é exatamente como o exemplo básico. Nossa saída
, disse para enrolar exatamente. Estamos verificando erros, estamos fechando onda e estamos imprimindo nossa saída. Então é apenas como o exemplo básico. A diferença de Onley que você vai notar é que estamos enviando dois e h T P s. Você é L. E então, quando você faz isso, você pode ter alguns problemas. Se o seu servidor não está configurado corretamente para lidar com isso, então ele pode acabar que você obter algum tipo de ar. Agora, se você for olhar na Web para resolver esse ar, o que você vai encontrar com mais frequência é alguém dizendo para você usar curl, optar SSL, verificar Pierre e definindo como falso. O que isso essencialmente faz é desabilitar. As verificações SSL vieram de modo que pode ser arriscado porque pode permitir ataques de homem no meio . Então você tem que pensar um pouco sobre isso. Então, digamos, por exemplo, você é realmente o Google ou você está realmente limpando o google dot com e sua consulta ou envio de solicitação para barra de pesquisa, e você só quer obter a resposta de volta da pesquisa. E então você vai passar nesta consulta de pesquisa, e você só quer obter a resposta do Google de volta a partir disso. Nesse caso, se houver um homem no meio do ataque e alguém pegar essa informação, alguém está ouvindo sua vida na linha de quem quer que envie os dados e eles os recebem . Realmente não importa porque é uma pesquisa no Google. Qualquer um pode fazer exatamente a mesma pesquisa no Google, então é provável que não seja grande coisa. Certo, então nesse caso, só usando essa verificação SSL, Pierre provavelmente ficaria bem. Agora, por outro lado, se o site https para o qual você está enviando o pedido é, digamos, um banco, não, obviamente, isso não é algo que você vai ser capaz de fazer Aqui. Mas vamos apenas dizer que é algo sensível informação como ah, banco e você está recebendo informação privada vai. Agora, alguém usando um homem no meio ataque para obter a informação olhos um grande, grande problema. E então, nesse caso, usando essa verificação SSL, Pierre seria um grande,
grande problema, algo que você absolutamente não gostaria de digerir. Portanto, há uma maneira de contornar isso, e essencialmente a maneira de contornar isso é ter os certificados apropriados instalados e assim em , referenciados em seu servidor. Agora, isso está além do escopo do que estamos falando aqui porque estamos realmente mantendo o foco no PHP. E eu não quero que isso se torne uma coisa de três horas, mas eu incluí a garota que tem instruções no código fonte. Então você pode usar isso para obter acesso a essas instruções, mas eu vou clicar aqui e basicamente vou dar uma olhada nele. Então isto é um comentário. Isto é Isto também é frequentemente referenciado. Alguém vai entrar e dizer Use SSL, verificar Pierre, e então alguém vai entrar e referências comentários A Não não. Por isso quero dar-vos os dois lados quando e quando não o fizerem. Mas também quero mostrar a vocês como apontar para onde fazer isso. Então, basicamente, a idéia aqui, como se sua instalação do PHP não tivesse um atualizado. , Autoridade de
certificação, pacote de certificados
raiz. Ok, então eu sei que isso soa um pouco louco, mas se ele não tem o pacote de certificado apropriado instalado para você ser capaz de fazer esses tipos de h T P s solicitações. Em seguida, você pode baixar o do site curl e salvá-lo em seu servidor e, em seguida, em seu PHP, qualquer referência de arquivo foi o caminho para esse pacote de certificados. Então isso é essencialmente vai, como eu entendo vai dizer curl os certificados que ele deve confiar. Então, quando você faz esta solicitação https, ele vai verificar porque SSL verificar aparece indo para verificar se seu certificado é válido, e ele vai usar este arquivo aqui para saber quais certificados ele deve. Deve permitir essencialmente certo,
então essa é a maneira de lidar com isso da maneira correta. Deve permitir essencialmente certo, Se você estiver realmente fazendo a passagem de informações confidenciais, você não deseja ativar SSL, verificar, verificar. Parece falso. Você deseja deixar a verificação no lugar e, em seguida, ter o pacote de certificados apropriado instalado em seu servidor e referenciado para que as verificações possam ser feitas corretamente e você pode certificar-se de que você tem uma conexão SSL adequada. Ok, então essa é a maneira de lidar com solicitações https. Eu vou te dizer, na minha experiência, maioria das coisas onduladas que eu faço não envolve informações confidenciais para mim pessoalmente e então normalmente nos transformando para vender, Verificar parecer falso é apenas bom porque eu sou sair de algo que é um CPS, mas são os dados que seus dados do Google são. Há algo que qualquer um pode riff. Não há necessidade de ficar louco com isso. Se tivessem tido apenas um Http normal, eu teria feito dessa forma. Mas, por alguma razão, talvez esse site não o faça ou seja lá o que for. Ok, então quero ter certeza de que isso está claro. Então, com tudo o que disse, esse é o baixo e sujo em correr o pedido de curry. Há outras coisas que você pode fazer com Curl, obviamente, mas eu quero convidá-lo a investigar você mesmo. Eu não quero entrar em um tutorial de três horas fazendo curl, mas depois disso você deve ter uma idéia de como ele funciona e e ser capaz de fazer as coisas que você quer fazer dentro de Curl. Tudo bem, obrigado por assistir. Falaremos com o próximo vídeo
23. Obtenha os conteúdos do arquivo: Bem-vindo de volta, Praia P 101 Esta lição. Vamos entrar no arquivo, obter conteúdo. A razão pela qual eu queria fazer um tutorial ou vídeo sobre isso é porque você pode ser e ele faz uma coisa
muito semelhante para enrolar. Vai permitir que você consulte ou faça uma solicitação para uma UL externa e obtenha algum tipo de resposta de volta dela. E eu vou mostrar como você pode fazer isso onde você pode passar postagem de dados ou obter método, etc, e ser capaz de obter algum tipo de resposta. Então não é coisa muito, muito semelhante a enrolar. Mas você pode estar em uma situação em que cachos não instalados em seu servidor, você não é capaz de instalá-lo. E então você precisa fazer isso sem ser capaz de usar Curl. Então vamos mostrar-te como se faz isso. Certo? Então a primeira coisa que temos aqui começando com a Linha 6 é que temos alguma configuração. E então a primeira coisa que estamos especificando Aqui está apenas o U R L que queremos enviar a solicitação para agora você vai notar aqui eu estou usando o arquivo PHP de saída que tínhamos usado para o tutorial
curl. A lição de ondulação e a razão pela qual estou fazendo isso é para mostrar que os dois finalmente a resposta que você vai ter de volta de ambas as maneiras diferentes de fazer isso. Curl versus arquivo, obtenha conteúdo. O conteúdo é realmente o mesmo. É só uma maneira diferente de chegar lá, certo, então essa é a garota. Nós especificamos que aqui temos, estamos criando em uma matriz de dados aqui. Só estou passando alguns dados bobos, e não há nada de especial nisso. Estes são apenas os dados que, em última análise, queremos passar através da solicitação para a URL. Então, se você vai se lembrar da lição curl que nosso arquivo PHP ponto de saída apenas tudo o que ele faz é imprimir qualquer coisa que é postar qualquer dado que é postado para ele. Então, quando enviamos isso, o que devemos receber de volta como devemos apenas obter uma impressão fora da impressão são dos dados que
enviamos . Ok, então vamos verificar quando chegarmos lá. Right Next é realmente a maior parte disso, e isso é criar um raio de opções. E então a maneira de pensar sobre isso e há alguns detalhes mais finos nisso. E quando você ficar muito, muito super avançado, talvez possa voltar a isso. Mas está muito além do escopo do que estamos cobrindo aqui. Então, a maneira de pensar sobre isso é que realmente estamos configurando os dados que queremos
enviar para o Você está sobre como queremos enviá-lo tanto como quando você está criando um formulário e você vai especificar o tipo de formulário. Sabe, você pode fazer isso, especialmente se estiver carregando arquivos. Você tem um formulário multipart do que você precisa especificamente, ah especificar o tipo de forma que ele é, mas nós também vamos especificar o método e, em seguida, os dados que estamos enviando. E então é muito, muito parecido com como se você estivesse enviando um formulário, mas estamos fazendo tudo em código. Nós não temos um formulário que está sendo enviado, hum, quando estamos fazendo isso programaticamente aqui. Então é mesmo outra vez. Está enviando dados usando um Met, um método específico. Então, quando olhamos para esta matriz, temos esta matriz joalheiro opção e, em seguida, dentro dela. Nós temos este elemento http, e isso também é Narain que é isso que realmente tem em última análise nossas opções. Não, a razão é porque há outras coisas outras maneiras que você pode fazer pedidos além de apenas h T P. Então você tem essa opção de fazer isso? Mas solicitações http provavelmente serão a coisa mais comum que você faz. Então é isso que vamos cobrir aqui. Certo? Então estamos enviando um
pedido de A.C P. P. .
P. P. Estamos definindo nosso cabeçalho para você sabe, isso para mural codificado. Esta é realmente apenas a maneira padrão de fazer isso. Se você está fazendo algo com arquivos e querendo enviar arquivos e assim por diante, então você precisará fazer o formulário multipart exatamente como você faria quando você fez qualquer formulário que envolva arquivos. Você tem que fazer um formulário de várias partes. Ok, então, hum, este é realmente apenas o tipo padrão de tipo mime que você usaria aqui são Método é post, assim como você faria em normalmente fazer em algum tipo de forma. E, em seguida, este conteúdo é os dados reais que vamos enviar através da solicitação e assim foram construídos. Estávamos usando essa função chamada H T T B h T t p construir query, e estamos passando em nossos dados, Ray, o que essencialmente isso vai fazer é criar uma série de pares de valor chave, muito como você veria no u. R l parâmetro e essencialmente formato de como precisamos dele para que possamos enviá-lo em nosso pedido aqui. Ok, então tudo isso é realmente bem direto, na verdade, maioria das vezes para esses pedidos, isso vai realmente permanecer o mesmo. O que vai mudar é a sua matriz de dados aqui em cima e você é você é l Agora, novamente, você pode ter o cabeçalho aqui. Mude se você está fazendo, hum ah, forma
multiparte de bagunça de arquivos e assim por diante. Mas, na maior parte, isso provavelmente vai continuar o mesmo. Na verdade, são só essas coisas aqui que vão mudar a uarial que você está enviando e os dados que você está enviando, certo? Uma nota para não para fins de depuração,
você pode definir essa opção chamada Ignorar ares,
e você pode configurá-la como true. Uma nota para não para fins de depuração, você pode definir essa opção chamada Ignorar ares, E se você fizer isso, então o que vai acontecer é quando a resposta voltar, o PHP irá ignorar qualquer um dos erros que estavam na resposta. Normalmente, se houver algum tipo de erro, ele retornará Falso. E assim você não tem muito mais informações sobre por que era falso. Então, se você precisava de um bug que você pode ligar ignorar ares disse a verdade. E você vai realmente obter a resposta http completa de volta que você pode imprimir e olhar e ver o que realmente aconteceu e ter alguma idéia de por que esse pedido em particular voltou falso. Certo, então só uma nota lateral. Obviamente, quando você entrar em produção, você provavelmente vai querer desligá-lo. Então você não tem nenhuma estranheza aparecendo em você foi saída. Tudo bem, a próxima linha aqui é nós vamos criar o contexto do fluxo. Agora, isso pode ficar um pouco confuso. Quando você começa a falar sobre fluxos e você começa a falar sobre contextos, a maneira que eu gosto de pensar sobre isso é um fluxo é realmente quando você está passando dados para
frente e para trás, ok? E quando você está fazendo isso, você deseja criar um contexto para esse fluxo. Então o que isso significa é que você vai passar dados para a garota que especificamos, e você vai obter dados de volta e você vai ter alguns. Você vai ter alguns parâmetros ou algumas opções para o que você está enviando e o que você quer volta, e isso é tudo o que fizemos aqui em cima. Então parte do contexto que estamos enviando ou estamos usando para este fluxo é que
vamos usar o método post. Parte do contexto são os dados que foram enviados através do método post para o URL. Certo, então é quando estamos falando sobre o contexto do fluxo. Em um sentido básico, é
disso que estamos falando. Então, o que esta função faz é que basicamente leva nossa matriz de opções aparecer e cria o contexto de fluxo que precisamos. Ele cria o que precisamos para, em seguida, passar para o arquivo, obter conteúdo. Neste ponto, não
há muito para ser honesto com você. Eu quero anos e anos e anos sem nunca saber realmente oh estão tentando descobrir o que contextos de fluxo eram. Hum, não
é algo que quando você está aprendendo PHP pela primeira vez que você realmente precisa entrar em muito mais avançado, pode
haver algumas coisas que surgem e então você pode mergulhar nele. Mas só sei que isso essencialmente nos dá transforma nossa matriz de opções em que precisamos
passar para arquivo obter conteúdo aqui para que possamos realmente processar a solicitação aqui. E então essa é a próxima coisa que fazemos é processar a solicitação. Então estamos passando para arquivo obter conteúdo o u R L que queremos enviar o pedido para Ah, este falso é para incluir caminho. Então essa é uma opção. Quando se trata de arquivo, obtenha conteúdo. Tem a ver com se você deseja ou não usar o caminho de inclusão ou não. E então estamos passando em nosso contexto aqui, que acabamos de criar aqui, que é essencialmente passando em todas as nossas opções para que possamos, em seguida, consultar este seu enviar a solicitação para este u R l usando os métodos post, enviando os dados que queremos enviar um e obter uma resposta de volta. Certo? Então, vamos obter uma resposta de volta a partir disso, e então vamos verificar para ver se é falso. Se for falso, então nós vamos,
você sabe, você sabe, lidar com esses erros de alguma forma. Então você pode ter alguma maneira de lidar com erros diferentes que você pode ter de volta, hum, dependendo do que eles são e do que você está tentando fazer. Então você teria que lidar com isso aqui e depois aqui. Só estou imprimindo o resultado. Ok, então estamos apenas imprimindo o que temos de volta. Então agora, se você se lembra de nossa saída que o arquivo PHP, tudo o que ele faz é qualquer dado que é postado para ele, ele apenas imprime para fora. Então você pode ver aqui. Enviamos nossa solicitação, e enviamos esses dados aqui e você pode ver o que estamos recebendo de volta aqui. Estes dados são impressos? Portanto, esta solicitação está processando corretamente. Então o que você pode ver aqui é que agora, porque podemos postar dados para um determinado seu l e podemos especificar quais dados queremos
enviar . É muito parecido com o que falamos com curl, onde podemos então sair e podemos consultar diferentes meninas diferentes e assim por diante e
dados passados e obter informações deles e assim por diante. E nós podemos fazer tudo isso sem ter que ter curl realmente instalado aqui, então embutido diretamente no PHP com arquivo, obter conteúdo agora você pode estar perguntando Devo usar curl? Devo usar o arquivo? Obter conteúdo? Na maioria das vezes, eu uso Curl. , Do meu tipo de perspectiva,a onda parece ser um pouco mais flexível. Parece que o dedo do pé tem mais algumas opções que o tornam um pouco mais fácil? Trabalhar com o dedo do pé. E especialmente quando se trata de manuseio de ar e assim por diante. Hum e assim eu geralmente uso curl, mas eu sei que as pessoas que gostam de usar arquivo obter conteúdo. Hum, e então se você quiser ir por esse caminho, isso provavelmente é absolutamente bom. Então, eu, eu, pessoalmente, costumo usar curl mais do que arquivo. Obter conteúdo muitas vezes o que você vai encontrar se você olhar para aulas de solicitação ah, por exemplo. WordPress tem sua própria classe para lidar com cada T T P solicitações como este. Normalmente, o que você vai descobrir é que eles tentam usar curl primeiro. Se curl não estiver lá, ele usará um backup do arquivo obter conteúdo. E então pode haver outras coisas que eles tentam fazer para processar a solicitação . Normalmente, isso é o que vejo quando olho para isso é o que vejo quando olho para
qualquer tipo de classe que se destina a gerir. Solicitações Http ele vai tentar usar cachos. O cantão. Eles vão usar arquivos, obter conteúdo. Tudo bem, então isso vai bastar. É assim que se envia pedidos. Se você não tem acesso a curl, seja capaz de passar isso e fazer todas as coisas que você quer fazer. Obrigado por assistir. Conversaremos no próximo vídeo.
24. Como fazer o upload de arquivos no PHP: Bem-vindo de volta, PHP 101 Esta lição. Vamos fazer o upload de arquivos, então vamos analisar o básico de como fazê-lo. E então vamos falar sobre alguns dos problemas de segurança que você quer
prestar atenção e algumas das maneiras que você pode lidar com eles. Eu prefácio isso dizendo que muito disso considerará muito disso uma arte porque há muito diferente, especialmente quando se trata da parte de segurança dela. Há muitas maneiras diferentes de fazer isso. E se você viu cinco classes diferentes que fizeram isso, eles provavelmente fazem de cinco maneiras diferentes. Então vamos passar por algumas das noções básicas disso e mostrar-lhe as coisas sobre as pensar. Mas há algo que você vai adicionar a uma de suas aplicações. Esta definitivamente será uma das coisas que é sempre um tipo contínuo de coisa que você talvez esteja sempre preenchendo. Vamos um pouco Teoh sempre torná-lo um pouco mais seguro aqui e ali. Tudo bem. Por outro lado, quero mostrar-te umas coisas antes de entrarmos no código. Primeiro, eu tenho esta pasta aqui na minha pasta tutorial para PHP um a um e eu não upload pasta aqui. Agora você verá mais frescura para que você possa ver esta pasta está vazia agora. Então nós estamos realmente carregando um arquivo para ele. Então eu quero mostrar a vocês para começar que ele está vazio. A segunda coisa que eu quero mostrar é antes de fazermos isso uma das coisas se você está tendo problemas, tente fazer isso e você tem algum tipo de problema uploads de arquivos, talvez desativado. Então, a maneira que você pode verificar isso é que você pode criar um arquivo de informações PHP. Então você acabou de criar um arquivo PHP. Jogue a função PHP info e, em seguida, carregue essa página e ele lhe dará uma impressão como esta de tudo. Tudo de como a peça Peach configurou o que está habilitado desabilitado etcetera, e você poderia fazer uma pesquisa por arquivos sublinhados uploads, e ele vai dizer-lhe se ele está ligado ou não, que você
possa ver no meu caso ele está ligado. Então, estamos prontos para fazer uploads de arquivos. Os temores estão fora do que você. Você pode habilitá-lo em seu PHP dot qualquer arquivo. Então, basta verificar se você está correndo em algum problema em termos de
uploads de arquivos , tudo bem, então essas coisas fora do caminho que nós podemos entrar em realmente fazer upload de falta. Então eu vou ir em frente e mostrar-lhe isso trabalhando para alguns, apenas indo para clicar em escolher arquivo. Vou selecionar o ponto de captura de tela Pete PNG. Então os arquivos PNG lá um arquivo que é permitido por este script. Então vamos em frente, abrimos aqui. Você pode ver screenshot up PHP ou que P e G carregam aqui. Vou carregar ver
que temos uma resposta que diz que o seu ficheiro foi carregado. E então, se viermos aqui e trazer nossa pasta de uploads de volta aqui, você pode ver que agora temos captura de tela ponto PNG em nossa pasta aqui. Então temos nosso upload de arquivos funcionando, e isso é realmente o básico disso. É assim que funciona. Tudo bem, então o que temos acontecendo aqui? Então, primeiro lugar, em
primeiro lugar,
a primeira coisa que quero mostrar a vocês é fazer isso, a maior parte do código que eu deveria
ter até agora é processual, significa que não está dentro de uma função. É no local de uma aula. Hum, e eu fiz isso apenas para manter as coisas bem simples, porque eu realmente quero me concentrar na sintaxe. E quero me concentrar nos conceitos. Eu não quero chegar a dois confusos jogando isso em um monte de funções e
métodos de classe e assim por diante neste caso de clique particular, eu acho que é importante mostrar-lhe isso dentro de uma função, porque, no meu opinião, é apenas muito mais eficiente para fazê-lo desta forma. Dentro de uma função. Na verdade, é muito mais difícil, na minha opinião, na minha experiência dedo do pé para fazê-lo fora de uma função. E a razão é porque quando fazemos todas essas verificações aqui, você vai notar que, se houver
algum, qualquer ponto, tudo isso, se algo der errado, eu estou apenas voltando. Estou voltando para fora da função. Bem, você não pode fazer isso se você não está dentro de uma função. Não, você poderia fazer coisas como sair e morrer e assim por diante. Mas isso não é muito Ah, não
é uma experiência de usuário muito boa. Assim, a capacidade de retornar assim e parar de processar esse ponto dentro de uma função é uma maneira fácil de ter certeza de que podemos fazer todas essas verificações e ainda nos dar alguma maneira de exibir uma mensagem amigável do usuário. Tudo bem, então isso está dentro de uma função que você pode ver aqui em baixo. Temos arquivos super globais. Então, quando você carrega arquivos, é como uma postagem. Quando você envia um formulário e você tem post aqui, você tem um arquivo super global que você terá acesso. Isso vai ter o que está no que foi carregado e as informações sobre ele. Então todo o seu pai vai estar nesses arquivos. Ah, super global. Então, estamos verificando se os arquivos estão vazios ou não. Se não estiver vazio, então estamos executando nossa função de arquivo de upload, que é onde tudo é feito aqui. E estamos apenas ecoando porque já que estamos devolvendo esses depoimentos aqui, então estamos voltando. Seja qual for. Ecoando o que quer que seja que regresse, podemos mostrar a mensagem deles. Então é por isso que você vê aqui que seu arquivo foi carregado. Isso é o que você pode ver aqui. Se passarmos por tudo e for bem sucedido, é
isso que ficamos bem no fundo. Aqui temos uma forma bastante padrão. Há um casal realmente uma coisa para prestar atenção com isso, então nossa ação formulário está em branco. Então isso significa que ele vai re enviar este quando este para perder um botão golpe clique que
vai enviar este para esta mesma página, que é onde temos o nosso script de processamento. Se você quiser colocar o script em um arquivo diferente, você só precisa especificar a localização desse arquivo aqui. Estamos usando o método post, e então aqui esta é a coisa nova. Temos este tipo de gabinete E N C tipo e dados de formulário de barra múltipla para upload de arquivo. Tem que ser isso. Então você tem que ter certeza e colocar esta linha aqui. Se você não colocar esta linha aqui, então não vai funcionar. O upload do arquivo não funcionará, então certifique-se de colocar isso aí. É apenas uma forma simples. Então nós temos uma entrada, o tipo este arquivo. E isso é o que faz com que este arquivo escolha. As coisas aparecem aqui. O nome dele é arquivo, e então temos um botão padrão enviar. Então, novamente, realmente, forma
bastante padrão as duas únicas coisas dor, tensão para novamente ou este tipo de gabinete e, em seguida, definir a entrada para um tipo de arquivo que saibamos que iríamos carregar um arquivo aqui. Tudo bem, então com tudo o que disse, o que acontece quando enviarmos este formulário é verificar se os arquivos estão vazios ou não. Se não estiver vazio, então vamos processá-lo usando esta função de arquivo de upload aqui. E é isso que vamos passar a maior parte do nosso tempo passando por ela. Tudo bem, então para começar dentro desta função, primeiro você vai notar que os arquivos e postagens e obter tudo isso são Super Global. Então eles estarão disponíveis dentro dessas funções. Não temos que globalizá-los. Não temos dedo do pé para fazer nada. Você não passa por ele lá, apenas disponível, e podemos usá-los. Então a primeira coisa que vamos fazer é definir o nome temporário deste arquivo. Agora, a maneira de entender isso é realmente upload de arquivos acontecem em duas partes quando você clica no upload, mas em. A primeira coisa que acontece é que o arquivo é carregado para uma pasta temporária no servidor. Certo, e é isso que esse nome temporário é essencialmente. Isto está essencialmente a dar-nos onde está o ficheiro temporário. E então a razão pela qual eles fazem isso é o upload para a pasta temporária para que você possa então fazer alguma verificação e processamento e e olhar para esse arquivo antes de armazená-lo permanentemente. Assim que os botões clicarem nos arquivos enviados para uma pasta temporária e nós vamos fazer algumas verificações, e esse é o primeiro passo. E então o segundo passo é de todos os nossos cheques passarem, então vamos movê-lo para o depósito permanente. Tudo bem, então, novamente, isso só nos dá o nome do arquivo temporário que está na pasta temporária. Aqui temos o nosso directório de alvos. Então é aqui que, em última análise, são permanentes. O armazenamento será Lembre-se, esta é a nossa pasta de uploads aqui. Então nós só colocamos em uploads bem aqui. Então temos nosso arquivo alvo. Então, é aqui que vamos, em última análise, armazenar este arquivo permanentemente. Então temos o nosso directório de destino. Então, temos cargas. É para onde ele vai e, em seguida, nome baseado e, em seguida, arquivos, arquivo e nome. Ok, então quando você começar a trabalhar com arquivos, isso pode ser um pouco confuso, porque você tem nome, e então você tem nome temporário. Então, de novo, o nome é o quê? O nome do arquivo era quando ele foi carregado. Então, neste caso, screenshot dot ph PNG. O nome temporário é onde foi armazenado temporariamente. Ok, então você tem o arquivo real no e então você tem onde ele foi armazenado. Ok, então em nosso armazenamento permanente, queremos salvá-lo como o nome real que foi carregado novamente. Captura de tela ponto PNG. Então é por isso que o arquivo de destino está definido para nomear não tentador. Em seguida, temos nosso tamanho máximo de arquivo. E então isso é cinco milhões de bits, ou bytes, que são cinco megabytes. Você pode, é
claro, definir isso de acordo com o que preferir. Mas foi o que eu disse aqui. Tipos de arquivos permitidos. Então vamos fazer alguns tipos de arquivo verificando que eles estavam fazendo tipos de arquivos permitidos também estão fazendo tipos de imagem
permitidos, e você tem que verificá-los. Ah, duas maneiras diferentes. Então vamos definir isso separadamente. Então nós permitimos tipos de arquivo de ter uma matriz, e então o único que estamos permitindo é este. Pdf Então, estamos permitindo uploads de pdf. Nada mais. Nenhum zíper conhece Jason ou algo assim. Aqui temos permitido tipos de imagem em uma matriz e os tipos de imagem. Estas são essencialmente constantes. Ou, você sabe, essas imagens de ar tipo Constance. E por isso temos o Jif. Temos J peg um PNG, esses ar, os tipos de imagem que permitiriam ser carregados. Tudo bem, então essa é a nossa armadilha. Isso nos dá tudo o que precisamos. Então nós não temos um monte de código uma e outra vez enquanto passamos por isso. Então a primeira coisa que vamos fazer é verificar se é uma imagem. E se for um dos tipos de imagem permitidos, certo? Então, o que? A maneira como vamos fazer isso é que vamos usar obter tamanho da imagem e o que obter tamanho da imagem
vai fazer. É obviamente ah, veja o tamanho do arquivo, mas ele também vai retornar algumas informações sobre o arquivo e particularmente o que estamos interessados é vai nos dar que tipo de imagem ele é. Não, é importante que você faça isso dessa maneira porque se você olhar para os arquivos, ele irá dizer-lhe o que ele acha que o tipo de arquivo é, ou o tipo mime do arquivo que está sendo carregado é, mas que pode ser falsificado por hackers. Portanto, é importante que você realmente verifique explicitamente com obter tamanho de imagem. Ok, então vamos correr, obter o tamanho da imagem no nome temporário. Então este é o arquivo temporário em nossa pasta temporária. É isso que estamos verificando. Está ali antes de o remover para o armazenamento permanente. Então nós estamos executando isso nele, e salvar que é verificação de imagem e, em seguida, o quando esta imagem verificar o que você recebe de volta como uma matriz de dados sobre a imagem será
o primeiro, o primeiro elemento no índice zero no elemento no um índice. Eles vão ser a altura do que com ok, mas o no índice Os dois vai ser o tipo que é o tipo mime que é. Então é isso que vamos usar para compará-lo com o que permitimos. Então estamos correndo na matriz sobre isso, passando o que temos de volta. Obtenha o tamanho da imagem nos dois índices e executá-lo em relação aos tipos de imagem permitidos. Então isso vai verificar e ver se é um tipo de imagem permitido. Agora, se não for, se não for um desses tipos de imagem permitido, então não estamos bem feito porque precisamos toe também estavam permitindo uploads de PDF. Ou você pode permitir uploads de arquivos zip ou o que for, Jason. O arquivo carrega o que você quiser. Você pode adicionar isso aqui como quiser, mas precisamos executar essa verificação e ver se é um tipo de arquivo permitido. Então, para fazer isso, vamos usar essa função exata, que essencialmente nos permite tipo de como eu não quero muito simplificado demais, mas é como se você estivesse no terminal digitando, isso nos permite executar coisas no servidor. Neste caso particular, o que foram basicamente nós vamos estar fazendo essencialmente uma verificação Byeon Eri ou procurando marcadores
binários no arquivo que nos dizem que tipo de arquivo ele é, então provavelmente não é muito importante, importante chegar em profundidade sobre isso agora. Mas saiba que isso vai essencialmente dizer que tipo de mímica é. E assim, você vê, nós estamos passando em nome temporário e então este arquivo check-in quando você está em cima. Use isso nesta função exata como esta, ele vai para a saída deste sendo executado vai ser passado para esta verificação de arquivo. Ok, então ele vai verificar este nome temporário para ver que tipo mime ele é essencialmente, e ele vai rasgar retornar qualquer tipo MIME que é neste arquivo,
verificar variável aqui para que possamos então usá-lo. E isso é, na verdade, um array. Então, com isso, a verificação de arquivo é agora uma matriz, e no índice zero vai nos dizer o que mime digite ISS e então enfraquecer novamente. Basta correr na matriz sobre isso e passar. Verificá-lo em relação a tipos de arquivo permitidos. Então, neste caso, é apenas um pdf. E assim isso vai verificar e ver se o arquivo é um pdf. Então, se não é uma imagem e não é um pdf, então podemos retornar. Este tipo de arquivo não é permitido. Então eu posso te mostrar isso. Se formos escolher o arquivo, nós apenas escolhemos este arquivo Jason aqui, e tivemos aberto e upload. Você pode ver que nós temos este tipo de arquivo não é permitido, que é este ar aqui? Certo, então é isso que tudo isso faz. Então essa é a verificação de imagem ou realmente a verificação de arquivos aqui. A próxima coisa que precisamos olhar é verificar se a falta já existe em nossa
pasta de destino . Então, se temos captura de tela que PNG já nessa pasta do que maneira, não
queremos fazer upload do mesmo que não sabemos fazer upload sobre ele. Então, se eu vir aqui para escolher arquivo e você se lembra, eu já tenho rtf screenshot dot PNG aqui. Então, viemos aqui e tentamos recarregar isso. Então vamos apanhar um ar que pede desculpa. Esse arquivo já existe. Ok, agora, neste caso
em particular, eu estou mantendo as coisas simples e apenas dizendo, hey, desculpe que a queda já existe. Você, em seu manuseio, pode querer fazer isso um pouco diferente. Eu sei. Por exemplo, wordpress faz um conjunto pouco diferente de dizer que o fundador existe, ele vai upend algum tipo de número para o final dele. Então ele vai carregar o arquivo, mas ele vai nomeá-lo como captura de tela Dash um. E, em seguida, se um traço de captura de tela existe, vai nomeá-lo traço de tela para etcetera e ele vai continuar até que ele possa carregar o arquivo até que qualquer número que ele adicionar, o fim dele não existe. Então você pode fazer isso aqui. Agora, novamente, eu não quero ficar muito confuso e complexo para você, então estamos apenas mantendo as coisas simples e dizendo que sinto muito que aquele pai existe. Mas este é novamente um lugar onde você pode lidar com isso da maneira que você quiser. próxima verificação é verificar o tamanho do arquivo porque não queremos que alguém tente carregar um arquivo de três gigabytes. Provavelmente há algo de fada acontecendo lá, e nós não queremos um arquivo de três gigabytes no servidor deles de qualquer maneira, então você se lembra. Definimos o tamanho máximo do arquivo para cinco megabytes, então vamos verificar isso. Então nós vamos apenas executar o tamanho do arquivo temporário, o arquivo temporário em nossa pasta temporária. E se o tamanho do arquivo é maior que Max, tamanho do
arquivo, então vamos retornar. Desculpe. Esta queda é muito grande, bastante simples e direta. Assim que passarmos por tudo isso antes de irmos para o armazenamento de falta, há outras
coisas que você pode fazer aqui. Então, se você olhar, estamos verificando para ver os tipos de arquivos fazendo esse tipo de verificação de segurança que estamos verificando, o pai existe. Estamos verificando o tamanho do arquivo. Estamos fazendo algumas verificações aqui, e vamos fazer mais uma coisa depois de armazenarmos o arquivo para nos ajudar. Mas há uma série de coisas que você poderia fazer. Há também a verificação de vírus que você pode executar. Seu servidor suporta esse Ah, o que muitas vezes eles fazem. Então você conduz a verificação de vírus que está disponível dentro do PHP, o que geralmente não é muito difícil de fazer. Eu já vi pessoas recomendam quando se trata de imagens que você realmente tem a
biblioteca G d instalada. Você passa para a biblioteca G D e faz com que essa biblioteca essencialmente refaça a imagem para que se alguém tentar colocar um vírus em seu ah PHP no comentário dos comentários que poderiam ser adicionados aos arquivos ou eles tentem passar um arquivo de imagem, Mas na verdade é Ph. ou o que quer que você realmente enviar para você nunca carregue o arquivo real em si. Você sempre envia para o dedo do pé para ser processado. E então o quê? Você volta e, em última análise, armazenar não é o arquivo original que poderia ter sobre
coisas maliciosas nele você começa, você obtê-lo permaneceu. Então, Então, isso é outra coisa que você pode fazer aqui. Há uma série de coisas que você pode fazer aqui, mas você eu acho que você meio que entendeu a idéia. O que quer que te verifique numa corrida, você corre assim. E se eles não voltarem do jeito que você quer, você volta logo ali. Então ele pára. E a última coisa que você faz é armazenar o arquivo permanentemente, certo? Então é nisso que vamos entrar. E esta é a função em última análise que você está procurando para uploads de arquivos é mover
arquivo carregado . E assim, se você pode ver, é realmente muito simples. Vou mover arquivos carregados estavam usando o nome temporário. Esse é o nome do nosso arquivo TEP e, em seguida, o arquivo de destino, que é o lugar que queremos armazená-lo permanentemente. E então isso é tudo que você tem que passar para mover o arquivo carregado, e ele vai fazê-lo. Depois disso, estamos fazendo uma última coisa de segurança, que é que estamos alterando as permissões deste arquivo que acabamos de carregar para 0644 A razão pela qual fazemos isso é porque alguns dizem que alguém é capaz de entrar em um arquivo malicioso. Ter um 0644 ainda faz com que não seja executar ervas. Eu provavelmente ainda estava de alguma forma de contornar isso. Quero dizer, não sou um hacker, então não sei todas as maneiras diferentes que os hackers podem te atacar. por Épor
isso que muitas vezes são muito bem sucedidos, porque surgem coisas novas
todos os dias. Mas novamente, é apenas mais uma precaução de segurança. Faça com que não seja executar ervas. Então, mesmo que eles tenham esse arquivo PHP em seu servidor, um, pensamento convencional
padrão é que ele não pode ser executado. Eles ainda não podem usá-lo para direcionar seu site. Tudo bem, então se tudo isso passar, então retornaremos. Seu arquivo foi carregado, se não para eles está devolvendo este ar. Houve problemas durante o seu arquivo, certo? modo que é o nitty gritty de uploads de arquivos. Novamente, o par coisas mover arquivo carregado é a função que realmente armazena que permanentemente . Você quer definitivamente ter certeza de que você faz todas as verificações de segurança que você deseja fazer. E então, como eu disse antes, é um processo de duas partes. Europa, o baixo o arquivo em armazenamento temporário para que você possa olhar para ele e fazer todas as suas verificações. Uma vez que seus cheques todos passar, então você pode movê-lo para o armazenamento permanente, e agora você, se você quiser. Então, se você disser isso novamente algo como WordPress, onde você
carregá-lo, ele é carregado para o sistema de arquivos. Mas, em seguida, ele também salva o local no banco de dados para que ele possa exibir essas imagens mais tarde. Em algum momento, essa variável de arquivo de destino é o que você está procurando. Essa é a localização permanente do arquivo. Então é isso que você armazenaria em seu banco de dados. Tudo bem de novo, isso é carregar arquivos. Espero que tenha gostado. Falo com você na próxima vez
25. Crie um formulário de várias páginas usando as sessões no PHP: Bem-vindo de volta, PHP 101 Esta lição. Vou mostrar-lhe como construir um tipo de formulário de contato completo ou multi um formulário de página usando sessões que permite capturar dados ou manter dados intactos em várias páginas. Então, quando os usuários vão, se eles vão preencher alguns dados e, em seguida, voltar para uma página anterior, todos os seus dados ainda estarão lá para todas as suas páginas. Então deixe-me mostrar rapidamente como isso funciona. Então eu vou inserir algumas informações únicas aqui, então eu vou apenas fazer demo um, Demo e John Morse ponto com online e vamos selecionar Ir para o passo dois aqui. Agora, se eu clicar e voltar para casa, você vai notar que esta informação ainda está aqui. Estes não são abas. Este ar, páginas
totalmente novas. Você pode ver. Estou no PHP index dot aqui. Se eu for para o segundo passo, você pode ver aqui. Estou na página dois dot PHP. Então, estas formas sagradas, diferentes ou páginas diferentes. Então, se eu clicar nisso e, em seguida, vamos dizer voltar para a página dois, você vê, ele ainda está intacto. Se eu voltar para a página um ainda intacta quando você estiver trabalhando com formulários de várias páginas. Isso é
realmente, muito importante porque a coisa mais irritante para alguém que preencha um formulário é se ele tem que voltar e mudar algo para que eles percam todos os seus dados e, em particular, seus clientes, este vai ser algo que vai te separar e deixá-los meio feridos. Sobre como isso funciona e tornar isso um produto viável e que você poderia ser contratado para
construir para alguém. Sobre como isso funciona e tornar isso um produto viável e que você poderia ser contratado para Certo, assim que fizermos isso, podemos ir para o passo três. Vou inserir algumas informações aqui, então faça algo assim. E quando eu for para o passo quatro, ele vai fazer uma apresentação final sobre ele. Então, no último envio, então uma vez que tudo for bem sucedido com o banco de dados, nós realmente destruiremos a sessão e isso irá reassentar os dados para que agora, se eles voltarem para a página original, seu pai, Eu não estarei mais lá porque ele foi enviado. Então, se apertarmos o passo para aqui, você pode ver que está terminado. Sua submissão foi bem-sucedida em que as informações que enviamos estavam realmente mostrando volta. As informações que eles enviam número. Ela tinha isso duplo. Então, agora, se voltarmos para a primeira página, não
há nada lá, nada lá e nada lá. Eu também notei que quando eu enviar estes, eu não estou recebendo erros. Eu não estou recebendo erros de validação aqui novamente para um formulário de várias páginas que você vai ter os links acima do topo aqui como este. Você pode não ter esses, certo, mas se você vai, é especialmente importante que você não tenha ar de validação aqui. Realmente, você está validando seria feito naquela última página de submissão. É aí que você tipo de validar seus dados e certificar-se de que tudo o que você deseja é realmente enviado. Tudo bem, então eu imagino que olhando para isso, você sabe, você pode eu não tenho que explicar que isso é muito legal. E isso é algo que você definitivamente seria capaz de construir para clientes que estariam interessados. Quero dizer, você fala sobre algo como formas de Wufu, que eu meio que falei sobre o tempo todo. Isso é realmente o que eles fazem. Eles fazem formas de construção como esta muito simples e fácil. Bem, agora você tem o código base para fazer isso ou nós vamos passar por isso e, em seguida, apenas uma última coisa antes de entrarmos no código real, eu vou para a minha sequela aqui, e eu vou mostrar a você que os dados foram realmente enviado toe você trechos e, em seguida, vamos apenas fazer selecionar todas as formas MP de folhas, o nome da tabela, certo? E assim você pode ver aqui que o que eu enviei demonstração, John Morris on-line ponto com. Eu tomo acrobatas e atuo em qualquer lugar, colocando alguns. Vês? Então os dados que eu enviei, você pode ver que eles estão realmente aqui no banco de dados, e eles não teriam aparecido na página quatro do formulário que está sendo enviado porque eu não apenas mostrar os dados que estão na sessão. Eu realmente consultar o banco de dados para as últimas informações enviadas e exibi-lo de volta para eles. Então, quando você está depurando e mexendo com isso,
essa é uma maneira que você pode verificar o dividido. Os dados foram realmente enviados para o banco de dados. Tudo bem, então com isso tudo fora do caminho, que nós podemos tipo de mergulhar no código, e eu vou passar por isso, eu vou passar por isso realmente tipo de como ele foi construído. o Eoque eu acho faz sentido mais lógico. Então comece com o arquivo de conflito. Isto é muito fácil. É apenas o nome do banco de dados, o uso da senha e do host. Certo, então você substituiria qualquer informação do seu banco de dados aqui. Muito simples. Só algumas constantes. Eu vou realmente ir em frente e fechar isso em seguida. Nós temos a função. Então é aqui que muitas das nossas coisas vão ser feitas. Voltarei a isso, mas quero te dar uma visão geral de todo o código primeiro. Mas quero que percebas que a maior parte disto é só ajuda. Então temos em escapar função aqui. Nós temos, ah, função de
texto para nós temos uma função de verificação aqui para verificação. Se no item foi uma das caixas de seleção foi marcada ou não, temos uma entrada de texto. Então isso vai construir nossa caixa de seleção campo de entrada de texto. Quer enviar um? E então temos nossa função de banco de dados. Então conectando-se ao banco de dados, inserindo os dados e mostrando os resultados. Então, vamos percorrer tudo o que cada um deles faz, mas você pode ver a partir do
quadro maior esses ar realmente apenas funções auxiliares agora. A razão pela qual eu criei funções para taxed e caixa de seleção e enviar é porque quando você faz isso assim,
em seguida, ele permite que você, especialmente para um formulário de várias páginas, e permite que você crie consistência em todo o seu site em termos do seu código, porque em cada uma dessas páginas eu não sou. Não estou recriando o código HTML. Estou ligando só chamando esta função. Então, se eu quiser fazer mudanças quando você começar a entrar em formulários de reboque que têm, você sabe, centenas e centenas de campos ou potencialmente 30 ou 40 campos, você sabe, se você quiser fazer uma mudança em quem, como algo é exibido em todos os seus campos de texto, por exemplo, bem, você pode ter que entrar em quatro ou cinco páginas diferentes e editar Não 20 ou 30 campos de
texto diferentes que ficam um pouco complicados. Então eu coloquei em uma função para que seja consistente e fácil de atualizar, e novamente, é apenas uma outra versão do princípio de separação de preocupações que você provavelmente já ouviu falar bem, então Voltaremos a esta função 1. Mas a seguir é que temos template id isso para fora. Então temos um arquivo de cabeçalho e temos um arquivo de rodapé. Então, no cabeçalho, você pode ver isso é tudo apenas coisas padrão fora de estavam exigindo nosso
arquivo PHP ponto de conflito e estamos exigindo são funções arquivo no topo do Header. Então esta é a primeira coisa que vai ficar carregada. Nós estamos exigindo nesses dois arquivos porque aqueles vão usar aqueles em cada página e em
seguida, em nosso cabeçalho, você vai saber, notar que nós também estamos fazendo sessões iniciar. Isto tem de ser iniciado. E eu falei sobre isso na aula de sessões, mas isso tem que ser iniciado antes de qualquer saída. Então colocamos em um cabeçalho que colocamos no topo. Ele vai ser necessário em cada página do nosso formulário porque nós vamos estar armazenando sessão que ah, realmente o único que não é necessário é o primeiro 1 índice de ponto PHP, mas lembra vai começar a sessão lá para que possamos obter Está tudo indo. Obter a nossa sessão eu d começou assim novamente, tudo no topo do cabeçalho. Esta é realmente a coisa única aqui. Isso é apenas para relatórios de erros. Deixei isto na escuta de peles. Você realmente gostaria de excluir isso e se livrar dessas duas linhas para um local
de produção a partir daí. Isto é apenas o padrão H. Dimon. Eu sou o máximo possível vou me concentrar no PHP aqui porque nós poderíamos passar as próximas três horas juntos se quiséssemos passar todos os cheirando todo o CSS. O que eu vou dizer é que isso é apenas bootstrap. Ok, então isso é uma questão de fato. Este é bootstrap que é literalmente copiado de lá. Obter seção de início sobre em sua página. Ok, então eu não queria fazer nada super cliente louco. Eu só queria usar algo que fosse fácil e disponível lá fora. Então isso é bootstrap. É É é bootstrapped de sua seção inicial real sobre Get bootstrap
dot com. A única coisa que eu realmente fiz aqui foi remover a coisa da marca que mostra o logotipo aqui . Eu só não parecia necessário para mim, então eu me livrei dele. Eu centralizei isso que está no arquivo CSS. Se você quiser olhar através disso aqui novamente, eu não quero ficar atolado para baixo sem eu realmente quero me concentrar no PHP. Então esse é o nosso arquivo de cabeçalho ou mais arquivo é ainda mais simples. Estou apenas incluindo o bootstrap ou J Korean, o JavaScript bootstrap. Agora, eu não estou usando isso em nenhum lugar aqui, mas eu incluí aqui para que você possa ver onde você gostaria de incluir. E se você quiser usar algumas das coisas JavaScript do bootstrap em seu formulário do que você poderia fazer que fechamento tag body e fechando tags HTML tão simples. Este ar
realmente, muito fácil. A partir daí, entramos em nossas páginas de conteúdo real. Então, Então, vamos em frente. E eu acho que eu vou ter dedo do pé alternar árvore vista desde acidentalmente fechou que, mas em nosso ponto
índice PHP. Então, estas são as nossas páginas iniciais. A página em que estamos agora. Ok, nós estamos incluindo chefiando Ph. B. E nós estamos incluindo o PHP pés acima e esses arquivos na parte superior e na parte inferior. Então, novamente, tipo de modelo básico de tudo isso, uh, bem aqui novamente. Bootstrap. Então coluna de linha de contêiner. E então eu criei um recipiente personalizado aqui para que eu pudesse segmentar um pouco mais fácil chamado
recipiente de formulário e cada tag três para o cabeçalho aqui. E então este é o nosso formulário real, e você pode ver aqui eu estou ligando. É por isso que eu estava falando mais cedo. Em vez de criar o HTML para cada uma das minhas entradas de formulário. Estou chamando essa função de texto. Estou passando. Sabe, o nome desse campo de entrada em particular? O i d. O rótulo ah e o espaço reservado aqui do que o nome é e-mails, ideias, e-mail. A etiqueta é o seu endereço de e-mail. E, em seguida, digite seu endereço de e-mail é o espaço reservado. Você pode ver tudo isso, seu nome e em seu nome, seu endereço de e-mail. Tudo isso. Aqui, botão
Enviar, vá para a etapa dois. Ok. E novamente, vamos voltar para o arquivo de funções. Isso é que vamos gastar mais por um tempo. Mas quero te mostrar como tudo isso está pronto. Tudo bem, então a Página Dois é
realmente, muito semelhante novamente. Você vai notar tudo isso. Aqui está o bootstrap aqui em baixo. Entramos em ou funções, caixa de
seleção e enviar. Você vai notar para a caixa de seleção. Na verdade, estamos criando uma matriz das diferentes opções. Então, se formos para a página dois, isso é o que realmente mostra essas opções diferentes. Então, se você quisesse adicionar opções, você apenas adicionando item de matriz para que pudesse ser como, hum, em termos de interesse que você esporte, por exemplo. Bem, deixe essa atualização. Mas, novamente, isso irá adicioná-lo automaticamente a ele. Ele vai salvá-lo no banco de dados, como ele precisa ser salvo, etc. Você não precisa fazer mais nada para adicionar um interesse aqui além de adicioná-lo à matriz. Aqui as sessões serão cuidadas e assim por diante. Agora, isso é exclusivo para este interesse caixa de seleção aqui. Se você quiser adicionar, por exemplo, na página um Se você quiser adicionar uma entrada diferente aqui, então você precisa considerar isso em suas sessões organizadas assim por diante. Vou falar sobre como fazer isso daqui a pouco. Mas se formos para a página dois aqui, você pode até ver. Agora temos esportes. Ah, aqui. Está bem, está
bem. Então, novamente, estamos apenas chamando essas funções aqui em baixo o que você vai notar e o que é importante sobre como configurar este formulário para obtê-lo. Teoh toe hold informações de página em página é que lembre-se no cabeçalho que estamos começando a sessão. Portanto, a sessão já foi iniciada para esta página. Agora estamos verificando se Pope algum dado foi postado. Então, se alguma coisa foi postada da página um e estamos procurando o nome no e-mail, especificamente, aqueles foram postados. Vamos pegar essa informação, e vamos armazená-la como nome da sessão e e-mails da sessão, o valor do que foi enviado. Então isso é o que armazena de página em página é você colocá-lo em uma sessão aqui e agora ele estará lá de se você voltar e para você voltar 100 vezes nas páginas diferentes. Estará lá assim que estiver guardado nas sessões de lá. Até que essa sessão expire, não será destruído. Então é assim que se guarda informação da Peach Peach. É por isso que se você adicionar um campo para dizer aqui, você precisa ter em conta aqui. Para você ter um novo campo chamado endereço, por exemplo, você precisaria considerar isso na página dois para armazenar o que foi enviado da página um em decisão. Ok, então isso precisa coincidir com o que você tem na página um. para seus campos. Isso é, em última análise, o que é, certo? Então, se formos para a página três agora, você verá um padrão aqui novamente, incluindo cabeçalho e rodapé. Temos bootstrap que temos chamando são diferentes funções de funções que PHP para exibir as entradas. E então estamos armazenando interesses em uma sessão aqui. Então, todos eles são armazenados em em um único array chamado interesses. E isso é o que estamos armazenando na sessão. É por isso que só há um aqui. Ok, então obtê-lo é apenas ser uma loja que estes estavam sendo armazenados em um array em vez de como itens
individuais. Eu seria muito pesado, especialmente se você tem um monte desses, certo? Então, novamente, estamos apenas verificando se Post Post que foi enviado. Se foi, então estamos armazenando o que foi enviado da Página 2 e decisões. Você vai notar que não temos que repetir o que fizemos aqui porque isso já está na sessão. Já o temos disponível. Já está lá. Não temos de o salvar outra vez. Ok, é a coisa legal sobre as sessões, e se formos para a página quatro estamos pegando o que foi enviado da página três, que é o endereço da cidade do estado e, em seguida, nós estamos chamando nossa inserção de função, que na verdade vai inseri-lo no banco de dados. E nós estamos apenas passando em nossa sessão ou um então tudo o que agora foi armazenado em nossa sessão. Estamos passando para nossa função de inserção para enviá-lo para o banco de dados. Agora você vai notar que isso não é eu quero dizer, você poderia tecnicamente, quando eu era mais jovem, eu fiz isso. Infelizmente, quando esses dados são enviados na página um aqui para a página dois, você pode realmente simplesmente pegar os dados do Post aqui em vez de armazenar em uma sessão e
colocá-los em um campo oculto no formulário aqui embaixo. Assim, criando um novo campo oculto chamado nome e e-mail e ecoando as informações de
postagem da matriz de postagem para nome e e-mail para esse campo oculto para que ele irá reenviar para a próxima página. Eu já fiz isso. Eu já vi isso. Ah, eu não recomendo. É mais complicado precisa ser. Mas aqui com seções, não
temos que fazer nada disso. Então, novamente, esse é o valor das sessões. Então, novamente, estamos apenas passando em nossa matriz de sessão e, em seguida, aqui em baixo. Você vai notar que estamos verificando para ver, então estamos economizando. Vamos chegar a isso em nosso arquivo de funções quando falamos sobre isso, mas a função de inserção que ele retorna é se a inserção no banco de dados foi bem sucedida, ele retorna o I d. Isso foi cratera a idéia da estrada que foi criado para submetendo o status que ele retorna que se não acontecer, se isso não passar, então ele apenas retorna false. Então temos a idéia da informação que acabou de ser enviada armazenada nesta inserção i
d. Aqui. Então aqui estamos verificando para ver se isso foi dito se temos algo diferente de falso para inserir I d. Se fizermos, então vamos destruir a sessão. Ok, então é aqui que você poderia fazer um tratamento de ar mais avançado agora, eu não fiz isso aqui, mas é aqui que você poderia verificar se isso não passou. Então você poderia talvez exibir algo diferente ou exibir algum tipo de ar ou assim por diante. Mas se isso passar, então vamos destruir a sessão, e vamos ligar para mostrar resultados. Vamos passar nessa inserção. I D então mostrar resultados vai apenas voltar e consultar o banco de dados para os dados que acabamos enviar. Agora, a razão pela qual eu faço isso dessa maneira é para verificar se os dados foram realmente enviados. Então o que mostramos na etapa quatro são as coisas que estão na verdade no banco de dados. Ok, então se você vir essa informação,
você sabe, você sabe, ela foi enviada no banco de dados porque não teria sido capaz de consultá-la outra forma. Tudo bem. E então estamos apenas dizendo que sua submissão foi bem sucedida novamente. Ainda estamos dentro disto. Se declaração e, em seguida, eu apenas loop através. Se você se lembra da última página, só estava na lista ordenada. Eu apenas loop através e exibi-lo. apresento Uma coisa quando euapresentoos interesses que esses interesses se lembram, era uma matriz. Eu apenas un cereal ou eu serializei agora para o que você está fazendo. Esta talvez uma área onde você pode atualizar isso. Tudo bem, deixei as coisas abertas para você poder atualizar aqui,
porque no final, isso não é só sobre eu te dar o código. É você aprendendo todas as complexidades disso e, em seguida, começando a construir suas próprias coisas e torná-lo melhor e torná-lo seu próprio. Ok, mas eu quero te dar a fundação aqui. Então eu serializo a informação e apenas coloquei no banco de dados que pode ou não ser ideal. Normalmente não é ideal para o que você está procurando, porque quando esse serializado em é colocado em um banco de dados, você não pode consultar o banco de dados para esses dados. Ou, pelo menos, é mais difícil. Então você pode realmente querer criar uma tabela de interesse inteira e criar uma outra característica. O deleite. Isso interessa que o ar apresentado aqui de forma diferente dos outros dados e colocar essa informação para uma tabela diferente em anexá-lo através de relações, também. Os dados que foram enviados para a linha real para o resto dos dados. Ok, então você pode querer fazer isso melhor, mas eu apenas serializei isso Então aqui eu estou apenas verificando para ver se quando estamos fazendo loop através do que foi enviado para o banco de dados, eu estou verificando para ver se era o interesses, e se for, eu estou un serializando-o e, em seguida, implodindo-o para torná-lo exibido corretamente, ok, e então aqui em baixo. Só estou imprimindo. Certo, então essa é a visão geral de como tudo funciona. Hum, eu tinha estilizado no CSS lá. Nem sequer me incomodo em reabri-lo porque são apenas alguns dados básicos que mudaram a forma como isto parecia um pouco. Realmente quero se concentrar no PHP. Tudo bem, então todo o trabalho pesado é feito aqui, e assim podemos dar uma olhada nisso. Primeiro que estamos usando, nós criamos uma função que sublinham sublinhado, que é essencialmente uma função de escape. Então nós vamos passar, você passa em qualquer texto disso, e ele vai passar por cada equipe. Eu vou personagens especiais. Agora. Isso é importante. Porque digamos que alguém tente digitar algo assim para o nome, certo? Se nós Se nós não escapar isso,
em seguida, quando nós vamos saída para a página quando nós exibido no final, ele vai realmente executar o script Java. Então isso é o que é chamado de ataque de script entre sites. Então isso é justo em Oculus, certo? Este javascript não está fazendo muito, mas você pode imaginar alguém tentando hackear um site sendo capaz de inserir seu JavaScript no site de outra
pessoa. Eles poderiam tentar e fazer todos os tipos de várias coisas. Por isso, queremos ter a certeza de que explicamos isso. Esta função de fuga é o que o cara faz que passá-lo através de HTML. Caracteres especiais irão realmente escapar desses dados e certificar-se de que eles não atuam. O será armazenado no banco de dados que pode ser exibido. Bônus exibido. Usa essencialmente cada um para entidades masculinas, e por isso não vai funcionar. O script Java apenas exibirá o código bruto como se estivesse em tags pré ou tags de código. Então é isso que isto faz. Se fores ao YouTube, tenho um vídeo inteiro. Você pode simplesmente ghoul sua pesquisa como ataque de script de estado cruzado ou algo como seu cross-site scripting tem um tutorial inteiro onde você vai para isso. Muito bem, a próxima é esta função verificada. Então tudo isso vai fazer é verificar se o valor enviado está na matriz enviada e estamos usando isso aqui na área da caixa de seleção aqui para ver se a caixa de seleção
foi realmente marcada. modo que quando voltarmos, se verificarmos um destes e irmos para o passo três e voltarmos para o passo dois. Isso é o que verifica para ver se isso está realmente verificado. Ok, então nós passamos, você verá aqui, estamos passando em valor, e então estamos passando em interesse de sessão. Então, estamos verificando para ver se o valor de cada um desses valores foi armazenado em nossa matriz de interesses de
sessão. É o que isto está a fazer. E se assim for, então vamos ecoar para fora cheque, cócegas,
verificado, verificado, que faz com que isso se torne novamente verificado essencialmente quando a página recarrega. Muito bem, seguir é o nosso tipo de função de entrada de texto. E então isso é apenas criar o H duas milhas para nossas entradas de texto. Você pode ver que temos o nome da entrada, o i d. O rótulo, o espaço reservado e o tipo. Então você pode realmente usar isso para criar tipos diferentes, como um e-mail ou uma pesquisa, ou você está fora. Seja qual for. Você pode usar isso para criar tipos diferentes passando neste parâmetro de tipo aqui. Ok, então isso é realmente direto de novo. Isto é tudo bootstrap html. Você pode ver que tudo o que eu estou fazendo é ecoar o que a informação passada onde ela pertence neste HTML. Então rótulo para você passando que você colocar a idéia de entrada aqui. A etiqueta aqui. Que fita? É aqui. O nome, etc., etc. Então é só isso que estamos fazendo aqui? Uma coisa você vai notar. Além disso, eu estou usando uma vez Eri aqui para o valor nesta entrada de texto. Então eu estou verificando para ver se esta entrada está definida na sessão. Então, se há uma variável de sessão que tem qualquer nome que esta entrada está,
no caso desta, é chamado de nome No caso desta é chamada de e-mail. Se isso foi definido, se foi enviado e armazenado em uma sessão, então vamos em frente e vamos ecoar isso. Agora, você percebe bem, passando isso para nossa função de fuga. Ok, então nós queremos ter certeza e escapar,
mas estamos apenas ecoando essa informação. Isso é o que faz com que quando eu colocar algumas informações como esta e ir para o passo dois e depois voltar, esteja lá dentro. Isto é o que faz isso. Ok. Tudo bem. A seguir é a caixa de seleção novamente. É realmente muito semelhante ao leste à malícia de bootstrap, e estamos passando um nome I D rótulo e, em seguida, opções. E então nós estamos apenas usando esses dados aqui onde eles são apropriados. Então o rótulo em, em seguida, estamos percorrendo cada uma das opções e estamos criando nossa
caixa de seleção . Então caixa de seleção ou procriando nossa entrada, vamos sair o nome dele,
o valor e, em seguida, nossa função verificada, como eu mencionei anteriormente. Então é isso que cria as diferentes caixas de seleção aqui. Então é por isso que, já
que já contamos aqui, é por isso que, na página dois aqui, tudo o que você tem a fazer é adicionar ao array para adicionar um desses itens aqui porque que está fazendo loop a matriz de opções passadas. O que quer que tenha sido passado nestas opções já aqui. Então você coloca 100 deles lá, e nós vamos percorrer todos eles e exibir, e eles serão armazenados na sessão e assim por diante. Você não precisa se preocupar com isso com esta função específica. Em seguida, é a função de envio. Então, de novo, muito simples. É um botão. É um tipo de envio ou pat permitindo passar na classe, e estamos ecoando o valor para o nome que queríamos dizer aqui. O padrão é enviar, mas já passamos. Se formos a qualquer uma dessas páginas e vermos que estamos passando e vamos para o passo três e depois este, um, Rock. Whoa! A direita. Ótimas citações. Certo. Aspas aqui. Tudo bem, então essa é a função de envio agora, tipo de carne disso é então o material do banco de dados. Certo, então estamos nos conectando ao nosso banco de dados. Estamos criando uma nova conexão, chamando de con e conectando ao meu SQL. Eu conhecia tanto a minha escola. Eu estava passando em nosso banco de dados host usar seu passe e nome de nosso arquivo de conflito que
cobrimos anteriormente. Estamos verificando se a conexão foi feita. Se não fosse, então vamos em frente e acabar com o guião porque não podemos fazer nada. E então aqui vamos retornar nossa conexão para que possamos usá-la. Então isso é tudo bastante simples. Isso é apenas criar a conexão de banco de dados aqui. Na verdade, vamos inserir os dados. Então estamos transmitindo os dados para um array porque é isso que precisamos aqui. Estamos nos conectando ao nosso banco de dados. Estamos chamando nossa função de conexão. Para que possamos fazer isso. E então aqui estavam listando branco e convertendo nossas variáveis 22 ou convertendo nossos
dados de sessão que foram passados que em uma matriz em variável para que possamos usá-lo em nossas
declarações preparadas . Aqui embaixo, há várias maneiras que eu vi de fazer tipo de tudo isso de pegar dados que foram enviados em um array e transformá-los em algo que poderia ser usado em
declarações preparadas . Aqui. Eu escrevi algumas coisas. Isso é, mas eu queria ser muito detalhado sobre a maneira como isso funciona, porque, , francamente, este é um curso PHP 101. Então eu não quero que isso seja provavelmente ah, talvez um pouco rápido e medo para alguns de vocês. Então eu não quero que eu não queria escrever algo muito inteligente para mostrar, tentar mostrar o quão inteligente eu sou necessariamente. Eu queria escrever algo que você pudesse entender o que está acontecendo. E então, se você quer fazer suas próprias coisas inteligentes por todos os meios, vá em frente, certo? Então, uma vez
que nos conectamos, o que precisamos fazer é listar branco nossos dados e precisamos convertê-los em variáveis. Então, o que quero dizer com Lista Branca é que não queremos tomar nenhuma. Lembre-se de qualquer um, qualquer rei hacker envia perguntas para a página quatro do seu formulário aqui. Ok, eles podem sentar em seu computador. E assim como, você sabe, nós conversamos sobre a lição de ondulação, como você pode enviar pedidos postais para qualquer euro. Bem, alguém poderia sentar lá e fazer pedidos de enrolar como esse uma e outra vez e outra vez. E há outras ferramentas que permitem que você faça isso ainda mais fácil do que isso. Então você não pode presumir que quem quer que você esteja acessando seu banco de dados vai ser alguém que passou pelo processo que você definiu. Qualquer um pode fazer isso, e se não estiver configurado corretamente, eles podem hackear seu banco de dados tão branco. E então eles podem enviar,
você sabe, você sabe, eles recebem qualquer coisa que eles querem em termos de dados para o formulário. Queremos ter certeza de que só coletamos os dados que queremos. E assim queremos o nome, o interesse do e-mail, endereço da cidade no estado nesta configuração particular. Então, especificando a partir de nossa matriz de dados o que exatamente queremos e armazenando-o como variáveis e não fazendo nada mais com o resto da matriz foram branco listando que é construído em lista
branca para que eu pudesse enviar dados de postagem para essa página para que incluído algo como cão igual telhado direito e que ser um elemento na matriz. Bem, não
importa, porque vai ser descartado. Eu não estou usando isso. Eu não estou especificando aqui neste pedaço, então eu não vou usá-lo através do resto deste código, então ele seria apenas ignorado. Então isso é uma lista branca para ter certeza que você está em Lee recebendo os dados que você quer . E então nós estamos apenas convertendo eles em variáveis porque isso é o que estão comprando
função Pran aqui embaixo. Necessidades estão comprando método cram aqui em baixo necessidades é essas formas invariáveis, então nós apenas fazer tudo o que ele quer novamente. Já vi maneiras diferentes de as pessoas fazerem isso. Há outras maneiras de fazer isso. Escrevi de maneiras diferentes, mas esta é a maneira mais básica e simples e detalhada que você poderia fazer, e funciona muito bem. Não há nada de errado em fazer assim. Um, e muitas maneiras é provavelmente mais fácil de ler do que uma coisa chique que faz isso por você. Tudo bem, de lá. Como eu mencionei antes, Estou serializando a matriz de interesses porque você não pode armazenar na matriz na minha sequela. Então você tem que serializá-lo antes de colocá-lo lá. E isso é o que isso faz a seguir. Vamos então começar a inserir isso. Então a primeira coisa que vamos fazer é preparar uma declaração preparada para o criador para uma minha sequela, Curry, e então vamos vincular os parâmetros para isso. Então você pode ver a instrução é igual a nossa conexão,
nossa conexão de banco de dados
e, em seguida, este método de preparação. Então é isso que vai se preparar. Crie a instrução preparada. Então, estão preparados. Declaração é inserida em formulários MP e, em seguida, nome, e-mail, endereço de
interesse. Estado da cidade. Estes são os campos que queremos inserir. Então esses campos de seu banco de dados, o que quer que você tenha em seu banco de dados, isso é o que vai aqui para os valores que você percebe. Colocamos pontos de interrogação, e isso é de novo. Isso é o que as declarações preparadas estão agora no módulo três. Vou aprofundar muito a minha sequela. Então, se você ainda não está familiarizado com tudo
isso, tudo bem. Vamos chegar a ele. Mas eu queria te dar um pouco disso aqui para que você pudesse começar a se preparar para isso. Então você percebe que não estamos passando as variáveis que tínhamos aqui em cima porque nós
vamos usar paz de pêssego construída em declarações preparadas. Funcionalidade. Para seguir em frente, não
queremos inserir os dados brutos no banco de dados. Nós queremos basicamente olhar para ele primeiro e ter certeza de que não há nada louco lá dentro. Faça qualquer tipo de fuga e assim por diante agora com declarações preparadas. O que é bom sobre isso é que esta vontade, basicamente quero dizer, realmente não vejo isso mudando para o futuro previsível. O que muda no back-end para evitar ataques de injeção SQL. O que muda é a maneira como o próprio PHP olha para os dados que você vai inserir quando usar instruções preparadas. Você está realmente tipo de futuro provando seu código porque as mudanças, eles vão acontecer em um nível que não afeta seu código. Vai ser por baixo do caminho. PJ PHP essencialmente vincula e executa esta consulta. Então é assim que você prova o futuro e se certifica de que está seguro. Então, de qualquer maneira, é por isso que essas perguntas de ar não marcam nossos parâmetros reais de variáveis reais. Certo, Então que make cria são preparados declaração, e então aqui vamos vincular nossos parâmetros. Então, o que estamos essencialmente dizendo é que criamos são preparados uma declaração e estamos dizendo OK , então onde o primeiro ponto de interrogação está em nossa declaração preparada e pode estar em qualquer
lugar por aqui, mas, Mas é sempre com onde você o usa é onde há dados enviados pelo usuário. Então nossos campos de banco de dados, estes não são enviados pelo usuário. Não precisamos fazer declarações preparadas com essas coisas. O nome da nossa tabela que não é enviada pelo usuário. Não precisamos nos preocupar com isso. São coisas reais que foram enviadas na nossa forma. E então estamos dizendo onde este primeiro ponto de interrogação está, coloque a variável nome, ou o segundo 1 é, coloque a variável de e-mail onde o terceiro 1 é colocado interesse, quarto endereço, etc. Então o número que você tem aqui sabe lá. Seis precisa coincidir com o número que você tem aqui, e eles precisam estar em ordem de como você quer que ele apareça e eles precisam coincidir com os campos que eles vão entrar, porque o que essencialmente vai acontecer é que este nome Field vai ser colocado no lugar deste ponto de interrogação, que vai ser inserido neste campo de nome no seu banco de dados. Este e-mail vai ser colocado no lugar para o segundo ponto de interrogação, que não está indo para este campo de e-mail em seu banco de dados. Então tudo o que precisa estar em ordem, e então isso é apenas dizer ao PHP que tipo de dados este é para que você possa fazer estranho. Você pode perguntar seu d que é estranho ou dígito seu imager. Então, neste caso, este ar, tudo o que eu acho, Sim. Este ar, todas as cordas. É por isso que estão todos bem. Então isso diz ao PHP. Ok, estas eram todas strings e notas PHP. Ok. Eu preciso executar um certo ah, certo conjunto de cheques porque isso é transmitido o suficiente. Está ferido. Fora desses cheques são diferentes, mas tudo o que acontece no back-end, você não precisa fazer nada disso. E isso evitará ataques de injeção SQL para você. Ok, uma vez que tudo isso é feito, então nós podemos realmente executar o nosso método execute, que vai executar a consulta. Então isso é o que realmente vai executar a consulta, e nós vamos obter uma resposta de volta, que vai ser armazenado como inserir aqui. E então que palavra? O que estamos fazendo aqui é, então estamos verificando para ver se isso é verdadeiro ou falso, e então nós vamos para Se é verdade, esta inserção I d nesta conexão. Então nossa conexão era nossa conexão com o banco de dados. Esta propriedade inserir i D nos dará a última idéia enviada da última linha enviada
no banco de dados. Ok, então isso vai nos dar o que acabamos de enviar, e ele vai ser armazenado como esta idéia de inserção retornou para onde nós realmente executar esta inserção de
função, que nós fazemos na página quatro. Então é assim que a inserção que eu d é passada para aqui. Ok. Tudo bem. E então, é
claro, se não funcionar, vamos retornar False agora para mostrar os resultados. Você pode ver que o que estamos passando é a inserção. Eu d o quê? Acabamos de chegar aqui. Então vamos para a página quatro. Isso está executando nossa consulta se funcionou. O que estamos recebendo de volta é o i d da última linha enviada armazenada é inserir i d. Estamos verificando se a inserção I d não é falsa, não vazia. Essencialmente. E se não for, então aqui estamos usando,
estamos chamando resultados do show e estamos passando que eu d que nós temos e então
os resultados do show vai levar que i d e ele vai executar uma consulta e então ele vai se conectar a o banco de dados. E na verdade, isso deve ser D, mas vai se conectar ao banco de dados e então vamos preparar Bind novamente. Então agora foram são preparados declaração é selecionar o nome endereço de e-mail cidade e estado da tabela Formulários RMP onde o I d é igual a ponto de interrogação,
que, em seguida, vamos vincular com esta inserção i d a inserção i d. Acabamos de voltar de inserir os dados em nosso banco de dados e a razão pela qual eu mudei de STS porque as idéias inserir e na verdade é um em lesionado. Não é uma corda, então não sei por que nos coloquei lá antes, mas deveria ser D, que é o que é agora. Então estamos vinculando nossa palavra parâmetro executando nossa declaração. E agora este vai ser um pouco diferente porque nós realmente q
26. Como criar seu modelo de banco de e de objeto: De volta P um, ninguém nesta lição. Vamos entrar no banco de dados projetado. Quero fazer isso antes de entrarmos no código, porque você pode aprender todo o código e descobrir como fazer toda essa parte quando
se trata da minha sequela. Mas se você não tem uma boa idéia de como estruturar banco de dados, como colocar seu modelo de objeto juntos e realmente, a principal coisa que eu quero que você saia desta lição é um processo consistente para fazer isso com cada aplicativo que você construir. Se você não tem
isso, pode ser muito difícil construir um aplicativo realmente bom,
um aplicativo escalável e fácil trabalhar em um aplicativo de atualização porque essa estrutura tende a ficar no caminho e no caminho para realmente pensar sobre isso. E vou meter-me mais nisto à medida que passarmos. Mas realmente, você não deve começar com o código. Você realmente, seu modelo de objeto realmente determina seu modelo de dados ou sua estrutura de banco de dados,
que, em seguida, determina seu código e como você tem que escrevê-lo. Então você é o código é, na verdade, várias camadas abaixo da linha. Há algumas coisas que você precisa fazer antes disso. E uma vez que você faz isso, o código meio que tende a se corrigir. E muito rápido, uma história rápida. Este foi um dos grandes momentos para mim. Quando eu comecei a criar pela primeira vez tentando criar aplicativos. Eu não entendia os diferentes tipos de mesas e coisas que vamos falar aqui. E eu estava criando tabelas de objetos que onde eu teria talvez 30 colunas na tabela. E eu estava tentando colocar todas as informações relacionadas a um objeto em particular em uma tabela. E então, se você estiver trabalhando com um aplicativo de blog, por exemplo, quando você tem um registro de postagem, você pode tentar colocar categorias lá, e ele só começa a ficar realmente complicado tentando fazer tudo em uma mesa. E então eu comecei realmente a estudar WordPress para ver como ele era feito, porque uma das primeiras grandes aplicações que eu construí foi um CMS, e eu comecei a ver que esse tipo de estrutura e eu olhei para algumas outras. Comecei a notar um padrão de como eles eram feitos, e então eu olhei continuou indo para modelagem de objetos e modelagem de dados e, finalmente, meio que
descobrir como tudo isso se junta. Então eu queria te dar isso nesta lição, porque eu acho que eu sei que para mim foi um grande momento ah ha ha. Eu sei para você, especialmente se você é meio que um novo começo. Este poderia ser um momento ah ha ha para você também. E eu quero ajudá-lo a ser capaz de criar aplicativos lá. Escalável. Eles são flexíveis. Eles são fácil e divertido trabalho no dedo do pé em vez de ser essas grandes, coisas pesadas que você tem que lidar com. Certo, então por que esse tipo de coisa importa? Bem, a coisa a obter é que sua estrutura de banco de dados representa seu limite superior em termos de flexibilidade, escalabilidade ,
escopo , clareza, facilidade de atualização de seu suas estruturas de banco de dados. Sério, o que determina que não é seu código? Seu código flui de ambos o modelo de objeto em sua estrutura de banco de dados. Então, se você acertar sua estrutura de banco de dados, se você construir
quatro flexibilidade, quatro escalabilidade e todas essas coisas, então isso vai tornar sua vida um inferno de muito mais fácil E então essa é uma das razões pelas quais nós queremos para fazer isso. E como eu disse, mais modular e flexível sua estrutura de banco de dados for mais fácil será para você dimensionar seu aplicativo e ficar claro em seu modelo de dados. Sua estrutura de base de dados primeiro torna a escrita de seu código muito mais fácil. O código quase se escreve uma vez que você tem essas coisas no lugar porque você
meio que você vê como você precisa conectar tudo junto, e é o seu código que finalmente faz isso. E como eles novamente, como eu disse, seu código é realmente secundário para sua estrutura de banco de dados. Ah, esta a estrutura do seu banco de dados vai determinar como você vai ter que codificar o tipo de código que você terá. Então o que você quer fazer é tornar mais fácil para si mesmo e você quer desenvolver uma
estrutura de banco de dados que torne o código que você tem que escrever mais limpo, claro ,
mais eficiente, mantendo tudo ainda realmente flexível e escalável. Então vamos falar sobre seu modelo de objeto, talvez algo que você nunca tenha trabalhado ou tratado antes. Vamos falar sobre os três tipos diferentes de tabelas que você deve ter. Ah, e vamos falar sobre o seu modelo de dados e, realmente, o que eu quero que você obtenha de tudo isso é um processo consistente, passo a passo de mapeamento que você pode seguir para cada aplicativo que você construir. Assim, você pode passar por esse mesmo processo para cada aplicativo que você criar. Agora, como você faz isso, você vai começar a ver o que há padrões e assim você não tem necessário depois de repetir o trabalho. Mas isso lhe dá algo para confiar quando você começa a construir um aplicativo que talvez
seja novo para você. É um tipo diferente de aplicação. Você ainda tem um processo confiável que você pode trabalhar através. Tudo bem, então tudo começa com um modelo de objeto. Então, o que é um modelo de objeto? Bem, primeiro, considere que cada aplicativo que você construir será, em última análise, uma coleção de objetos que têm certas propriedades, podem executar certas ações e ter certas relações com outros objetos. Então, o modelo de objeto é o blueprint de seu aplicativo. São os objetos que você vai ter em seu aplicativo. São as propriedades. Esses objetos, eles vão ter. São as ações que esses objetos contêm e as relações entre esses objetos . Então, por exemplo, se você considerasse um aplicativo de blog agora, um aplicativo blawg
realmente simples provavelmente consistiria em,
digamos,
um objeto de digamos, usuário, um objeto post e um objeto de categoria. E o objeto de publicação pode ter as propriedades, o conteúdo do
título, o status
da data e assim por diante. Há obviamente Ton que você poderia adicionar o seu, mas esses são algum tipo de aqueles que o ar experimentado e verdadeiro que normalmente estará lá. E o objeto post pode ter relacionamentos com o objeto de categoria. Então você pode querer dizer que este post pertence a esta categoria ou está nesta categoria. Esse é um tipo de relacionamento que veio. E assim o objeto de usuário, como outro exemplo, pode ter propriedades as propriedades, nome de
usuário ,
senha ,
e-mail, etc e ser capaz de executar as ações criar post nele postar excluir, pose, exibir postagem. Você sabe, Creta criar edição, excluir categorias de visualização, todas essas coisas. Há muitas ações que o usuário finalmente poderia executar. O modelo de objeto é você colocando tudo isso para fora, você criando um tipo de mapa de exatamente quais objetos você vai ter quais as propriedades do ar. Os dados que você vai coletar em cada objeto, as ações que eles vão ser capazes de tomar nas relações que eles vão ter com qualquer outro objeto que você tem lá fora. Então, se fôssemos dar uma olhada nisso,
este é um exemplo de modelo de objeto. Então você pode ver no lado esquerdo que temos nossos três objetos diferentes. Temos pós usuário e categoria. E para postagem, temos o conteúdo do título das propriedades, esse tipo de status de data autor, e novamente, você pode continuar e continuar. Mas propriedades ar realmente significava ser coisas que são necessárias para esse objeto em particular, significa que eles têm que estar lá. Essa informação é necessária de cada um desses objetos que você cria. E você o inseriu explicitamente por algum tipo de usuário ou é gerado automaticamente. Então você precisa de um título. Você precisa de um conteúdo. Você pode dizer que precisa de um encontro. Ah, o status de é um rascunho? É publicado o tipo de objeto ID tipo de cartazes. Agora, este é um tipo de algo novamente único baseado na minha experiência wordpress, porque você realmente tem diferentes tipos de post no WordPress. Então você tem postagens. Mas você também tem páginas. Na verdade, são o mesmo objeto, mas são de um tipo diferente. Temos o autor aqui e assim por diante. Então, novamente, estas são todas as propriedades diferentes que você pode ter esse ar realmente necessário para este objeto para ser capaz, uma instância deste objeto disponível existe. Assim, em seu banco de dados, o registro para o para cada post individual exigiria que ele precisaria ter sido preenchido com cada um deles. Estes ah pedaço desses elementos de propriedade escrever um post em termos de ação. Um post pode realmente executar em ação. Ele tem ações executadas nele pelo usuário, então não há nenhuma. E então é possível que tenha relações com uma categoria. Se você estiver fazendo marcação, tem tags, há um argumento não para usuários. Você percebe que temos o autor e as propriedades Ah, área que você tecnicamente poderia criar. Vamos entrar nisso, mas tecnicamente você poderia criar uma tabela de relacionamento e fazer dessa forma. A maioria dos aplicativos que eu vi, entanto, realmente colocar o autor nas propriedades do post, então há algum espaço de manobra lá. Mas, novamente, você teria relacionamentos diferentes que seu post poderia ter com outros objetos. O objeto de usuário para que suas propriedades sejam log-in. Ou você poderia dizer que é o nome de usuário dele, a senha, o nome do e-mail novamente, você poderia adicionar a essa lista, se você quiser. Vai ser a principal coisa realizando ações, então ele vai ser capaz de criar postagem nele. Post elite pose view posts criar categorias nele, excluir categorias de exibição, todos os tipos de coisas que o usuário vai ser capaz de fazer. Então, a maior parte do maior pedaço para os usuários provavelmente vai ser o bloco de ações e, em seguida, relacionamentos que ele poderia ter. Poderia ter, ah, relacionamentos com o post, um, novamente, novamente, você pode criar uma tabela de relacionamentos ou você pode colocá-la nas propriedades reais de esse outro objeto. Quando você começa a ter um conjunto de relacionamento complexo Mork, isso é realmente quando você quer entrar em um relacionamento estável e vamos falar sobre, nós vamos falar sobre os três tipos diferentes de tabelas aqui em um segundo. Então, o objeto de categoria novamente. As propriedades que eu D nomeou slug e assim por diante. Não é possível executar nenhuma ação, e quase certamente terá relacionamentos com o objeto post. Ok, então, novamente, isso é realmente apenas um mapa de todos os diferentes objetos que você vai ter as propriedades que você vai coletar os dados aqui e coletar sobre cada um as ações que eles são vai ser capaz de executar e as relações que eles terão com outros objetos em seu modelo de objeto. Ok, então isso é importante tipo de layout para que você possa ir em frente e imprimir esta página em particular fora. Eu lhe dei uma espécie de grade simples aqui que você pode usar para tipo de anotar isso ou digitar ou como você quiser usá-lo. Ah, claro que você pode fazer o seu próprio. Você pode usar uma planilha do Excel sempre que estiver fazendo seu mapeamento. Mas, na verdade, essas são as principais coisas que você sabe e coloca antes do tempo antes começar a escrever qualquer código para que você tenha esse tipo de isso, você sabe, novo, Que objetos eu vou ter? Quais são as propriedades? Quais são as ações e quais são as relações? Este é novamente o tipo de blueprint do seu aplicativo. Tudo bem, então agora, uma vez que você tem isso, então você quer mapear essencialmente seu modelo de objeto em seu modelo de dados. Então, o que é um modelo de dados? O modelo de dados é o seu blueprint bruto do aplicativo no nível do banco de dados. Assim, ele lida com como os dados serão armazenados em seu banco de dados. Então, se o modelo de objeto é uma espécie de, ah é uma espécie de mapa de sua aplicação de Hey, este é o plano do que ele vai parecer como seu modelo de dados é realmente é É um mapa de seu banco de dados e foram, em última análise, esses dados que você vai ter que coletar com base em seu modelo de objeto vai ser armazenado. Então, essencialmente, você mapeia seu modelo de objeto para seu modelo de dados, detalhando onde as propriedades ,
o meta ,
as relações, tudo isso será armazenado. Assim, por exemplo, as propriedades de cada instância de seu objeto post podem ser armazenadas em uma tabela chamada usuários. Certo, então ganhe uma mesa chamada Post. Ah, isso faria sentido porque é onde todo o seu post que é e pode incluir coisas como conteúdo do título, D e status. Ele pode ter relacionamentos com os objetos de categoria toe armazenados em uma tabela chamada
categorias de postagem , e isso mostraria que X Y Z Post pertence a X y z. Ok, então isso nos leva a falar sobre os três tipos diferentes de tabelas que você
teria em qualquer tipo de estrutura de banco de dados, o 1º 1 é uma tabela de objetos, e isso vai armazenar todas as suas propriedades sobre um objeto específico. E esse vai ser realmente o nome do objeto. Então, neste caso, para o objeto post e talvez posts ou posts e o 2º 1 que você vai ter é um feito uma tabela. Então meta é dados opcionais sobre cada um de seus objetos. Então você pode ter uma meta tabela, e a razão por que isso é importante é porque ele ajuda a criar a primeira camada de flexibilidade . Ok, porque pode haver certeza de que pode haver certas instâncias de um objeto em particular. Então pode haver certas postagens, não
é? Então você tem 10 postagens no seu blog. Pode haver alguns desses posts que têm determinados dados e outros posts. Não faça se você de novo. Se você está familiarizado com WordPress e você olhar para ah, bom exemplo é de um plug. E, na verdade, se você olhar para uma palavra WordPress plug em WPS CEO ou Yoast Seo. O que ele permite que você faça é especificar uma palavra-chave focus. É um S e o Plug in que permite que você especifique uma palavra-chave SA focus e analisará seu título. Seu conteúdo de postagem , tudo, todos os dados que você inseriu irá irá analisá-lo e dar-lhe conselhos sobre como torná-lo
mais amigável. Bem, você não precisa inserir uma palavra-chave de foco em cada postagem. Você pode criar uma postagem sem inserir essa palavra-chave de foco. Então isso são dados opcionais. Enquanto você não pode realmente criar uma postagem sem um título, você pode. Mas ele vai apenas criar uma coisa que diz, como nenhum título, Hey, ou você realmente não pode ter um post sem conteúdo. Sim, ele permite que você faça isso, mas é apenas Ele ainda cria essa entrada e apenas deixe o espaço em branco. Ah, você não pode realmente tê-lo sem um encontro e assim por diante. Então, há alguns dados que realmente devem estar lá para cada título de objeto, conteúdo ,
data, etc, autor. E há alguns que são puramente opcionais. Realmente, pode ser que não tem que ser prefeito pode não ser o posto pode ou o objeto pode continuar sem ele. Isso é o que você coloca em uma mesa de metal. Então, novamente para um objeto que você pode ter postar e postar usuário meta tabela atendeu a uma categoria de tabela na categoria atendeu uma tabela aqui. Essas são todas as coisas que você pode ter dependendo do seu objeto. Você acha que vai ter esse tipo de dados para cada um de seus objetos? O terceiro tipo de tabela que é uma tabela de relacionamentos e a tabela de relacionamentos é como você vincula dois objetos diferentes juntos. Então é assim que se diz. É assim que você diz, Ok, este post pertence a esta categoria, e muitas vezes o único. Só há duas colunas nos relacionamentos. Objeto de tabela. Um objeto para i d. Um objeto para i d. e o que isso essencialmente vai permitir que você faça é que você vai ter o i d do seu posto. Ok, seu post i d. Então vamos gravar um post. Um está na primeira coluna e na segunda coluna você vai ter categoria I d. e então você teria você sabe, a idéia dessa categoria, que é uma. Então você teria um um e o que você teria um objeto i d categoria d. Então você teria um e um. Ou talvez você queira colocá-lo na segunda categoria que você criou. Então esse seria o número dois ou aquele com a ideia de dois. Você colocou um a nessa coluna e você realmente teria,
ah, ah, para o Post 1. Pode ter vários registros. Assim seria a primeira coluna. Você poderia ter os primeiros 3 registros ser um todos referenciando o post ID um. E então você teria categorias diferentes para cada uma das que você pode ter no primeiro registro, seria postar uma categoria um segundo registro,
ser postar uma categoria dois e, em seguida, o terceiro registro seria postar uma categoria três. Isso mostraria o que isso está dizendo a você é que esse post está em todas essas três
categorias Agora a razão de você fazer isso dessa maneira é simplesmente uma maneira muito mais flexível de gerenciar esse tipo de relacionamento porque ele não diz que tipo de Relacionamento que seja. O contexto do seu aplicativo faz isso. Além disso, já que você está se referindo a outro objeto, você tem um outro CATIC. Você tem uma outra tabela inteira para as categorias que você pode colocar um monte de
elementos de propriedade sobre essa categoria para que você possa armazenar uma tonelada de dados sobre cada uma dessas categorias. Se tentasse pegar, digamos que não quero fazer isso. Vou apenas dizer isso, sabe? Posto um,
vou colocar uma categoria crítica,
chamá-lo na minha mesa de correio,
certo,
e vou listar os nomes de cada categoria a que pertence. Posto um, vou colocar uma categoria crítica, chamá-lo na minha mesa de correio, certo, Bem, você teria que tentar empacotar todos os dados sobre essa categoria nisso. Ah, aquela coluna. Ou, você sabe, se você não quiser criar a tabela de relacionamentos, você poderia tecnicamente colocar uma coluna de uma categoria e colocar um 123 lá dentro. Digamos que está fazendo referência a estas categorias I ds e, em seguida, ter suas idéias de categoria Bem ,
mas ter sua tabela de relacionamentos torna para que você pode facilmente você não precisa. , Você não precisa puxar todo o registro do seu banco de dados para alterar as categorias ou mexer com essas coisas. Você tem uma tabela de relacionamentos simples, concisa e
eficiente que permite que você altere quais categorias algo pertence e gerencie e assim por diante. E é muito simples em muito mais flexível. Então esses são os três tipos de tabelas diferentes que você poderia ter, e todos eles vão para ajudá-lo a criar seu modelo de dados. Então, a fim de criar seu modelo de dados, então há realmente tipo de quatro etapas para ele. Primeiro, você deseja criar sua tabela de objetos, então crie uma tabela para cada objeto em seu modelo de objeto, seja lá o que for. Então, por exemplo, em nosso aplicativo de blog, você pode ter ah postar tabela de usuários ah e tabela de categorias A. Agora, se você quiser um prefixo pré-movimento, aqueles como WordPress não se sente livre para fazer isso, modo que seria WP post OBP usuários categorias WP. Então esse é o primeiro passo para cada objeto que você colocou para fora em seu objeto no seu modelo de
objeto. Criado tabela para ele e dentro dele,
em seguida, passo número dois é mapear as propriedades. Então, transforme as propriedades do objeto que você dispôs no modelo de objeto nas
colunas da tabela de objetos. Então, para um objeto de postagem, você teria uma tabela chamada posts, e as colunas nessa tabela seriam, então, conteúdo de título, status de
data, etc. Você também quer ter certeza de incluir um campo i d que auto incrementa e nós vamos mostrar que eu vou entrar em show nya tipo de como fazer tudo isso no código e assim por diante. Mas você quer criar um campo I D incrementos automáticos. Isso permite que você decretou um índice para que cada registro que é armazenado em seu banco de dados tenha em um número associado a ele. E essa é sua
identidade. identidade Então isso se torna importante quando você começa a usar as tabelas de relacionamentos e as
tabelas meta e assim por diante porque você estará constantemente referenciando que eu d a idéia do objeto que acontece que você está adicionando metáfora ou construindo um relacionamento para o certo. Então, novamente, mapeie essas propriedades nessa tabela. Passo número três que você quer criar fez uma tabela meta para cada objeto. Agora você pode analisar isso, você pode decidir se você precisa de uma tabela meta ou não. Alguns objetos podem não precisar de uma tabela meta. Pode não fazer sentido que haja esses dados opcionais adicionados a ele. Eu diria que a maioria dos casos ter uma meta table é provavelmente provavelmente vai acabar que você vai precisar de um. Você terá certos dados. Isso é apenas você quer ser capaz de adicionar a alguns e não outros e não ter que ser uma espécie de grande bagunça. OK, então crie sua tabela feita para cada objeto, e você sabe que isso vai permitir que você faça novamente. Isso daria a você a flexibilidade inicial para o aplicativo Etapa quatro e,
em seguida, criar seus relacionamentos. Então, para cada objeto, cada dois objetos, eles vão ter um relacionamento. Você precisa de uma tabela de relacionamentos. Então, por exemplo, se você vai ter postagens e você vai ter categorias, você precisa de uma tabela de relacionamentos apenas para esses dois. Esses dois objetos para que você tenha uma tabela de categorias post sublinhado se você vai ter tags e você não vai ficar todo louco como WordPress dúzia rastejar toda essa coisa de taxonomia para tentar esmagá-lo completamente. Você só vai ter Ah ah. Objeto Categorias em um objeto tags. Bem, você também precisa de um post sublinhado tags tabela de relacionamento para que você tenha um para publicações e categorias. Você teria um para postagens e etiquetas. Se houver outros objetos que tenham qualquer tipo de relacionamento que você precise
vincular e que você deseja que este objeto pertença a esse outro objeto, você precisará de uma tabela de relacionamentos para cada um desses relacionamentos. Ok, então crie esses relacionamentos, tabela. E então, como eu mencionei antes, você normalmente só vai ter duas colunas, você vai ter objeto, eu d um eu d e objeto para 80 e você vai apenas amarrar os dois juntos dessa forma. Agora é verdade que você poderia criar outras colunas que poderiam adicionar informações que descrevam o relacionamento em particular. Geralmente isso vem do contexto, cada aplicativo, seu código, você não precisa. Mas às vezes você pode precisar adicionar algumas informações que descrevam o relacionamento em si. Não necessariamente nenhum desses objetos. Qualquer uma dessas coisas deve ir sobre o objeto da tabela meta. Mas se você precisa fazer escriba, o relacionamento em particular. Em seguida, você pode adicionar outra coluna que irá. Em seguida, haveria alguma maneira de descrever esse relacionamento particular em cada instância desse relacionamento. Eu realmente só vi isso, eu acho que uma vez e foi no WordPress e tem a ver com seu termo taxonomia estabelecer a maneira que eles fazem isso, Hum, eu vi algumas coisas de carregamento automático e algumas outras aplicações e assim em diante, mas é muito raro. E em cada um desses casos em Lee, uma coluna extra foi adicionada. Não havia uma tonelada de colunas diferentes porque geralmente de novo, você não precisa do dedo do pé. Especifique uma tonelada de informações sobre o Você não precisa dizer muito sobre o fato de que este post está nesta categoria. É interessante ou não é agora. Não há uma tonelada de informação necessária para descrever sobre isso. Então, um exemplo de onde você pode fazer isso é que eu sei que no WordPress eu acho que isso é realmente vem de nós. Tesio. Eu tenho executado ambos há tanto tempo, eu nem sempre sei quem adicionou o quê, mas ah, você pode definir uma categoria primária para cada post que estaria em um exemplo de
informação extra que está descrevendo o relacionamento. Então, a relação de gado ou post um e categoria três você teria, Ah, você teria outra designação, outra coluna que marca isso como primário então eles realmente usá-lo para quando eles fazem. Yost o usa para quando eles fazem as migalhas de pão que eles adicionam automaticamente ao seu
site WordPress . E assim ele tem que escolher um como o principal, e esse é o que aparece nas migalhas de pão. Então você pode ter algo assim onde novamente você precisa de algo, aquela informação extra que descreve esse relacionamento em particular. Tudo bem, então é assim que você cria seu modelo de dados ah dot. Criar as tabelas de objeto mapear a criatura propriedades feitas de tabelas e os dados que
iria sobre eles e, em seguida, criar suas tabelas de relacionamentos. Tudo bem, então aqui está um exemplo de estrutura de banco de dados que você pode ver para que você tenha um posts, um meta post e um post categorias Tabelas Post é obviamente uma tabela de objetos. Postmodern meta table e, em seguida, post categorias é uma tabela de relacionamento amarrando post duas categorias,
em seguida, usuário e usuário meta,
e, em seguida, ele teria categorias e categoria meta. E isso é um exemplo de uma estrutura de banco de dados que você pode ver para um simples
aplicativo de blogs . Certo? Então, espero que isso lhe dê alguma noção de como criar um modelo de objeto e, em seguida, mapear isso para sua estrutura de banco de dados. Então você sabe exatamente como estabelecer sua base de dados. E isso é realmente meio infalível que não há. Ele faz a tomada de decisão não sentar para trás tentando dedo do pé. Oh, eu tenho que descobrir tudo isso eu tenho que adicionar você. Você pode sentar-se e, literalmente, mapear para fora. Isto é o que o meu aplicativo vai ter nele e, em seguida, que mapeia muito diretamente sobre a sua estrutura de banco de dados. E então, como você quer adicionar à sua aplicação, você percebe, OK, agora eu tenho Teoh. Eu vou criar. Vou adicionar este objecto em particular por qualquer razão. Bem, agora você sabe. Bem, eu posso mapear isso, e eu vou precisar de uma tabela de objetos para isso. Talvez precise de uma mesa de meta para isso. Quais são as outras relações que terá com outros objetos? Preciso de relacionamentos. Tabelas para cada um desses relacionamentos então Ah, novamente, ajuda apenas uma forma sistemática de fazer isso. Agora. Uma coisa a ter em mente com isso é se você novamente. Eu trabalho muito com o WordPress, então ele usa um exemplo. Mas se você olhar para sua estrutura de banco de dados, você vai ver isso. Você vai ver as postagens e meta do post e usuários e meta do usuário. Você verá que não verá categorias, verá termos que acalmam termos. Eles colocaram etiquetas e categorias e todas essas coisas em um e têm jeito de fazer isso. Mas como maior WordPress está em, foi complexo com antecedência, e todas as coisas que ele faz tem. Eu acho que são 11 tabelas, então são 11 tabelas que alimentam a coisa toda e novamente lá usar seu usuário, fez um post meta pensar que quatro deles são apenas para a maneira que eles fazem. Ah, termos e fazer categorias e tags e assim por diante porque é uma maneira um pouco diferente, mais complexa de fazê-lo. Mas então é realmente uma estrutura de banco de dados bastante simples e direta para o que é realmente um tipo de aplicativo complexo e avançado. Então, espero que isso ajude você se você ainda está um pouco claro, eu recomendo tipo de voltar através dele no vídeo e realmente seguindo junto com aquela folha que você imprimiu. Pense em um aplicativo que você pode querer construir e passar e realmente escrevê-lo. Isso vai te ajudar a colocar um pouco de carne nos ossos disso e realmente ter alguma experiência fazendo. Eu acho que uma vez que
você fizer isso, você terá uma visão muito clara do que você precisa fazer para criar uma estrutura de banco de dados escalável e
flexível que facilita a criação
,o crescimento e a escalabilidade , aplicação. Tudo bem, obrigado por assistir. Falamos com você da próxima vez.
27. Estrutura seu banco de dados no PHPMyAdmin: bem-vindo de volta ao PHP 101 Esta lição que vamos seguir a partir da primeira lição é falar sobre ou modelo de objeto em nossa estrutura de banco de dados. Nós vamos dar uma olhada em um banco de dados real real para tentar e ajudar a colocar um pouco mais de carne, dar-lhe um pouco mais de carne em termos de estrutura em seu banco de dados. E então eu vou falar sobre tipos de dados um pouco porque isso é uma das coisas que quando você está criando aplicativo, você começa a olhar para que tipos A e minha sequela e sempre necessariamente claro. E então eu quero dar a vocês algumas regras básicas sobre como usá-los e assim por diante e espero deixar isso um pouco claro. Então eu estou dentro de todo o banco de dados sem examinar aqui. Este é na verdade um banco de dados WordPress, e eu quero apenas passar por isso e ter você nota as semelhanças de algumas das coisas que falamos em menos de um. Então você percebe como eu mencionei
ali, há 11 tabelas que você tem aqui em uma palavra press. Isto é o que o WordPress vem com por padrão. Agora, plugins irá adicionar suas próprias tabelas. Então você pode ir para o seu ou alguém não vê um monte de mesas mais. Mas por padrão, isso é o que Wordpress vai ter. E se você olhar para essas mesas lá exatamente o que conversamos. Então temos comentários e comentários feitos um. temos posts e post meta. Temos termos. Ah, e nós temos usuário e usuário fez A e então temos algumas opções de links extras e, em seguida, para termos que você tem relações de termo e taxonomia de termo. Então, novamente, a base de tudo isso são as tabelas de objetos, os comentários comp, links de
tabela, opções, postagens, termos e usuários. Ok, esses ar, os objetos principais que você está trabalhando dentro do WordPress, as outras tabelas novamente que temos, como descrevemos nossas tabelas meta são dados opcionais sobre os diferentes usuários ou neste caso , comentários. Ou você pode ter se conhecido sobre o post assim por diante. Ok, então isso acrescenta mais. E então nós temos realmente aqui nós temos esta tabela de relacionamentos, que é o termo relações esta tabela de taxonomia. É apenas exclusivo para a maneira que o WordPress faz porque ele quebra categorias e tags e qualquer tipo de taxonomia personalizada que você pode criar tudo no reboque um. E assim, um, este tipo de ajuda a lidar com isso. Mas, novamente, temos apenas uma tabela de relacionamentos padrão no final do dia. Então, se clicarmos em um desses, eu clicarei em uma tabela de objetos. Então clique na tabela de postagem aqui e vamos realmente dar uma olhada na estrutura. Então você pode ver que nós temos aqui estão lista fora de propriedades. Essas seriam as propriedades que identificamos em nosso objeto, nosso modelo de objeto. Então, é claro que temos nossa
identidade. identidade Você vai notar que este auto incrementa o que é importante para que, se voltarmos a navegar , você verá para cada uma dessas postagens cada um desses registros Novo post que você criar, há uma ideia associada a ela, e ela tende a aumentar. Então, se ele está pulando assim 12 e depois vai dia, isso é provavelmente porque esse post foi excluído em algum momento. Eu fiz isso com essa excitação em particular em um ponto, mas você vê, ele continua incriminando, e assim cada instância de um objeto tem seu próprio eu d que você pode então referenciar enquanto você trabalha com ele. Então, se voltarmos para a estrutura, então você tem a data do autor do Post Ah, trecho do título do
conteúdo. Toda essa informação que os criadores premiaram a imprensa acharam que era algo que
todos eles eram muito, muito importantes. Eles precisavam ser incluídos na tabela de objetos real. Certo? Então, se seguirmos em frente, vamos postar um meta, então você pode ver que isso é um pouco diferente. Então você vai ter meta i d que é realmente assim novamente, você tem com post. Você tem isso. Você tem isso eu d que auto incrementa. Bem, você vai fazer isso com cada uma de suas mesas. Então post meta você vai ter um i d para cada meta pedaço de meta que você adicionar a um objeto. Então este não é o seu post i d. Este é na verdade o seu i d para esta tabela. Sua segunda coluna é o seu post I d. e então a terceira coluna é Médico E e, em seguida, encontrou um valor. E então o que isso permite que você faça é que você pode dizer para este post. Eu quero criar este pedaço ah de dados, este pedaço de metadados e eu quero que o valor seja este este meta valor. Então, se você olhar aqui, o que isso significa é que você pode realmente criar isso em tempo real. Você não precisa. Se você quiser adicionar um pedaço de dados sobre este post em particular, você não precisa entrar em seu banco de dados e, em seguida, criar uma nova coluna e atualizar todo o seu código e assim por diante. Você pode apenas inventar o nome, o nome que normalmente seria. O nome da coluna é esse nome e médico e, em seguida, o valor que normalmente seria o conteúdo na coluna. Este meta valor é aqui? Ok, então ele torna realmente flexível que você pode adicionar dados opcionais tipo de dados em tempo real para objetos que alguns podem ter alguns podem não ter em, e ele também permite uma das coisas que permite, particularmente com WordPress, é que permite ah permite que você crie plugins que você pode adicionar dados para os objetos que Aaron Wordpress sem ter que atualizar a estrutura de banco de dados e WordPress. E assim esta é uma das portas que o WordPress abriu cedo que permitiu que os
plugins se tornassem uma coisa tão grande dentro desse ecossistema. Esta é uma das maneiras de uma das coisas que isso meio que torna isso possível. Ok, então novamente, apenas fiz eu d o objeto i d Médico e valor meta. Ah, se você sabe, vamos comentar, meta você verá a mesma coisa. Conheci uma ideia comum. Agora estamos fazendo referência a um comentário médic e meta valor e sobre e sobre. Ok, então é assim que uma mesa meta se parece. E o último que temos é a tabela de relacionamentos. E como eu meio que mencionei que você tem seu objeto, eu d. Neste caso Ah, isso vai ser referenciar o post e então você tem taxonomia termo. Eu d. Então novamente isso Se você está fazendo uma maneira mais padrão de fazer isso, isso provavelmente seria como categoria I d. Agora que tem este termo ordem. Acho que isso tem algo a ver com categorias primárias versus não primárias, mas não tenho certeza de ser honesto com você. Eu realmente não sei exatamente onde eles usam esse termo ordem, mas um monte de tabelas de relacionamentos nem sequer tem essa terceira coluna. Você só tem sua idéia de objeto neste caso, pós-identificação
e então sua categoria querida aqui termo taxonomia I d. d. Isso é o que cria a relação. É isso que liga. Ah, é
isso que os une. Então, ah, é realmente assim tão simples. E agora você sabe que este post pertence a esta categoria particular e para que eu quero dizer que z
realmente tão simples? Você tem uma mesa de correio com todas as propriedades principais que você quer ter. Você tem uma tabela meta que cada uma dessas tabelas meta novamente. Está estruturado exatamente da mesma forma. O meta meta comentário meta meta do usuário. É tudo o que eu d objeto i d medic e meta valor. E então você tem sua tabela de relacionamentos, e estes são praticamente estruturados da mesma forma que você tem seu objeto. Um. I d objeto a i. D. Se você está amarrando post duas categorias seria post i d Categoria D. Se você está tentando usuários postar, seria usuário. I d post I d. Qualquer que seja a relação natureza do relacionamento é. Então é assim que você realmente isso é tipo de olhar para ele e realmente colocar um pouco de carne nos ossos ou a teoria que nós meio que falamos sobre em menos de um. Agora, além disso, como você vai realmente construir sua estrutura e eu vou até aqui para postagens WP, o que você inevitavelmente vai encontrar é que ao criar essas colunas, você tem esse tipo. Então você tem que tipo de definir algumas dessas configurações aqui. E assim essas declarações de tipo podem começar a ser um pouco complicadas e novamente será completamente transparente com você. Eu não estou necessariamente, hum eu estou mais no lado PHP disso. Eu não sou necessariamente algum meu nerd SQL que só sabe tudo sobre minha sequela. Sei o que preciso de saber para fazer o que tenho de fazer. Então, o que eu quero te dar é a maneira que eu penso sobre tudo isso, e eu não vou dizer isso. Como eu penso sobre isso é exatamente 100% a maneira perfeita de pensar sobre isso. É realmente apenas um modelo que eu uso que me ajuda a cortar atalho. Ah, o jeito que eu penso sobre isso. Ok, então quando você está pensando sobre meus tipos de dados de sequela para mim, há realmente um tipo de três em que eu penso. OK, então há tipos numéricos. Existem tipos de string e seus tipos de dia e tempo. E se você olhar aqui, acho que cada um desses é um desses. Ok, então, uh, números de
cordas e eles no tempo agora as coisas de data e hora. Eu não vou falar muito sobre aqui porque eu acho que é bastante auto-explicativo. E na verdade, se você olhar para um desses durante o dia, você pode ver que ele tem um formato para um D no tempo. Essencialmente, o que permite que você faça é que ele permite que você armazene isso na minha sequela de uma forma que minha sequela entenda que é uma hora de data. Então, em vez de apenas lançar um timestamp UNIX lá, você pode realmente armazená-lo como uma data e hora formatadas, e isso ajuda você a ordenar e pesquisar e todos os tipos de coisas diferentes. Então, se você vai ser colocado em data e datas e horas, você sabe, uma data hora em uma coluna deve ser uma data Hora, hum, formato. Então eu não vou gastar muito tempo com isso. Acho que isso é bastante auto-explicativo. Nós vamos entrar, você sabe, o código e outras coisas mais tarde, mas há realmente função data hora ou na minha sequência. Isso torna mais fácil para você pegar o que você tem em PHP e armazená-lo em minha sequela como um dia no tempo. Ok, então os dois que estavam mais preocupados com o nosso numérico e string. E então eu vou cobrir o numérico primeiro e uma das coisas que você vai notar que temos aqui grande em 20 e então nós descemos aqui um pouco mais. Temos 11 para que as pessoas tentem descobrir o que devo usar. E eles devem usar a Tia Grande Ah e assim por diante? E então qual é a diferença entre os dois? Bem, a diferença é o que parece óbvio, e esse é o tamanho do que ele pode armazenar. Então, por exemplo, e pode o valor da história de até 2,1 bilhões e grande e interpretar, ou um valor que é como 20 dígitos de comprimento? Eu nem sei o nome disso. E então a diferença é, é o que ele pode armazenar o quão grande de um número ele pode armazenar? Quão grande de um valor Aken loja Agora, você pode ser tentado a dizer, Bem, vamos apenas você se divertir com tudo. O problema com isso é que a tia é na verdade um quatro por gerente, e intolerante é um oito por gerente. E o que isso significa é que, se você está usando grande Int onde você não precisa, então você está acabando por estar mexendo com o seu desempenho. Ei, porque usá-lo em vez de grande e pode fazer uma redução significativa no espaço dis para que uma mudança sozinho, dependendo da sua configuração, poderia economizar 10 a 20% e mais especificamente, Se você está usando como uma chave primária, suas chaves estrangeiras e índices reduzindo-a poderia, uh, pode ser até 50%. E, claro, isso vai melhorar o desempenho. Então, como você determina? Acho que é uma grande pergunta. Como você determina que ele deve usar para garantir que eles usam grande e assim por diante? Você vai armazenar mais de 2,1 bilhões de linhas em sua tabela? Então, por exemplo, para isso eu d aqui. Você vai invadir ou de 2,1 bilhões de filas em sua mesa? A resposta é provavelmente não. E se for? Sim. Então você pode considerar que o que você gosta, o que quer que você está construindo, minha sequela pode não ser a melhor estrutura de banco de dados Teoh para ele. Ou, você sabe, se isso é ah, isso é algo que você vai estar fazendo você gostaria de mergulhar muito mais fortemente nisso, hum, que até eu seria capaz de levá-lo. Então é provável que você não esteja construindo algo com mais de 2,1 bilhões de registros. Agora você vê aqui WORDPRESS usa Big Tia para sua
identidade identidade Existe uma chance de que alguém site WordPress vai ter mais de 2,1 bilhões de registros? Bem, é possível. Eu acho que eles provavelmente fizeram isso apenas ah, porque você tem sites como, digamos, New York Times e alguns desses sites maiores que podem começar a chegar a algum ponto esse limite
superior. Eu não sei exatamente por que eles usam grande em vez disso, tia ,
mas eles decidiram, mas essa é a diferença é
quanto, em última análise, quanto desse espaço vai ocupar. E então, ah, usar o caminho certo para a situação certa vai ajudá-lo a economizar esse espaço e finalmente, ajudar com o seu desempenho. Eu acho que a maioria dos aplicativos que você vai construir, que seria suficiente poderia estar errado sobre isso. Mas esse seria o meu palpite. Ok, então essa é realmente a maior diferença entre e Tia Grande todos os diferentes tipos de
dados do imager que estão lá fora minúsculos. E tem a ver com a quantidade de espaço que finalmente vai ocupar. Então você só quer pensar sobre o que é para,
você sabe, por exemplo, este é
para o autor do post I. D. D.
Begin. Eles costumavam começar também. - Não. Uma coisa que as pessoas se confundem é que eles pensam que este 20 é algum tipo de limitador neste tipo de
dados. Não é. Só tem a ver com exibição com. Então, isso realmente não tem nada a ver com a quantidade de dados que podem ser armazenados nesse registro. Só tem a ver com exibição. Ok, então o pós pai é começar. Agora, este, se você vai ter este, começar, você tem que ter este começar. Porque se você acha que vai acabar em mais de 2,1 bilhões de postagens neste caso, então há uma chance de que acertar o pós pai poderia ser mais do que 2,1 bilhões. Ok, então esses são um tipo de,
ah, ah, amarrados juntos comentar Conde de novo. Se você acha que você pode ter que muitos posts, Bem, as chances são se você vai ter comentários que cada post Se ele tivesse um comentário, você estaria exatamente no mesmo limite. Muitos posts têm mais. É mais provável que você acerte esse número com a contagem de comentários. Então você realmente está com I D. Então, novamente, basta pensar sobre sua aplicação e decidir, ok, não
deve eu estar usando grande ele Eu deveria estar usando e assim por diante e novamente é Ah, ele pode história valor até 2,1 bilhões. Então você vai ter que mais de 2,1 bilhões de registros, para que você possa decidir isso. Então esse é o tipo de imager de tipos de dados dos tipos de dados numéricos. A outra é a corda um, então com isso. Estamos olhando para impostos longos. Bartsch são todos esses outros que vemos aqui. E então a diferença entre algo como texto, imposto
médio, texto
longo é o mesmo que o que era com os numéricos. É a quantidade de dados que a Aken armazena tanto tempo. O texto armazena mais dados do que o texto. Ah, um texto longo em palavra tempestade fora do texto médio mais do que texto, etc. Então, isso é outra vez. Você quer olhar para ele. Você notará aqui que eles estão usando texto para praticamente tudo, exceto para
conteúdo de postagem que tem texto longo. Isso vai fazer sentido? Porque há uma chance de que isso possa haver muitos dados aqui, então faz sentido que este seja longo. Título do texto. Um título só vai demorar muito. O trecho WordPress realmente corta até eu pensar, Bem, você pode colocá-lo manualmente. Mas as chances são que não vai ser tão longo quanto o conteúdo do post. Ok, então, novamente, isso é como você constrói seu aplicativo apenas passando por tomar essas decisões, e é fácil de ar do lado de todos apenas torná-lo maior assim que eu nunca passar por cima. Mas isso também vai ocupar mais espaço. Isso vai prejudicar o desempenho e assim por diante. Então você só quer pensar que através é que você está indo para ele através dele agora, uma das coisas que as pessoas que eu acho pedir muito para é qual é a diferença entre este texto de texto em texto longo Anvar Char Por que eu usaria var char em vez de texto ou Que seja? Então a diferença é que ah, texto e blob e todos os outros eles são armazenados fora da mesa e a tabela na verdade apenas tem um ponteiro para a localização das lojas reais para lembrar Este é um Este é um computador, Isto é um programa de computador. Assim, os dados, os dados reais no banco de dados para texto no blob são armazenados em um local diferente. Ele não está realmente armazenado nesta tabela. Tudo o que há na mesa. Você não vê isso através do PHP, meu administrador. Mas tudo o que realmente existe na tabela é um ponteiro para a localização do armazenamento real, enquanto que com Var char, ele é armazenado em linha com a tabela. Então o que isso significa é var char será mais rápido quando o tamanho dos dados que estão sendo armazenados é razoável. Então, se vai ser algo que é previsivelmente mais curto, ah, então var char provavelmente será mais rápido. Mas se você está olhando para algo que pode ser arbitrariamente longo, você não gosta de um conteúdo de postagem que você não conhece. Você não pode prever isso. Isso vai ser curto, certo? Então, se é algo que pode ser arbitrariamente longo, então ou você, você razoavelmente assume que será, então você gostaria de ir com um dos tipos de dados de texto. Então var char é usado apenas para coisas que são previsivelmente curtas. Então postar status? Bem, os usuários do WordPress sabem que há Onley. Eles determinam qual é o status que eles vão definir certo? Há apenas um pequeno rascunho publicado, acho privado, há um punhado de 45 Talvez sim. Eles sabem o que vão ser para que possam prever que vão ser curtos para
poderem usar cargas distantes. São comentários mais rápidos, status, mesma coisa. Estado de xixi. senha do post poderia razoavelmente presumir que provavelmente vai ser um pouco curta. Este é, eu acho que é na verdade a lesma que eles vão criar automaticamente, e ele vai ser ligado ao título para que eles possam tipo de prever que provavelmente vai ser um pouco mais curto. Ah, o G u i d. Novamente, eu prevejo que poderia ser um pouco mais curto tipo post. Só há tantos tipos de postagem. Há, você sabe, você pode criar tipos de postagem personalizados, mas ah, você vê este aqui, é post ou sua página ou o que quer que seja ISS, então eles sabem que é que eles podem prever. Provavelmente vai ser mais curto então eles vão usar o método mais rápido aqui novamente, não têm nada a ver com qualquer tipo de limite. Estes são todos sobre exibição, ok, então apenas ignore-os completamente. Então essa é a diferença entre algo como imposto var char, texto
médio, texto
longo. Então var char seria usado para coisas como talvez um nome de usuário ou um e-mail. Ah, país. Uma senha, etcetera texto seria usado para mensagens,
e-mails, comentários, comentários, ataques de
formato cada um para Mel. Texto médio pode ser para algo como, você sabe, se você tem um grande ah, você sabe algo em Jason que é realmente grande ou algo como um
livro curto a médio comprimento seria do tamanho de texto médio ou um assento . CS v corda. Texto longo não seria nenhum programa de livros didáticos. Realmente, realmente grande livro longo como lotes de conteúdo Agora, novamente, você pode olhar para WordPress em sua escolha de por que eles usaram o tipo de dados para as diferentes coisas e e talvez discordar, Certo? Então você pode pensar, Bem, por que o título do post precisa ser texto? Pode ser algo diferente ou, você sabe, o conteúdo pós-técnico precisa ser longo. O texto pode ser de texto médio. Ou, você sabe, há coisas que você pode olhar e dizer, bem, por que eles fazem assim. Em última análise, foi exatamente o que eles decidiram. E então, novamente, você tem que pensar isso através de si mesmo. Mas espero que dar algumas dessas informações o ajude a determinar a diferença e quais são as contradições entre elas. Você sabe, certificar-se de que você não conhece alguém quando ele está digitando seu título não atinge algum tipo de limite superior arbitrário de quanto tempo seu título pode ser contra. Ninguém nunca vai fazer isso. E se eu criasse um texto tão longo. A vida pós-título diz imposto longo. Eu vou estar desnecessariamente ocupando esse espaço que eu não quero. Então, esses ar esse ar tipo de troca com todas essas coisas diferentes ou com Bartsch são sim, é mais rápido. Mas se ele começa a ficar realmente grande do que Boggs que ele está em linha com o banco de dados para que
possamos começar a bloquear o banco de dados e acaba sendo realmente mais lento. Então, eu quero usar gráfico VAR aqui? Não usamos algo como texto ou algo assim? Tudo bem, então novamente, essa é a diferença é que espero que isso lhe dê alguma idéia de como estabelecer seu banco de dados. Então, novamente, quando se trata de voltar a colocar tudo isso para fora como falamos em menos de um , você tem seu post ou você tem suas tabelas de objetos. Você tem suas tabelas meta e você tem suas tabelas de relacionamentos. Você tem novamente exemplos de diferentes tipos de propriedades que você pode adicionar a uma de suas tabelas de
objetos. Eu mostrei a você como suas tabelas meta vão olhar como as tabelas de relacionamentos podem parecer, e então falamos sobre os diferentes tipos de dados que você pode usar aqui, Finalmente, algumas dessas outras coisas, você Sabe? Ah, atributos
de agrupamento Knoll padrão. Realmente? O único a quem eu pago uma tonelada de detenção é esta âncora automática Met One, que para o I D. é o que você precisa. Ok, hum, aqueles que vão permitir este. Então, sempre que você cria um novo registro, você não precisa contar. Que ideia é essa? Apenas auto. Quando você adiciona um novo registro em incrementos automáticos e adiciona aquela criatura que você no tipo automático de índice lá, então ah, nós vamos entrar em Maurin um pouco. Nós estamos realmente indo para entrar em algum código falando sobre dinamicamente mentalmente e dinamicamente, criando um tabelas em seu banco de dados e nós vamos eu vou tipo de mostrar que eu
vou pegar tudo que aprendemos nestes 1 st 2 lições, tipo de condense-lo para baixo em Aqui está o que eu dio E então eu acho que espero que vai lhe dar e uma imagem mais clara do que exatamente o que você vai precisar construir fazer para construir suas aplicações. Mas eu queria lhe dar toda essa informação, então é meio que há fundo, de modo que agora entramos em algum código, vai começar a fazer sentido e clicar para você. Então, obrigado por assistir. Falamos com a próxima vez.
28. Crie tabelas de dinamicamente no PHP: Bem-vindo de volta, PHP 101 Esta lição. Vamos entrar em algum código aqui e vamos falar sobre eu vou estar falando sobre criar tabelas dinamicamente. Nós meio que conversamos sobre modelagem de design de banco de dados que levei dentro do banco de dados falar sobre tipos de dados Mas na maioria das vezes, quando você realmente vai fazer é apenas criar tudo isso em código, e vai ser bem simples. Veio. Então eu vou mostrar que você vai trabalhar lado da minha sequela um pouco. Vou mostrar a vocês como se conectar e depois como Toe toe para criar algumas tabelas porque você vai precisar disso antes que você não poderia começar a fazer todas as coisas da multidão e declarações
preparadas e assim por diante dentro da minha sequela no PHP. Certo, então a primeira coisa que precisamos dar uma olhada é que precisamos dar uma olhada em nos
conectarmos ao nosso banco de dados tendo um banco de dados, as tabelas dentro e assim por diante. Então, para fazer isso, você pode usar PHP my admin, que muitos hosts têm que ter. Ah, PHP meu administrador. Ou você pode usar o terminal de torneios agora. Eu fiz um pouco com PHP meu administrador antes. Então agora vou usar o termo terminal no que estamos fazendo aqui. Ah, a primeira coisa que você vai precisar, no entanto, é que você vai precisar de suas credenciais para ser capaz de realmente trabalhar com a minha sequela. Então, se olharmos para essas credenciais aqui banco de dados, banco de dados de
usuário, senha e banco de dados host esses ar muitas vezes vai ser Estes estavam indo para vir de seu host. Vamos criar um banco de dados, e esse será o nome do seu banco de dados. Mas estes vão vir destes vai ser tipo de coisas padrão que ou você um usuário tem acesso a todos os seus bancos de dados ou o host que você usa toda vez que você cria um novo banco de dados que cria um novo usuário e assim por diante. Cada hospedeiro é um pouco diferente, então é um pouco difícil para mim mostrar exatamente como cada um é feito. Mas essas credenciais novamente, você geralmente vai obter do seu host. Agora vou te mostrar onde consigo o meu. Então este é um dos provedores de hospedagem que eu tenho. E se eu rolar para baixo, você pode ver que eu tenho essa coisa bem aqui. Este é o meu banco de dados de sequelas. Então, se eu entrar nele, isso me dá algumas opções. Primeiro, eu posso criar meus bancos de dados aqui, se eu quiser. Eu não preciso,
hum, hum, e do jeito que isso funciona, você sabe, para mim, se eu quando eu fizer o nome de usuário e senha e tiver criado eu vou realmente criar o banco de dados. Um novo usuário Dê todas as permissões e um faz tudo isso para você Aqui. Você também pode criar um usuário autônomo minha sequela, onde você criará seu próprio usuário. E então você pode manualmente, em código ou através do terminal, dar-lhe permissões e assim por diante. É um pouco mais avançado,
mas para mim, mas para mim, onde obtenho meu nome de usuário e senha, você verá um nome de usuário e uma senha. E eles estão aqui e depois para mim, acessando meu PHP, meu administrador. Na verdade, clique neste botão gerenciar que me leva ao PHP. Meu administrador me faz login. E é assim que eu acessá-lo neste host em particular. Agora, eu não estou preocupado com a senha porque já que terminamos aqui, eu vou excluir esse banco de dados. Mas você obviamente não quer compartilhar isso com ninguém. Ah, que isso poderia ter acesso e assim por diante. Mas novamente, se você está procurando isso aqui do que aqui está o seu nome de usuário e senha, se você estiver usando um ambiente de host local a maior parte
do tempo, o usuário como root e a senha em branco vai isso é o que vai ser porque é um tipo de host local configurado se você estiver entrando em outra coisa. Como se eu tivesse usado nitroso no passado, na verdade, já não existisse. estou verdade, Na
verdade,estouusando o Cloud 9. Agora são todos um pouco diferentes. Não posso dizer exatamente onde isso vai ser,
mas você vai conseguir isso em algum lugar do seu anfitrião. Sua candidatura, que seja. Tudo bem, então novamente que sua senha de nome de usuário seu host de banco de dados será quase sempre host local. O único que eu já vi isso não ser assim foi ir, papai, ir. Papai vai te dar e acho que é um endereço IP. Então, novamente, você só dependendo do que você está usando, você tem que tipo de descobrir que parte dele fora de lá. Eu fui em frente e coloquei este PHP. Um é o nome do banco de dados que ainda não criei. Mas vamos criar aqui em um segundo. E então podemos dar uma olhada no que está acontecendo aqui. Certo? Então eu vou descer para o tumulto agora, aqui por isso, e eu vou entrar na minha sequência. Então você apenas digita o pseudo e o comando my sequel. Agora você vai ver que eu tenho minha sequela aqui e nós podemos começar a fazer algumas coisas aqui dentro. Então, a primeira coisa que eu quero fazer é apenas mostrar bancos de dados. Então é apenas mostrar bancos de dados e, em seguida, o ponto
e vírgula, e isso vai nos mostrar os bancos de dados que temos. Então você pode ver aqui. Eu não tenho esse banco de dados PHP 1101. Então eu vou criar Então, a fim de
fazê-lo, é apenas criar banco de dados e, em seguida, o nome do banco de dados e, em seguida, o ponto-e-vírgula. Acho que acertei, então vamos acertar. Entra ali. E diz que não te deu um erro. Então, passou. E então agora se mostramos bancos de dados, você pode ver que temos esse banco de dados PHP 101 lá. Claro que sim. Se continuarmos agora, dizemos usar PHP um um que nos permitirá usar esse banco de dados. E então se mostrarmos tabelas, você vê, não
temos tabelas, então é um conjunto vazio, certo? Então o que são código aqui em cima, então, vai fazer é realmente criá-los dinamicamente. Você poderia sentar aqui no terminal e criar um shopping e todas as, você sabe, todas as colunas diferentes, pílulas e assim por diante, mas isso seria muito, muito tedioso. Ok, então na maioria das vezes em seus aplicativos PSP, você vai estar fazendo isso, um código V A. E isso poderia ser uma espécie de alguns através de algum tipo de script de instalação. Eu vi isso feito de várias maneiras diferentes. Sabe, Wordpress tem sua famosa instalação de cinco minutos onde você terminou. Digite o banco de dados, detalhes o nome, o nome de usuário, senha, todas as coisas que eu acabei de mostrar que você tem que obter do host. Você insere essas coisas lá, e então você aperta ir, e ele cria todas as tabelas e assim por diante. Bem, é
assim que eles fazem. Isto é o que está acontecendo no back-end. Tudo o que eles realmente fizeram que é diferente do que estamos fazendo é que eles meio que criaram uma fachada e formulário para inserir as informações. Mas na verdade, na parte de trás, eles vão fazer exatamente a mesma coisa que nós estamos fazendo certo? Então, uma vez que você tem todas as suas credenciais e assim por diante aqui, então o que nós podemos fazer é nós. Primeiro, precisamos nos conectar ao nosso Precisamos conectá-lo à minha sequela para que você possa ver onde em postura comendo uma nova instância da minha classe SQL I estavam chamando esse objeto meu SQL I e estamos passando em nosso host, nosso nome de usuário ou senha e nosso nome de banco de dados. Isso vai ligar-nos à minha sequência. E é essencialmente o que fizemos aqui no terminal de torneios onde fizemos pseudo minha sequela. E então nós dissemos: Use PHP um a um. Isso é essencialmente o que este código está fazendo aqui. Certo, então está nos conectando. Minha sequela em sua seleção de nosso banco de dados para que possamos usar, então o que estamos fazendo aqui é que estamos apenas verificando para ver se nos conectamos com sucesso ou não. Então, estamos apenas verificando se há um erro de minha sequela. Se houver, então estamos apenas imprimindo esse erro. E então estamos saindo porque não podemos fazer nada porque havia algum tipo de ar. Agora isto é aqui à direita. Isto é, na verdade, eu sou este arquivo bem aqui. Eu estou nesse arquivo e eu vou atualizar isso aqui em um segundo,
mas, ah, nós, uh, na verdade, se eu fizer isso agora, eu posso gravar, ecoar conectado e depois sair para que Não cries a nossa mesa, tipo
Jenna. Quer continuar criando nossas tabelas ainda? Mas se fizermos isso, isso vai ecoar que estamos se ultrapassarmos nosso erro, ele ecoará conectado e sairá antes de começar a criar nossa tabela. Então, se nós atualizarmos isso, então você pode ver que nós temos isso conectado. Então, estamos todos conectados. Estamos prontos para ir. Os gigantes vão se livrar disso. Guarde isso, e então o que estamos fazendo aqui é exatamente o que conversamos. Então vamos criar algumas tabelas e vamos criar algumas colunas dentro
dessas tabelas, e vamos fazer tudo em código. Então você vê aqui estamos criando uma tabela de objetos. Estamos criando uma meta tabela de objetos, e estamos criando uma tags de objetos, vendedores de
tabela dos diferentes que decidimos,
ah, ah, criar Esta é
a nossa tabela de relacionamentos aqui em baixo. Ok,
então, para fazer isso, então nós estamos apenas criando Ah, minha consulta de sequela aqui. E assim a consulta em ordem no PHP para ser capaz de criar uma tabela é criar tabela. Agora, estamos fazendo criar tabela, se não existir, então não queremos sobrescrever nenhuma ou não mexemos com nenhuma tabela que possa já existir . Então nós estamos apenas nós vamos criar uma tabela se ela não existe no nome de que são objetos. Então, se a tabela Objetos não existe em nosso banco de dados PHP 101 do que nós vamos criá-la , ok. E então aqui estavam passando o que queremos que nossas colunas sejam. Então, cada linha é uma coluna diferente. Então você pode ver o 1º 1 é o nosso i d ou passando em grande int e, em seguida, sem assinatura, não sei. Então não queremos que possa ser? - Não. E então vamos incrementar automaticamente. Certo, bem direto. O próximo é o título Sublinhado da postagem. É tipo de dados de texto não Não, nós não queremos que ele seja capaz de ser. - Não. Em seguida, o conteúdo da publicação. Texto longo não sabe. Em seguida é o nome do post Var char não sei Data do post, data hora Não sei. Então isso é realmente o que cobrimos em menos de dois. É o nome da sua coluna. Que tipo? É algumas das configurações diversas. E então é isso. Você vai para o próximo. Então você sabe, é todo esse ar que não sabe. Então nós não queremos. Não queremos que eles sejam capazes de ser. - Não. E então este é o incremento automático. Certo, então tudo muito direto. A última peça aqui que é a chave primária. Portanto, queremos designar qual é a chave primária para este banco de dados. Qual é o índice? Essencialmente. E então esse é o nosso campo de trabalho aqui, e isso é praticamente sempre o caso. E então você pode ver que fechamos a barra, parênteses, fechamos o código de barras Ah, aspas
duplas e então fazemos nosso ponto e vírgula. Então basicamente acabamos de fazer um tipo de padrão. Minha consulta de sequela aqui, isso é praticamente como cada minha consulta de sequela vai ser estruturada. Ah, é você vai ter você sabe, você vai ter suas aspas duplas. Você vai escrever toda a sua consulta dentro dela, e então você termina com um ponto-e-vírgula. Então tudo isso dentro dessas citações é na verdade a minha sequela consultado dedo específico minha sequela . Então, de
novo, novo, isso vai criar a tabela, essas colunas e assim por diante. Então essa é a consulta. E, em seguida, aqui em baixo, nós vamos realmente executar no meu método Sequel Query. Então, de novo, nós me criamos na ciência. Uma nova instância daquela classe de emprego na nossa garota do meu rabo. Eu me oponho. E agora estamos executando métodos com isso. Então o primeiro método ou este o método que vamos executar aqui é o método de consulta, que na verdade vai consultar o banco de dados. E ele quer uma minha consulta sequela ou SQL Query. Então nós passamos isso. Isso é o que estamos passando mesa de objetos aqui. E só estamos checando se isso voltou como verdade. Certo? Então isso é uma verificação aérea. Então, se não houver erros, então vamos imprimir que objetos de tabela foi criado com sucesso. Certo, então é isso que estamos fazendo aqui. Próximo para a tabela meta. É exatamente a mesma coisa. Então crie tabela, se não existir. Object Meta temos o nosso met i d que é a nossa chave primária aqui. Formiga grande no sinal. Não todo o objeto de incremento automático. Eu começaria sem assinatura. Não sei Medic e var char para 55. Isso realmente não importa para exibir esse meta valor, texto
longo e gays, então estes estão em seu aqui que falamos. Não tem que ser “começar”. Poderia ser apenas regular em um gráfico de barras aqui para Medicaid? Porque eu estas as chaves vão quando você está criando meta, as chaves serão previsivelmente curtas porque você não tem que digitar alguma chave grande,
longa, a fim de acessá-lo. Olhos para o valor. Eu usei texto longo. Você provavelmente poderia debater que talvez você se safar com texto, mas isso pode ser arbitrário longo. Nós não sabemos necessariamente o que vai entrar lá de novo? A chave primária é o nosso meta aqui em cima. Certo? Então essa é a consulta que estavam em execução. Você notará que este código e este código são exatamente os mesmos. Exceto que estes são os objetos atendidos uma variável de tabela estavam fazendo referência aqui. Então nós vamos executar o método de consulta nele novamente. Vamos passar na nossa consulta. Se não houver erros, vamos publicar isso. Essa tabela foi criada com êxito. Tudo bem, último. Um pouco redundante aqui, mas sexo. Mesma coisa. Criar tabela não existe. Relacionamentos de tags de objeto Eu d começou sem assinatura, não knoll auto incremento, objeto
vírgula. Eu começaria sem assinatura. Não sei. Etiqueta. Começo à vista. Não Nenhuma chave primária é o nosso i d parecer ok. E vamos passar isso para o nosso método de consulta. Isso é igual a verdade. Vamos imprimir que foi criado com sucesso. Então, de novo, este é o seu casaco de carreira. Você pode digitar manualmente tudo isso na minha sequela aqui embaixo, se quiser. Mas é uma dor na bunda ver, ouvir e digitar tudo. E se você obviamente vai estar distribuindo seu aplicativo para outras pessoas para
que eles usem, bem, então eles não vão querer sentar lá e fazer isso ou ir para PHP meus homens e fazê-lo. Então você quer criar este código para que eles possam fazê-lo. Tudo bem? Então voltamos aqui e mostramos mesas só para que você possa ver isso de novo. Ainda é um conjunto vazio. Então, agora, se atualizarmos isso, você pode ver que diz objetos. tabelas de relacionamentos entre marcas de tabulação de objetos foram criadas com êxito. Então nós descemos aqui e fazemos mesas de exibição. Agora você pode ver que temos objeto feito uma tag objeto, relacionamento e objetos. E se descrevermos objetos, então vamos olhar para nossa mesa de objetos, você pode ver que eu sou grande em 20 no sinal. Não há nenhum incremento automático de chave primária post título imposto post conteúdo. Demonstrações longas, etc. Nós podemos descrever objeto meta, e você pode ver exatamente como nós dissemos. Descrevemos relações de tag de objeto. Você acertou, e pode ver de novo exatamente como dissemos. Então agora essas tabelas existem, então é assim que criar tabelas ah dinamicamente. Agora, quando se olha para um, isso é coisa. Quando estamos olhando para o seu ah sequela citação aparecer novamente. A maior parte destas coisas quero dizer esta linha bem aqui. Eu usei isso mais e mais e mais e mais e mais e mais e mais. Quero dizer, cada aplicativo que vejo faz isso, então não há necessariamente uma razão para realmente exagerar ou recriar a roda para o seu bloco I d. Você pode muito bem usar isso para cada aplicativo que você vai construir. Está bem? Também será sempre a chave primária. Então isso sempre estará lá, esses no meio. Depende da sua aplicação. E tudo volta ao que conversamos em menos de dois. Sobre a duração do imposto versus imposto longo de arco nossas coisas diurnas, etc. Então você meio que tem que descobrir isso por conta própria. O que faz sentido para você? Mas eu diria que não pense demais. Então espero que isso lhe dê uma imagem clara de como você iria criar essas tabelas dentro de um código PHP, o código para fazê-lo e então, você sabe, não pensar demais. Deus, você sabe, isso for int e deveria ser, você sabe, 21 eu não é tão grande de uma coisa como, especialmente quando você sabia que você poderia meio que fazer isso fora para ser. Então, como eu disse, eu usei o tipo da mesma coisa uma e outra e outra vez e outra vez. Todos os tipos de aplicações. Você sabe, se você começar a entrar em alguma estrutura de banco de dados realmente avançada, a verdade é que você vai ir além, realmente, onde até mesmo o que eu faço em uma base regular. E então nesse ponto é gentil no seu dedo do pé para realmente cavar nele e realmente encontrar essa nuance. E há alguns meus nerds de sequela lá fora que podem te dizer tudo o que você poderia querer saber sobre minha sequela. A verdade é que, para a maioria das coisas que você vai fazer, a maioria das pessoas que você tinha sites de alta construção para pessoas construindo,
você sabe, pequenas aplicações, pequenas aplicações, o que quer que seja. Nunca fica tão complexo. E assim isso vai atender você muito bem. Então, de novo, não pense demais demais. Tudo bem? Isso vai fazer isso. Obrigado por assistir. Falamos com você da próxima vez.
29. Conecte a um banco de dados do MySQL com PDA e MySQLi e MySQLi: Praia. Seja um contra um Esta lição. Vou mostrar-lhe como se conectar ou banco de dados agora tipo de cobrir isso um pouco menos de três. Mas eu também quero mostrar como fazer isso dentro do DOP, no caso de você querer usar essa opção. Então, cada uma dessas lições eu vou te mostrar tipo de como fazer isso na minha escola. E então eu também vou te mostrar DOP dessa forma que você tem os dois. Então, como eu mencionei em menos de 34 suas credenciais na maioria das vezes, seu host vai ser host local. Ah, há exceções disso. Você terá que obviamente verificar com o seu host e ver se o host local não está funcionando. Então você faria Se você está recebendo ah host inválido ou algum ar relacionado ao seu host, verifique com seu host, veja se eles têm documentações de suporte ou você pode simplesmente contatá-los através de suporte sobre o que você deve usar ou onde encontrar para descobrir que Ah, o nome do seu banco de dados que será o que você criou. Então, como você sabe, você cria que, se usar o terminal, você entrou no PHP meu administrador ou você não codificou. No entanto, esse será o nome do seu banco de dados. E então você usa o nome do passado que normalmente recebe do seu anfitrião. Ou se você é um host local, geralmente rota sem senha fará o truque. Mas novamente, seja qual for o software que você estiver usando de novo, uma vez que você tiver tudo isso, então poderemos falar novamente sobre como se conectar. Doce. Então nós meio que já revisamos isso em menos de três. Mas vamos só para a minha escola. Eu vou sentar em uma nova instância da minha escola. Eu estamos guardando como, hum esta variável minha escola eu vou passar e nosso anfitrião nosso nome de usuário ou senha em nosso nome banco de dados. E então vamos verificar se há algum tipo de erro em tentar se conectar. E se assim for, vamos imprimir esse ar aqui, e depois vamos sair porque não podemos fazer mais nada. Ah, se não houver nenhum erro, então esta afirmação mais do que nós vamos simplesmente ecologicamente conectado. Então, nós
viemos aqui, vamos apenas atualizar isso rapidinho e você pode ver que estamos recebendo este item conectado aqui. Então, estamos todos prontos para ir. Estamos conectados do que poderíamos seguir em frente para executar algumas de nossas consultas, que vamos cobrir em futuras lições. Certo, então nós, como eu disse, já cobrimos isso, então eu revi isso rápido. Agora vamos comentar isso, e vamos descer aqui, e vamos nos conectar via DOP. Agora, a diferença entre a minha escola e DOP é que a minha escola foi projetada especificamente para um meu colher no meu banco de dados de sequelas. Enquanto DOP você pode usar um pouco todos os tipos de bancos de dados diferentes. E então é um pouco diferente e como você se conecta usando isso porque você realmente tem que especificar que você vai usar minha sequela aqui. E então o tipo de maneira padrão de usar isso é usar tentar pegar blocos. E então vamos tentar nos conectar, e se não, vamos nos conectar, vamos pegar a exceção, e então vamos ecoar o erro. E assim, a
fim de criar a conexão ah, nós vamos instância oito uma nova instância de PDO e nela Bem, é muito semelhante em termos
que estavam passando na mesma informação, mas nós estamos apenas especificando qual banco de dados queremos usar aqui. Então, neste caso, você tem que começar e dizer que eu quero usar minha sequela ou,
uh, você sabe, você sabe, Oráculo ou qualquer outra coisa. Seja o que for que você está usando, você especifica isso aqui. Por isso especificamos a minha sequência. Usamos dois pontos, e então fazemos hospedeiros iguais, e passamos em nosso hospedeiro. Ok, então esses colchetes nos permitem passar em uma variável aqui,
hum, hum, sem ter um conteúdo anal que e assim host é igual ao nosso host de banco de dados. E então fazemos um semi dois-pontos, e então fazemos nome de banco de dados igual e o nome do nosso banco de dados aqui. E depois disso, podemos fazer isto é, isto é uma espécie de, uh isto é uma parte única dos olhos DOP. Este primeiro pouco isso é você notar Isso é tudo neste tipo de primeira vírgula. Este primeiro parâmetro ah lá ano. Passar para DOP é a minha sequela. Dois-pontos hospeda o nome do host e o nome do banco de dados e vírgula. É uma espécie de DOP única. Então, uma vez que você passar por isso, então é vírgula, em seguida, banco nome de
usuário e senha, que é apenas, como aparecem banco de dados, nome de
usuário e senha. Certo. Então esta é a parte realmente única aqui, e basicamente se resume a você especificar em que dia debate. Que tipo de banco de dados você vai usar. Uma vez que você tem isso, então você Ah, você usa a conexão para definir um atributo. E isso é essencialmente definir o modo era. Ah, isso é para que possamos realmente trabalhar. Se houver um ar, podemos pegá-lo e fazer algo com ele. Caso contrário, PDO, um, tipo de tende a gostar de quente tende a escondê-lo por padrão, então você não vai realmente ver um erro. Então isto quer dizer, “Ei, queremos ver o ar está agora. Uma vez que você entrar em código de produção, você pode querer Você pode considerar se livrar disso. Na verdade, cabe a você. Mas é isso que estamos fazendo aqui, modo que se houver algum tipo de exceção, podemos conectá-la, podemos pegá-la. Então aqui estávamos todos conectados. Então vamos ecoar conectado. Não havia ar ou algo assim. Então, isto vai. Isto irá executar se houver algum tipo de ar, estamos detectando esse erro. E depois vamos ecoar esse ar aqui fora. Tudo bem, então guardamos isso e voltamos aqui e nos refrescamos. Você pode ver que diz conectado também. Então estamos todos conectados aqui em cima. Agora, se eu viesse aqui e não sei, talvez fazer algo assim, e mudar o nome do usuário para algo que sabemos que não existe, então você pode ver que é aí que pegamos o ar. Diz que o acesso negado para a regra do usuário. Isso ocorre porque a rota do usuário não existe. Ok, então é assim que seus erros vão parecer. Então, de novo, é bem simples. Não há necessariamente uma das coisas. Não pense demais. Não há um dedo do pé para mergulhar e resolver isso. É realmente apenas esta sintaxe em PDO que é um pouco diferente de especificar qual banco de dados você realmente vai se conectar. Bem, para uma casa com você, eu só a usei para me conectar à minha sequela. Eu nunca usei nenhum desses outros bancos de dados lá fora, então eu não posso dizer muito sobre como eles em particular funcionam. Mas você sabe, se você está aqui agora, usando minha busca, quando você acha que talvez na estrada há uma oportunidade ou uma chance que você pode acabar tendo que você mudar para algum outro tipo de banco de dados, então pode ser uma boa idéia para você fazer tudo isso dentro do DOP em oposição ao meu pedido de julho. Assim você não tem que voltar e reescrever todo esse código. Realmente? Tudo o que você teria que mudar em termos de Se você está usando um banco de dados diferente que tivesse a mesma estrutura, você realmente só teria que mudar isso aqui. E você poderia se conectar a ele e usá-lo e e ficaria bem. Esse é o ponto da DOP. Tudo bem, então é assim que se conectar ao seu banco de dados usando meu SQL I e PDO. Obrigado por assistir. Falamos com a próxima vez
30. Leia dados de um banco de dados do MySQL com o PDA e no MySQLi com o MySQLi: voltar PHP 101 Esta lição. Vamos falar sobre como obter dados de um banco de dados com as primeiras coisas que você vai fazer dentro de trabalhar com a minha sequela. Então vamos passar rapidamente pelo que você já sabe de novo no topo Aqui temos nossas credenciais que já falamos antes. Temos a nossa instância e ação da minha classe SQL i. Estamos novamente verificando a seta, imprimindo o ar, imprimindo se houver algum tipo de erro, e então estamos entrando em nossa consulta. Então a nova parte aqui vai ser esta linha, certo? Começando bem aqui. E o que estamos fazendo é chamar nosso comando de consulta da minha escola. I objeto, e estamos executando uma consulta SQL, e este é um tipo de consulta get padrão. Então o que estamos fazendo é que estamos executando selecionar todos os objetos, então vamos selecionar todos os dados. Todas as colunas disponíveis na tabela de objetos. É o que diz aqui. Ok. Então, novamente, era uma consulta
muito, muito básica que você faria dentro da minha sequela. Então passamos isso para o comando de consulta e armazenamos o resultado nesta variável de resultado aqui. Agora, a coisa para saber onde as pessoas podem ser tropeçadas é que muitas pessoas pensam OK, essa consulta foi executada. E agora eu tenho o meu resultado aqui e isto é, se você olhar aqui para a direita, nós temos este array. Essa é a minha matriz. Então agora tudo o que preciso fazer é olhar através do Irã. Estou pronto para ir, mas não é assim que funciona. Então o que isso realmente retorna aqui é um meu recurso de sequela, e os dados que precisamos estão dentro desse recurso. Mas nós temos que realmente extrair os dados do recurso primeiro. E é por isso que temos estas três linhas aqui. Isso é essencialmente o que isso faz é que ele leva esse recurso e ele usa este método chamado buscar objeto. E você poderia ir buscar Assoc. Se você queria Teoh e ele vai buscar o objeto, ele vai essencialmente passar por esse recurso e vai buscar todos os objetos que estão lá. E isso é o que precisamos fazer. Precisamos entrar nesse recurso, e precisamos buscar cada um. Cada registro é essencialmente um objeto. Então precisamos passar por esse recurso e buscar todos esses registros são todos esses objetos. E então o que estamos fazendo é que você pode ver aqui que estamos armazenando esses objetos em uma matriz. Esta matriz de resultados. Então isso vai acabar com uma matriz de todos os objetos diferentes que estavam neste recurso. Ok, então é para isso que este laço selvagem serve aqui. E então o que estamos fazendo aqui é simplesmente imprimir esses resultados. E é isso que nos dá isso aqui. Ok, então isso é Ah, é bem simples. Especialmente a sequela. Parte disso, na verdade. O grande truque aqui é este Lupin Selvagem certificando-se de que retiramos os dados que precisamos do meu recurso sequela. Certo. Então, se fecharmos isso, então ou comentarmos isso quando viermos aqui para PDO e vamos salvar isso, e então vamos continuar e atualizar isso, você pode ver que estamos recebendo algo bem parecido aqui, e eu vou mostrar você qual é a diferença. Ok, então aqui. Faremos nossa conexão com DOP de novo, sobre
o qual já conversamos. Então estamos nos conectando a PDO estávamos usando minha sequela. Estamos fazendo isso para que possamos ver se há algum herdeiro e, em seguida, vamos executar nossa consulta e você pode ver aqui em nossa consulta Agora, vez de fazer selecionar tudo que estamos selecionando coluna específica. Então, estamos selecionando I D Post título e data de publicação. Então nós pulamos o conteúdo da postagem e eu fiz isso apenas buscar que eu poderia mostrar-lhe a diferença entre selecionar todos e selecionar colunas específicas. Agora, a prática recomendada é selecionar as colunas específicas que você ao criar um banco de dados, selecione as colunas específicas com as quais deseja trabalhar. Não basta fazer um seleto tudo porque agora você está recebendo de volta dados que você não precisa, e isso vai prejudicar o desempenho e assim por diante. Tudo bem, então esta é outra maneira de fazer a mesma coisa agora tudo o que estamos fazendo aqui é simplesmente selecionando as colunas que queremos. Nós estamos selecionando-o na tabela de objetos e então nós estamos encomendando, então nós vamos encomendá-lo por data de postagem. Então nós realmente colocamos estes em uma espécie de ordem específica. E isso mostra a ordem e então você nunca ligaria para ele. Você quer encomendá-lo por direito? Então, uma vez que você tem isso novamente, isso retorna um meu recurso de sequela. Então temos que fazer a mesma coisa que fizemos acima. Então vamos usar o nosso laço selvagem. Vamos passar por esse recurso e aqui vamos buscar, e vamos usar ah PDO versão específica do objeto buscar. E então estamos essencialmente fazendo a mesma coisa. Somos alimentados, buscando cada registro de remador como um objeto PHP. E estamos armazenando isso nesse resultado. Uma raça do que estamos recebendo aqui é uma matriz de objetos com os quais podemos trabalhar, e então estamos imprimindo isso. E então, é
claro, estamos fazendo nosso bloqueio de captura. Se houver algum erro, vamos imprimi-los. Agora, a coisa a saber sobre isso essas duas linhas aqui e tanto aqui e no meu SQL I Esta é uma maneira realmente padrão de trabalhar com meus dados de sequela. Então, obter uma matriz de objetos é bastante comum. Isso é mais nestes dias que eu diria que é assim maioria das aplicações fazem isso. Você certamente poderia obter uma matriz não de objetos, mas ah então outra matriz associativa. Então estes poderiam, em vez de serem objetos aqui, estes poderiam ser um aumento. E isso é o que aconteceria se você pegasse um objeto social em vez de buscar um objeto. Mas mais uma vez, o tipo de maneira padrão de fazer isso é buscá-los como objetos e usá-los dessa maneira . Então, outra daquelas coisas onde não é necessário recriar a roda ou, você sabe, pensar demais nisso. Geralmente, você poderá usar o código que você vê aqui em todo o quadro na maioria dos aplicativos que usam. Eu sei pelas coisas que faço. Quero dizer, há coisas diferentes, mas em termos de apenas uma espécie de busca padrão de dados de,
ah,
banco de dados, dados, eu uso isso uma e outra e outra e outra vez. OK, então novamente, isso é como fazê-lo no meu SQL I e PDO. Obrigado por assistir. Falamos com a próxima vez.
31. Crie dados em uma banco de banco de dados do MySQL em no PDA e MySQLi com o MySQLi: Bem-vindo de volta ao PHP 101 Esta lição. Vou mostrar-lhe como inserir dados em uma abelha de dados usando ambos os meus s Julho e DOP. Então, para começar, vamos até um terminal de torneios aqui, e eu vou fazer um seleto tudo da nossa mesa com que estamos trabalhando para mostrar que
agora você pode ver que é um conjunto vazio. Aquela mesa está vazia. E então eu vou vir aqui para o lado direito e rodar nosso código aqui e você verá que ele está apenas devolvendo uma varinha para a verdade. Então diz que passou. Então, vamos executar a mesma consulta novamente, e você pode ver isso agora. Lá dentro, Nós temos título de demonstração. Isto é conteúdo de demonstração. Artigo de demonstração é o nome do post e, em seguida, o post oito. Certo? Então, como fazemos isso? Tudo bem, então no topo de novo, vamos começar. Temos nossas credenciais de usuário. Eu meio que cobri isso. Ah, e em profundidades até este ponto, então eu não vou passar por isso. E depois temos a nossa pergunta. E então a consulta é o que realmente faz todo o trabalho aqui. Então, há um par de palavras chave que estavam indo para usar aqui a primeira ou frases-chave eo primeiro 1 é inserir em Então nós vamos começar nossa carreira e com inserir em, e então nós vamos colocar o nome da tabela que queremos inserir dados em. Então, neste caso, é o nome de nossas tabelas chamado objetos. E então, a partir daí, vamos listar as colunas que queremos inserir dados. E assim temos o título do post, conteúdo do
post, nome do
post e a data do post. E assim, essas são as únicas quatro colunas em nossa, uh, nesta tabela em particular. E então esses são os que listamos aqui. Em seguida, usamos esta palavra-chave valores, e nestes parênteses colocamos no nome ou os parâmetros do conteúdo que
queremos inserir nos dados que queremos inserir em cada uma dessas colunas. Então, para o título da postagem, temos conteúdo da postagem do título de demonstração. Este é o conteúdo de demonstração, post nomeadamente de Demo, artigo e post. Agora estamos usando uma função de sequela chamada Now, que eu vou explicar aqui em um pouco. Então, a primeira coisa importante a obter sobre isso é que a ordem em que você coloca seus
nomes de coluna aqui? Tem que coincidir com a ordem em que você coloca seus valores aqui. Então, se eu fosse trocar isso por aqui, então se eu fosse para ir em frente e apenas parar com isso e vamos vir aqui e trocar essas coisas assim Esta consulta não é um maricas inteligente, você sabe, ele não sabe que este é o conteúdo e este é o título. Só vai pela ordem em que as colocas. Então, se eu atualizar isso e, em seguida, fazemos um seleto tudo novamente, você pode vê-lo agora porque eu mudei ele,
ele coloca este é o conteúdo de demonstração para o título no título da demonstração para o conteúdo post. Então é baseado na ordem em que você os coloca. Então você precisa ter certeza de que você está colocando-os na ordem que, na ordem correta, sua correspondência com o primeiro elemento neste parênteses aqui com o primeiro 1 nos valores imprimir esta temporada para que eles coincidam corretamente. Ok, então isso é realmente tudo o que há para ele. É realmente apenas combinando estes e certificando-se de que você tem as coisas na ordem certa . Ah, e nós não estamos entrando em declarações preparadas ou qualquer dessas coisas ainda. Vou entrar em um vídeo mais tarde e ver como fazer. Ah, todas as perguntas diferentes iam escrever. Eu realmente só quero passar pelas consultas que temos aqui e mostrar a vocês como
fazer essa parte primeiro, certo? Então essa é a maior parte disso. O último aqui, então, é este. Agora função aqui e assim você pode ver que é agora apenas olhar muito parecido com uma função PHP. Mas esta é a minha função de sequela. E o que isso faz é inserir no banco de dados que eu sou agora. Agora você poderia tecnicamente fazer algo como Ah, não, agora ou agora é igual a tempo como este e você poderia pegar esse tempo do PHP se você quisesse. Mas minha sequela já tem isso embutido. Vai formatá-lo no formato certo, hum, no formato certo para a guerra. A data, hora, a data hora, Ah, tipo de
dados que usamos para uma coluna de data post aqui, então ele meio que cuida de tudo isso. Então, a menos que você saiba que está passando em outra data, se a hora for agora, então você poderia usar essa função agora praticamente o tempo todo, então isso torna um pouco mais fácil. Você não precisa fazer todas as coisas no PHP para descobrir o tempo e assim por diante. Você pode usar isso e minha sequela. Cuide disso. Certo? Então essa é a consulta. E a partir daí é realmente muito do que fizemos antes. Estamos em uma nova instância. Na minha escola, passei em todas as nossas credenciais que podemos ter acesso. Verificamos se estamos conectados. Se não, lançamos um erro e, em seguida, passamos a nossa consulta, aparecem no método de consulta para o meu objeto SQL I. Capturamos isso como resultado. E então eu apenas imprimi o resultado aqui, que é o resultado disso vai ser apenas turnê falsa. E assim, neste caso, é verdade. E então você pode seguir em frente com o que quer que você vai fazer com o resto do seu pedido. Se for falso, você pode pegar isso. Talvez solucionando problemas ou mostrando ar. Seja qual for. No entanto, você quer lidar com isso? Mas o resultado disso será novamente verdadeiro ou falso neste caso particular. Certo, então é assim que se faz na minha escola. Agora vou comentar isto e vamos descer e mostrar-te em DOP. Agora, aqui está a coisa boa sobre isso. O que você vai notar é que eu estou usando a mesma consulta que eu tenho aparecido a partir da minha pergunta julho. Como estou em DOP, estou usando essa consulta na mesma pedreira. Você não tem que alterar a sintaxe SQL real quando você está usando minha escola, I vs PDO. Se você está usando este meu banco de dados de sequelas agora para usar outra coisa, isso pode ser diferente. Para ser honesto com você, eu realmente não sei porque eu sempre usei minha sequela. Mas ah, porque estamos usando o mesmo banco de dados em ambos. Você não precisa alterar a consulta aqui. Ele ainda funciona e então certifique-se que isso é salvo e então nós vamos atualizar isso e aqui com DOP , nós estamos recebendo de volta este objeto e ele está nos mostrando o que são Iwas queer E então se nós viermos aqui e fazer um seleto tudo novamente, você pode ver que nós adicionamos 1/3 linha que não tínhamos antes. Então este foi adicionado via DOP. Então começou a mesma consulta exatamente aqui em cima e isso é praticamente o mesmo código que temos usado até este ponto em instâncias. Uma nova instância de DOP. Diga-lhe que estamos usando minha sequela pessoal Nossas credenciais Ah, isso é para herdeiros aqui estavam realmente executando a consulta usando o método pedreira sobre o que nós instância aquecida aqui, passando em nossa consulta para executá-lo. E então estamos imprimindo o resultado. Com PDO, você realmente obter o que sua consulta estava de volta como os resultados. Então isso é um pouco de uma rolha e então ou diferença entre minha escola e DOP, e então nós estamos pegando qualquer herdeiro que nós podemos ter então não uma tonelada de diferença uma vez que você tipo de coisa de novo, não pense demais. Não precisa recriar a roda. Uma vez que você obter este tipo de código de conexão para baixo o código de consulta para baixo, você vai notar que executar consultas é tudo apenas sobre mudar isso e, em seguida, claro, como você lidar com isso depois disso. Então, se você está obtendo dados, você vai fazer algo diferente com os dados depois versus se você está inserindo dados ou excluindo dados estão atualizando dados, etc. Então você vai fazer algo diferente com ele quando conseguir. Mas, na verdade, executar as consultas é praticamente a mesma coisa. Então, novamente, uma vez que você meio que tem isso para baixo, então é
realmente, então é
realmente,muito simples apenas usá-lo uma e outra vez e outra vez. Tudo bem, então é assim que inserir dados usando meu SQL I m PDO. Obrigado por assistir. Falamos com você da próxima vez.
32. Atualize dados em uma banco de banco de dados do MySQL em no PDA e MySQLi com o MySQLi: Olhando para trás. PHP 101 Esta lição. Vamos entrar em como atualizar os dados em seu banco de dados em Então, novamente, é muito simples. Um monte de código, exatamente o mesmo. Tudo se resume à diferença na consulta. Estamos correndo aqui, então nossas credenciais são todas iguais aqui. E então, quando olhamos para a nossa consulta novamente, muita sintaxe aqui é bastante simples. Então é o que você provavelmente pensaria. É mais fácil, lembre-se, porque faz sentido porque é o que é. Então vamos começar quando vamos dizer que vamos atualizar. Então, estamos atualizando. Então vamos dizer que vamos atualizar o nome da nossa tabela. Então, neste caso, estamos atualizando a tabela de objetos, e então usamos a palavra-chave set para dizer o que vamos atualizar o que vamos definir como o quê ? E então você pode ver aqui nós temos o título da postagem igual e, em seguida, estamos configurando para testar um, e então temos conteúdo de postagem igual e estamos configurando isso para testar um conteúdo. E então temos o nome do post igual e estamos configurando isso para testar um. Você vai notar aqui que estamos apenas atualizando três das quatro colunas. Então, quando você faz uma atualização, você não precisa atualizar tudo o que você possui. Você só precisa atualizar as colunas que deseja atualizar. E então isso é ah, tipo de importante lembrar enquanto você está passando por escrever essas consultas que você não precisa passar por uma atualização cada coluna. Se você quiser atualizar um registro, você pode atualizar no Lee as colunas que você deseja atualizar. Tudo bem, então nós estamos atualizando esses três e então nós temos cláusula ciente aqui porque nós precisamos dizer , você sabe qual dos registros nós queremos atualizar. E é por isso que nós meio que conversamos sobre o uso de I ds no tipo dos 2 primeiros vídeos. É por isso que isso é importante, porque agora, em vez de ter que fazer algum tipo de pesquisa para encontrar o registro que queremos ou qualquer outra coisa, podemos apenas especificar o i d do registro que queremos atualizar. Então, queremos atualizar o registro número três, este aqui. Então esse é o recorde que vamos atualizar. Certo, então definimos essa consulta e assim que estiver feito. Você vai ver aqui. Postura E 80 novo insistir no meu s julho. Verifique se há erros, passe para o método de consulta e, em seguida, coloque os resultados. Então o resto do código é exatamente o mesmo. A única coisa que mudou foi esta consulta aqui. Tudo bem, então se fizermos isso e você verá que nos dá um, o que significa verdade. Então você pode ver, Antes de eu executar um seleto em você poderia ver este é este número três registro diz título demo e assim por diante. Então são os dados antigos que tínhamos lá. Então, vamos em frente e fazer uma seleção de todos os objetos novamente. E agora você pode ver que nós recuperamos. E nosso terceiro registro foi atualizado para testar um teste um conteúdo e o que definimos aqui Ok, então muito direto em como fazer isso. Então vamos em frente e mudar isso agora para testar também, e vamos comentar tudo isso da Minha escola que eu codifiquei e virei aqui para DOP e literalmente nada mudou. Ah, neste código a partir desta última lição para esta aqui é literalmente o mesmo código que era na lição anterior. E isso porque a única coisa que mudamos foi essa consulta. Então isto é tudo o que fizemos até agora? Exatamente o mesmo. Tudo o que estava mudando é a consulta. Então nós atualizamos isso. Vamos vir aqui e você pode ver que estamos de novo com DOP. Isso nos dá de volta o que é realmente estranho eu era como resultado. E assim, se viermos aqui, fazer uma seleção de todos os objetos da nossa tabela Você pode ver agora isso foi atualizado para testar para testar o conteúdo sublinhado teste também. Então foi atualizado para o que mudamos, certo? Então, novamente, isso é como atualizar dados realmente simples. E você sabe, isso é novamente Nós estamos trabalhando através da base de como apenas fazer esta multidão muito básica criar,
ler, ler, atualizar, excluir os fundamentos básicos de interagir com o banco de dados usando a minha escola I e DOP. Tudo bem, então novamente, é assim
que atualizar os dados. Obrigado por assistir. Falamos com você da próxima vez.
33. Excluir dados em uma banco de dados do MySQL em com o PDA e no MySQLi com o MySQLi: Bem-vindos de volta ao calibre P um, um, um. Esta lição que vamos passar. Como fez para excluir dados de uma tabela particular e isso vai tipo de completar novamente a interação
fundamental de interagir com o banco de dados, que é cruddy, criar, ler, atualizar, apague a coisa que eu quero dizer antes de entrar no código aqui. Uma vez que este é o tipo final de lição sobre isso, esses quatro fundamentos é que é um monte de pessoas trabalhando com banco de dados quando você é novo para ele, você acha que há muitas dessas coisas que estão lá fora para você aprender e assim para a frente. Mas a verdade é que a multidão é realmente o núcleo de tudo. Tudo o que você faz com o banco de dados, em última análise, gira em torno da criação, leitura, atualização ou exclusão do ar. As quatro funções básicas que cada banco de dados ah lá fora tem, e então se você entender isso, então você realmente tem a base de tudo que você precisa para ser capaz de interagir com o ponto de
banco de dados sendo. Não há uma tonelada de outras coisas lá fora para você aprender mais alguma coisa. Há realmente construindo em cima disso, e é onde você começa a entrar em consultas mais complexas e assim por diante coisas assim, mas entendendo os fundamentos de interagir com o banco de dados. São apenas essas quatro coisas, e então esta é a última nesse cenário. Então, novamente, como eu disse, tipo de harped em todo o código, praticamente permanece o mesmo ou permanece o mesmo, exceto para os direitos de consulta são credenciais do mesmo. E quando olhamos para a consulta novamente, faz sentido que seja o que é. Então a palavra-chave ou frase-chave que usamos é excluir e, em seguida, a tabela que queremos
excluir . E então estamos usando Cláusula Aware onde diz onde eu d é igual a três. Então vamos deletar o terceiro registro aqui. Isso é o que isto diz que vamos apagar da tabela onde o I d do registro é igual a três. Agora sua cláusula de uso não tem que ser o
I.D. I.D. pode
ser uma busca que você faz. Você pode dizer onde o título da postagem é igual ao título da demonstração. Você poderia fazer isso, mas novamente, esta é uma maneira infalível de fazer isso se você sabe a idéia do disco, nenhum outro disco vai ter que eu d
você pode ter que gravar com o mesmo título, Mas você nunca vai por causa do ah auto incriminador que fazemos com nossos bancos de dados. E com esta coluna eu d, você nunca terá que gravar que têm o mesmo I d. Então esta é uma maneira infalível, infalível de ter certeza de que você está recebendo o registro certo. Também importante que você tenha isso aqui porque se você não tivesse isso aqui,
por exemplo, por exemplo, digamos que você acabou de dizer excluir de objetos que iria excluir tudo em seu banco de dados. Fato, essa é uma das maneiras que você pode usar truncar para excluir. Mas você também pode usar excluir de objetos, que é basicamente abreviação para excluir, tudo de objetos que excluiriam todos os registros. Você sempre precisa ter certeza que você tem isso onde Klaus caso contrário você vai
acabar apagando sua mesa inteira, certo? Então, uma vez que temos isso, então novamente, instância uma nova instância da minha escola. Eu verifico erros, passá-lo para o método de consulta e imprimir o resultado. Justus, fizemos todas as vezes até agora. Então nós viemos aqui para a nossa página e eu vou em frente e bater. Entra nisto. Você pode ver que temos um resultado que diz que um foi tão bem sucedido. E, em seguida, vamos apenas fazer uma seleção tudo novamente para verificar a nossa tabela e certifique-se de que foi excluído. E você pode ver que o registro número três agora está excluído. Certo, então
muito, muito direto. Vamos em frente e mudar isso para e nós vamos descer aqui vamos comentar tudo isso e vamos fazer exatamente a mesma coisa em DOP. Então, como mencionei, esse código não mudou um pouco. A única coisa que mudou foi a nossa consulta. E então este é exatamente o mesmo código que usamos antes. Então, se viermos aqui, você pode ver novamente e nos dá nossa string de consulta. Vamos fazer um seleto tudo aqui e dar uma olhada em nosso banco de dados e você pode ver agora que só temos um registro. Então, excluímos com sucesso o registro número dois. Então fomos deletados com o registro dois e o registro três. Uma coisa importante a notar aqui agora é se você fosse voltar e inserir um novo registro, ele não voltaria com ser o número dois em vez disso, A maneira como ele funciona é que ele iria voltar como registro para e para que esse tipo de ajuda a manter você de, Você sabe, se por algum motivo você está referenciando aqueles i d s em seu aplicativo ou apenas
faz com que cada novo registro realmente é um novo registro com um novo índice e assim por diante. E assim, um, digamos que alguém ligado a, por exemplo, no WordPress se você tem um, não, se você tem se opor a maneira que eles fazem o u R l é que eles vão usar como P uh, eles usarão o parâmetro Você é l de p igual a um ou P igual a dois para referenciar o i d do banco de dados do Post que eles querem puxar. Bem, digamos que alguém ligado a você saiba que eu era igual a dois, e então você apaga esse post se você voltar e criar um novo registro. Ah, e tornou-se o número dois como seu índice aqui seu i d. Esse link iria então referenciar o novo post, que não é realmente Como você quer que seja? Então, o novo post, qualquer novo post que você acertou. Você não gostaria que ele fosse referenciado por links que estão dizendo a você, dizendo a pessoa que é realmente outra coisa. Então, ah, tendo sido um novo i d. S tendo ido de 1 a 4 desde que você deletou dois e três. Torna de modo que a nova idéia do novo post seria realmente antes de ser um novo eu d. Então, há algumas razões em última análise, o ponto é que há algumas razões pelas quais você gostaria de fazer isso e por que ele funciona dessa maneira. Então, apenas algo para notar enquanto você está trabalhando com ele, que, um quando você excluir um registro, qualquer novo registro não vai assumir esses i ds, eles vão começar de novo. Isso vai seguir em frente de onde quer que Ah, o último, waas. Então, algo para ter em mente? Certo, é
assim que se exclui dados de um banco de dados. Yui usando minha escola I e DOP Obrigado por assistir. Falamos com a próxima vez.
34. Como escrever as declarações preparadas em PDA e no MySQLi e no MySQLi: Olhe para trás. PHP um a um Esta lição. Nós vamos falar sobre declarações preparadas, que é um tipo de, ah, tópico
quente e desenvolvimento thes dias desde que mudamos no PHP de declarações preparadas pela ONU, duas declarações preparadas e eu quero apenas passar brevemente pelo que Isso é tudo para o caso de você não estar familiarizado. Então a idéia aqui, a razão pela qual as instruções preparadas foram desenvolvidas e que queremos usar instruções preparadas ou
instruções em nosso código tem a ver com ataques de injeção SQL e
instruções preparadas são agora a maneira que você derrotar esses. No passado, havia algumas funções no PHP que foram desenvolvidas. Ah, minha sequela, Real Escape String e algumas outras opções. Mas o tipo final de solução tornou-se declarações preparadas e a razão por que você quer usar estes versus qualquer outro método,
porque existem outros métodos que você pode usar para derrotar ataques de injeção. Mas a razão pela qual você quer usar este é porque se você escrever seu código desta forma, se qualquer novo tipo de ameaça aparecer em termos de ataques de injeção e assim por diante, o PHP pode ser atualizado e você realmente não precisa atualizar seu código. Então você está meio que descarregando a proteção para o próprio PHP. E isso faz com que, novamente, se surgirem novas ameaças e assim por diante, o código PHP em si poderia ser atualizado. E você nunca tem que mudar nada dentro do seu casaco. Então serve como uma espécie de solução final. É muito parecido com o hash de senha, ah, funções ou métodos que surgiram onde o PHP realmente fará todo o hashing e verificação de senhas para você. Antes disso, você teria que escrever todo esse código você mesmo. Agora o PHP tem apenas algumas funções e métodos que você pode chamar, e ele faz tudo para você. E ele apenas atualiza constantemente como ele faz isso com os algoritmos e assim por diante para que você não precise. Como desenvolvedor, você realmente não precisa se preocupar muito com isso. A mesma coisa aqui. Então vamos passar por como fazer declarações preparadas no meu SQL I e PDO. Eles são ligeiramente diferentes. Eu diria que a implementação da DOP é provavelmente um pouco melhor, e você verá por que, enquanto passamos por aqui. Mas com isso fora do caminho, na verdade, antes de eu entrar nisso, o ponto que eu quero fazer aqui é usar declarações preparadas. Não há razão para não usá-los. Eles são suportados em qualquer versão do PHP que você tentaria executar nos dias de hoje, e eles apenas lidam com todos os problemas que surgirão quando se trata de
ataques de injeção . Então use declarações preparadas. Tudo bem, então sem sair do caminho, então podemos passar novamente pelo nosso código aqui. E então a coisa de cima é novamente praticamente a mesma. Temos nossas credenciais aqui. Temos nosso exemplo saciando minhas cinzas de julho e estamos verificando erros. Então todas essas coisas são iguais. Aqui é onde começamos a entrar em Ah, o que é um pouco diferente quando se trata de declarações preparadas. Então eu disse isso eu d variável aqui, dedo do pé um. Isso é apenas referindo a idéia do caminho com o qual queremos trabalhar, sabe, de lições passadas que temos um item em nossa estrada agora E então eu estou apenas referindo
aquele com o qual vamos trabalhar. E, claro, isso é apenas para fins de tutorial que, com base no que você está fazendo em sua aplicação, você meio que mudaria isso. Mas isso é o que isto é. A próxima linha aqui é onde nós entramos em realmente preparar a declaração. E isso é quando falamos de declarações preparadas. Esta é, por
assim dizer, a declaração preparada . Então vocês notarão que quando fizermos
isso, é um pouco diferente do que fizemos no passado. Então, em primeiro lugar, estamos passando nossa consulta. Agora, em vez de passar direto para minha escola, eu pergunto, estamos passando para preparar, e isso vai preparar o depoimento. E então nós selecionamos tudo de objetos, que é tudo o que fizemos no passado, e então temos onde eu d é igual. Mas você vai notar em vez de realmente colocar em um wan ou eu estava colocando em um ponto de interrogação. E então isso é o que é chamado de espaço reservado. E assim ele envia isso para o meu SQL I e minha escola bunda, eu me esquivei, faz o que ele precisa fazer essencialmente para preparar esta declaração, e então nós não estamos realmente passando o valor diretamente para a consulta. Essa é a primeira diferença. Estamos colocando um espaço reservado lá, e então nós vamos preencher, e nós vamos ligar parâmetros a ele. Certo, então essa é a próxima linha. Esta próxima linha, em seguida, vincula o parâmetro que queremos vincular a este suporte lugar. Então nós chamamos de bind Paramus e estávamos referenciando a maneira como isso funciona é ele vai uma ordem, assim como se você tivesse colocado antes, quando estávamos falando sobre como quando você insere valores e você tem que colocar as coisas na ordem
correta e isso é da mesma maneira. Então, quando você usa comprar Paramus, ele vai fazer referência a esta declaração preparada, e vai ser uma ordem de sua pergunta, Mark. Então, digamos, por exemplo, que você tivesse algo assim. Este é um tipo de declaração absurda, mas vamos apenas dizer que você tinha que pontos de interrogação aqui Que no programa de compra brilhante, você teria que fazer referência a ambos. Então o primeiro, o primeiro 1 aqui este primeiro D faria referência a este primeiro ponto de interrogação, e o segundo D faria referência ao segundo ponto de interrogação. E digamos que você teria que ter outro parâmetro aqui ou outra variável aqui que faria referência ao segundo ponto de interrogação. E então o que isso faz é ligar essa variável para o primeiro ponto de interrogação e esta variável para o segundo trabalho pergunta. E então esta parte dele, este d neste d está dizendo se é ah, imager ou uma string, Então D é o primeiro dígito er imager. Se estas fossem strings, você teria SS para string ou dependendo do que é você pode ter DS qualquer coisa. Mas neste caso, este ar, ambos os imagers. Então vamos fazer D d. Ok, modo que isso é o que realmente liga esses parâmetros,
em seguida, para os espaços reservados. E então isso vai dizer a ele qual variável deve usar e para esse espaço reservado. E ele vai fazer toda a verificação e escapar ser e todas as coisas que precisa ser feito para evitar ataques de injeção. Vai fazer tudo isso para você,
então você não tem que fazer isso, ok? E a partir daí, você realmente acabou de executar. Então nós chamamos instrução executar, e que vai executar a instrução e, em seguida, podemos obter o resultado usando obter o método get resultado fora de nossa instrução. Objeto aqui. Então, novamente você está preparando a declaração que você está colocando em seus espaços reservados. Você está vinculando os parâmetros aos espaços reservados que você está executando, e então você está obtendo seus resultados. O resultado que terá de volta será como antes, onde conversamos sobre como o que você está recebendo é, na verdade, minha referência de sequela. Não é o que você precisa para o PHP. Então, novamente, você ainda tem que com este loop through e executar, buscar, objeto no resultado e e colocar isso em uma matriz aqui. E então você vê aqui embaixo, estamos colocando os resultados. E é isso que nos traz isto aqui. Tudo bem, então uma última vez só para reiterá-lo, preparar seu depoimento e colocar em seu lugar titulares. Você vincula seus parâmetros, você realmente obtém o resultado. E a partir daí, é como qualquer outra consulta que fizemos até agora. Agora, uma coisa a mencionar aqui é que algumas pessoas, quando eles começam a aprender declarações preparadas, é que eles recebem tipo de declaração preparada feliz tudo tem que ser
preparado, preparado e que eles vão perguntar por e isso não é realmente o caso. Realmente? A única coisa que você precisa para preparar em suas consultas é os dados enviados pelo usuário. Esse é o ponto inteiro. Então você vê que nós estamos realmente declarando eu d toe um aqui e então nós estamos usando isso. Você estava preparando a declaração e usando que isso é algo que você realmente, isso é realmente, você não precisa fazer isso, mas isso é apenas para fins de tutorial, então eu posso mostrar-lhe. Mas, novamente, você não precisa fazer isso. Você Onley precisa fazer isso se forem dados enviados pelo usuário. Então, se você está apenas executando uma consulta em seu código onde não há nenhum usuário enviou dados nele, você não precisa fazer isso. Ok? Isso é apenas algo para ter em mente. Quando você está usando isso porque não há nada, não há nenhuma chance para que os dados sejam enviados ou injetados nele. É o código que você mesmo escreveu. Ok, então, novamente, isso não faz sentido, mas eu só quero fazer para ah, para que eu
possa te mostrar. Então vamos supor que essas idéias são uma coisa enviada pelo usuário, certo? Então isso é que está recebendo que está usando uma instrução select aqui, você vai ver aqui em baixo, então. Agora tenho algumas outras declarações que podemos dar uma olhada. E então, se olharmos para
este, este aqui, então podemos ver que temos. Isso nos dá um pouco mais de uma idéia de algo que podemos realmente fazer aqui. Então isso realmente iria no lugar onde estamos fazendo. Ah, a preparação e a compra aparecem. Estas duas linhas, fechamos estas linhas 16 e 17. Se estamos fazendo inserção, nós essencialmente tirar estes para fora e colocar estes dentro Está bem. E de novo, é a mesma coisa. Estamos preparando o depoimento. Então nós vamos inserir em nossa tabela objetos e, em seguida, os valores e você vai ver que estamos colocando em, que é espaços reservados. Então não há nenhum dado real que está aqui. É tudo apenas espaços reservados. E então a próxima linha estava vinculando os parâmetros. Então estamos assumindo, vamos supor que esses usuários de ar alguns em dados. Então eu inventei algumas coisas linguagem de código, por cento
oficial. Então quatro deles para representar seus quatro espaços reservados estes poderiam ser se este é, ah agora algum tipo de formulário que as pessoas estão preenchendo, pode ser e-mail de nome do seu post ou um que Pete que as pessoas enviem o formulário. Você pega esses dados da matriz Post e pode ser, você sabe, novamente nome,
e-mail, endereço, número de
telefone, se é isso que você está coletando. Ei, e nesse caso, você absolutamente quer ter certeza e se preparar. Use instruções preparadas porque são dados enviados pelo usuário. Ok, então este é um exemplo. Muitas vezes é inserir uma atualização onde você vai usar. Você vai usar mais declarações preparadas, às vezes com consultas selecionadas, você pode às vezes com excluir consultas claras. Unite You pode, embora muitas vezes isso é tudo feito internamente. Realmente não há. Muitas vezes, não
há usuário cimentado em associar com isso, mas inserir e atualizar, definitivamente você vai usá-los um pouco. Ok, então isso é uma atualização lá. Se dermos uma olhada no nosso próximo ou que foi uma inserção, nosso próximo é uma atualização, então você pode ver que a sintaxe é realmente a mesma. Tudo o que estamos fazendo é substituir onde tínhamos dados antes de substituí-los por espaços reservados . Então, é uma atualização. Objetos set post título é igual a pontos de interrogação alguns dois é igual a Ponto de interrogação 34 é igual a. E então nós novamente aqui em baixo brilhante, comprando os parâmetros se eles são cordas seus gerentes. E então você pode colocar dados reais retos aqui ou algum tipo de variável novamente. Muitas vezes isso virá de alguma forma, e estes serão os elementos em sua matriz post. Então, basta colocá-los aqui e eles estarão preparados e você estará pronto para ir . Isso é tudo que você tem para diligir. Ok, então o último é então o nosso deletar. Então isso é muito parecido com o seleto aqui em cima em que isso provavelmente não é tão comum onde você realmente usaria declarações preparadas simplesmente porque muitas vezes quando você exclui tudo é feito interno. Mas para mostrar que você usa a mesma sintaxe e elite de objetos de nome de tabela onde o I d é igual e nós temos um espaço reservado e nós temos essa idéia de um aqui em cima que iria lá, nós compramos o parâmetro, e então nós continuaríamos com nossa execução, obter resultado, etc. O que quisermos fazer nessa altura. Tudo bem, então isso é ah, declarações
preparadas na minha pergunta julho. Agora, se nós viermos aqui em cima, nós
comentamos isso, nós podemos então vir aqui e dar uma olhada no DOP, e eu vou mostrar a vocês como DOP é um pouco diferente. Ok, então novamente, vamos começar em DOP como normalmente fazemos. Nós também vamos usar essa idéia muito seu acima, aqui
em cima novamente. Vamos usar isso aqui em baixo. Mas nós detectamos uma nova incidência de DOP disse que nossos atributos, nós podemos ver Ares, e então nós vamos nos conectar, e nós vamos preparar nossa declaração novamente e você vai notar novamente. A consulta é toda a mesma, exceto para esta parte aqui. E a diferença aqui entre meu SQL ou minha sequela e PDO é que em vez de usar interrogação que são essencialmente anônimos ou sem nome, parâmetros estavam usando parâmetros nomeados e então estamos dando um nome a isso. Então, tem cólon. Certo,
essa é a grande diferença. Certo, E assim você pode ver aqui em baixo, então eu estou realmente referenciando este I d. e eu estou definindo como 8 era realmente deveria ser um. Mas eu posso nomear o parâmetro neste comando execute aqui, eu posso nomear o parâmetro que eu quero definir aqui. Então o que isso significa é, digamos que eu tinha nome lá, bem como um dos parâmetros. Bem, eu poderia fazê-lo em qualquer ordem que eu quisesse. Ok? Eu não tenho que fazer isso agora. Eu não tenho que fazer isso. Coloque-o nesta matriz na ordem em que apareçam na declaração. Ok, então isso faz com que seja um pouco mais conveniente de usar. Quero dizer, não
é grande coisa, mas como é um parâmetro nomeado, não
tenho que me preocupar com qual ordem? Eu coloquei as coisas neste array porque eu estou explicitamente referindo esse nome aqui. Essa é a principal diferença entre o meu mês de Julho e o DOP. A partir daí, você verá aqui, vamos usar essa busca, e então usamos essa constante esta propriedade aqui. Buscar objeto, PDO, buscar objeto. E isso vai buscar nossa matriz de objetos. colocamos esses objetos em um loop eles em uma matriz, imprimimos os resultados, etc. Então o resto é o mesmo. Então, novamente, a principal diferença aqui entre tudo o que fizemos são essas duas linhas. E então a principal diferença entre minha escola I e DOP são esses parâmetros nomeados. Então, se nós viermos aqui, então podemos dar uma olhada em alguns outros exemplos. Então insira os valores de objetos novamente, isso é tudo o mesmo. E, em seguida, os valores que usamos nossos parâmetros de nome e aqui estamos usando esta declaração agora como fizemos antes. Então nós descemos para o nosso método de execução e passamos na matriz de dados. Em seguida, referenciamos o conteúdo do título, nome e novamente porque é nomeado parâmetros. A ordem aqui realmente não importa. E porque estamos passando por aqui e não estamos usando uma declaração preparada, não
temos isso aqui em baixo. Claro, olhamos para atualizar a mesma coisa. O código é muito, muito parecido. Exceto quando chegamos a valores reais, colocamos no lugar titulares. Então título colocou o nome do conteúdo e foram vinculando esses parâmetros aqui novamente. Ah, no método execute com o nosso raio mesma coisa com excluir excluir de objetos onde eu d é igual espaço reservado em nosso bloco X Q foram, em seguida, dando esse parâmetro nome um valor, certo? Portanto, não é muita diferença entre o que você pode ter feito no passado se você
nunca trabalhou com isso nos valores de inserção e agora usando declarações preparadas, você está tudo o que você está fazendo é colocar espaços reservados onde antes você estava realmente conteúdo em e, em seguida, você está usando na minha escola, eu usando comprar Paramus e, em seguida, uma instrução executar e M PDO, você pode fazê-lo direito na instrução executar dentro de um raio aqui e, em seguida, novamente, sem nome versus parâmetros nomeados. Essa é uma grande diferença entre minha escola e DOP quando se trata de declarações preparadas, então use isso. Não é se você tem um aplicativo antigo ou algo assim, não
é muito difícil mudar para esta maneira de fazê-lo. Sabe, você tem que mexer no seu casaco e fazê-lo um pouco, mas não é essa coisa esmagadora que não pode ser feita. Então, ah, definitivamente use isso. Se você está construindo algo do zero começando agora, então você deve estar fazendo isso desde o início. Tudo bem, então isso é declarações preparadas. Obrigado por assistir. Falamos com a próxima vez.
35. Crie um curso de banco de de de dados: Bem-vindos de volta à praia. Seja 101 nesta lição. Vou falar com você um pouco sobre solidificar tudo o que aprendeu até agora. E o ponto desta lição é menos sobre o código em si, porque você poderia fazer isso em qualquer número de 100 maneiras diferentes, e é mais sobre a idéia. E novamente, esta idéia de não pensar demais e não recriar a roda. E então a idéia aqui é realmente criar uma classe de banco de dados e levar tudo o que você aprendeu até este ponto e meio que cristalizou em uma classe que você pode então usar uma e outra e outra vez. Ou melhor ainda, na minha opinião, é, em vez de escrever um destes a partir do zero, use um dos muitos que já estão lá fora. Há toneladas e toneladas de classes classes PHP para manipulação, manuseio manual, os elementos básicos e
cruddy que temos falado para interagir com o banco de dados. Eles estão lá fora para você usar de novo. Eu acho que é importante para, você sabe, código por trás de tudo isso e como tudo funciona. Mas ao mesmo tempo, quando você começa a construir coisas para as pessoas, não
há necessidade de recriar a roda. Não há necessidade de fazer uma coisa mais difícil do que tem que ser em si mesmo. Então, é isso que eu quero que você saia dessa. Mas vou passar por isto e mostrar-te como construí este para que possas
inspirar-te sobre como queres fazer o teu próprio, para veres o que eu fiz ao invés de definir variáveis. Defini algumas constantes aqui. São só um pouco mais fáceis de trabalhar. Você tem que globalizar e fazer tudo isso quando você está trabalhando dentro de uma classe e todas essas funções
diferentes. Então é realmente a mesma idéia do que estávamos fazendo antes. Eles são apenas definidos agora como Constance e então nós estamos criando foram tecnicamente ver se nossa classe já existe. Então, se a classe não existe, isso é o que isso é aqui, essa classe DB. Então vamos criar uma nova classe chamada DB e, em seguida, dentro dela, temos todos os nossos métodos que criamos, assim como fazemos quando criamos uma função processual na maneira processual. Exceto que adicionamos este modificador a ele, seja público ou privado, protegido, etc. Não quero chegar muito perto de você falando de aulas. Mas, ah, isso é o que isto é. Estas são essencialmente funções dentro de uma classe e estas se tornam seus métodos de classe . Tudo bem, então eu vou te dar uma olhada rápida nisso e então vamos falar sobre algumas dessas coisas mais em profundidade. Então nós temos um número de funções públicas de água, então essas funções de ar que podem ser usadas fora da própria classe. Então você pode instância oito uma instância da classe e, em seguida, chamar esse método Você precisa de um método
público para ser capaz de fazer isso. Métodos privados podem Onley ser chamados dentro da própria classe. E eu vou te mostrar isso um pouco aqui em um segundo. Mas estes são os que estavam principalmente preocupados com. O 1º 1 é conectar. Isso é apenas conectar-se ao banco de dados como fizemos 100 vezes. Temos um método de consulta simples. Então, novamente nós estávamos executando consulta antes em algumas das coisas que estávamos fazendo nós
criamos nosso próprio método de consulta. Temos um método de inserção para lidar com toda a inserção para nós. Temos um método de atualização. Se viermos aqui, temos resultados. Então isso é para obter várias linhas de dados e, em seguida, temos linha get. Isto é para obter uma linha de dados. Nós temos um método de exclusão e esses são todos os nossos públicos que nós realmente usaríamos quando estamos usando esta base de dados. E então temos essas duas funções privadas que só podem ser chamadas de dentro da
própria classe . E estas são realmente funções privadas são destinadas a ser funções auxiliares. Então você não pode chamá-los se você instância e uma instância da classe, você pode realmente chamá-los fora disso. Então aqui em baixo onde estamos chamando DB insert db update. Você não pode fazer isso com esses métodos. Estes ar em Lee chamado na verdade dentro da própria classe, e novamente, eles são apenas ajudantes. Eles só estão nos ajudando a fazer coisas em outras partes do nosso código em vez de reescrever este código várias vezes. E, de fato, se fizermos ah, procurar por valores aproximados, você percebe que há três instâncias dele que ele é usado. Então é usado aqui em cima e é usado de volta aqui também. Então isso está lá apenas novamente, apenas ajuda métodos hoper. Certo, então os principais que importam aqui são antes de fazermos isso. Então a idéia toda aqui é então, uma vez que você construiu esta classe, se nós viermos aqui, eu exemplo, comer uma nova instância da classe e então eu posso chamar, apenas chamar, obter resultados e coloque uma consulta aqui. E eu não preciso de todas as outras coisas que estávamos fazendo antes, onde nós constantemente teríamos que reescrever o mesmo código uma e outra vez e outra vez. Terei que fazer mais isso. Eu só chamo isso com minha consulta e você vai ver aqui em cima. Eu estou conseguindo. Estou imprimindo. Estou pegando bem aqui. Eu refresco isso. Não há nada de louco acontecendo aqui. É só que está fazendo isso por mim. Então esta é a ideia. Tudo o que você aprendeu até agora pode ser colocado em uma classe cristalizada, e então você pode simplesmente usar isso uma e outra vez e outra vez. Ou como eu disse, use um que já existe lá fora. Então isso torna a sua vida de codificação muito mais fácil. Então vamos falar sobre como fazer isso. E vou passar por este código. Mas eu não vou ficar super em profundidade explicando tudo porque eu realmente
quero que você tome isso como seu desafio deste módulo é escrever um desses para você
mesmo, mesmo se você vai usar outro, seu desafio é para ser capaz de escrever uma classe como esta. E então eu quero deixar algumas lacunas lá fora para você preencher porque é assim que você cresce é um desenvolvedor. Ok, então eu vou te dar acesso a todo esse código, é
claro, mas eu quero que você se desafie a tentar construir um desses por conta própria. Tudo bem. Então a primeira função é a nossa função de conexão ou método de conexão, e você pode ver aqui tudo o que está fazendo é instância, comendo uma nova instância do meu traseiro julho passando em nossas credenciais. E então ele está apenas voltando. Isso é o que ele está retornando. Então, quando você chamar este método, você vai obter de volta uma instância do meu SQL I que você está conectado e
você pode usar com e você vai ver se nós chegamos aqui abaixo no início de praticamente cada uma dessas funções. Eu estou chamando este método aqui, e isso é apenas para acionar meu SQL I e levar-nos para ir fica conectado ao nosso banco de dados e
tudo mais. Então, ah, nós apenas colocamos isso em um método. E agora nós não temos que re tipo que toda vez que apenas chamamos esse método. Muito bem, próximo é o nosso método de consulta. Então este é apenas um método genérico que podemos usar para executar apenas consultas genéricas. Vamos entrar em alguns específicos, mas podemos chamar esse método diretamente. Podemos chamá-lo de outras funções. É só que é a parte real da consulta que temos falado no passado. Então, novamente, vamos chamar nossos métodos de conexão. Podemos obter uma nova instância da minha escola I e, em seguida, vamos simplesmente executar o que for passado em consulta. Então você notou que isso não está preparado, certo? Este é Justin em consulta genérica. Então isso seria algo que você usaria quando você é o que você está consultando, é tudo feito internamente. Isso você deseja usar isso com os dados enviados pelo usuário? Ok, porque não há nenhuma preparação acontecendo aqui. Não há como escapar de nada disso. Isso é tudo realmente atendido por apenas coisas internas. E este é provavelmente o lugar onde a maioria de vocês vê fazendo consultas teóricas mais complexas no aplicativo. Você vai usar o método Cory porque estes inserir e atualizar o nosso e obter linha e obter resultados e excluir esses ar atendido para coisas muito específicas. Enquanto você começa a entrar em coisas mais complexas, você só vai precisar de uma maneira genérica para que você possa ver que tudo o que estamos fazendo é passar isso direto para Ah, o
que é a nova instância do meu pedido de julho. Então agora isso está chamando o meu método de consulta SQL I. Ok, então isso pode ser talvez um pouco confuso, mas este é o nosso próprio método de consulta dentro do nosso banco de dados de classe. Há também o método de consulta para o meu perguntar julho em si que temos usado o tempo todo aqui que agora estamos referindo aqui e puxando put putting, passando nossa consulta para ele. Então, estamos fazendo tudo o que fizemos antes, onde estávamos passando nossas perguntas para o método da pedreira, caraças. Julho. Mas agora está dentro da nossa própria função de pedreira. E então você pode ver aqui para o resultado onde looping através foram buscar os objetos estavam colocando isso em uma matriz, e então nós estamos retornando os resultados. Então você se lembra como toda vez que estávamos sempre fazendo esse loop? Bem, agora está tudo no método de consulta. Não temos que fazer isso. Ele faz isso sozinho. E tudo o que temos que fazer é chamar esse método. Então nós o escrevemos uma vez, e agora podemos usá-lo de novo e de novo e de novo e de novo e de novo. Ok, então esse é o método genérico de consulta. O próximo é um método de inserção. Então este é um onde você vai entrar em declarações preparadas. Como eu disse antes nas lições passadas, Você sabe, inserir é onde você vai geralmente em certos atualizados onde você geralmente vai obter a maioria
dos seus dados enviados pelo usuário. Então é aí que você vai usar declarações preparadas pesadamente. Então nós vamos nós vamos tipo de escrever nossa própria maneira de fazer isso para que possamos passar dados para o nosso método de inserção e nós não temos que escrever todo esse código uma e outra vez e outra vez. Se você olhar aqui, isso começa online 23 e termina na linha 60. Então são 37 linhas de código que não temos que escrever uma e outra vez , certo? Então o que você passa para ele é a tabela que queremos trabalhar com os dados e, em seguida, o formato, que será para vincular nossos parâmetros. Certo, então a primeira coisa que fazemos é checar a tabela ou os dados e ver se eles
não estão definidos. Então, se a tabela não está definida e não temos dados passados, não
podemos realmente fazer nada. Então, vamos apenas retornar falso. Em seguida, vamos nos conectar ao banco de dados, e então nós estamos indo para Ah, nós vamos criar nossos arrays que vamos estar usando para dados e formato, então isso não é necessariamente necessário fazer isso. Mas esta é a melhor prática para que você não receba nenhum aviso ou não receba nenhum aviso e coisas assim. Então, estamos criando um novo ah, estamos criando uma nova variável e estamos lançando nossos dados e nosso formato para matriz para
garantir , essencialmente que eles são um aumento porque precisamos deles em um reformato. Em seguida, vamos construir nossa string de formato. Então o que isso significa é que, se você se lembrar, vamos em frente e abrir isso de volta para as declarações preparadas aqui. Se você se lembra de um depoimento preparado, nós temos esta rua. Esta é, na verdade, uma string aqui que passamos para o programa de compra, e é formatado de uma forma específica. Bem, estamos fazendo tudo isso dinamicamente, então precisamos construir essa string com o array com o que foi passado para nós como um array para esta opção de formato aqui. Certo? Então, estamos apenas usando implode e você vai notar que há, não
há espaços. Não há vírgulas porque aqui atrás, não
temos nada disso aqui. OK, então é apenas loop, essencialmente como looping through e colocá-los todos em uma corda. Você vai acabar com S S s como o que quer que seja passado para este ou matriz de formato aqui. E então eu acredito que quando escrevi isso, eu estava usando esses, uh ah. Eu estava usando esses sinais de porcentagem junto com ele. E então eu estou arrancando aqueles de lá essencialmente. Então, se viermos aqui quando passarmos até agora, insira. Quando passamos no formato, eu estou usando porcentagens, porcentagens e aqui, eu estou apenas removendo-os. Você provavelmente não poderia fazer isso. Parece que seria uma maneira mais inteligente de fazer isso, de não usar esses sinais de porcentagem aqui. Mas quando eu construí isso, por alguma razão, eu fiz aquilo. Então, eu só estou tirando esses sinais de porcentagem aqui e no próximo. Nós temos essa lista, que é realmente funciona, mais uma construção de linguagem. Mas qual é a lista? É um pouco complicado, mas essencialmente leva em um dado que você não tem Honore e ele lista. Ele cria, por assim dizer, as variáveis associadas a isso. Então, se você tivesse, isso é para isso que é suposto ser o Array. Agora já superamos isso. Temos um método aqui. Digamos que você tinha uma matriz de você tinha um raio que tinha azul, verde, vermelho e aqui alistar. Você colocou suas variáveis: azul, verde, vermelho. Ele criaria uma matriz onde a variável azul é igual a azul e a variável vermelha é igual vermelho e verde é igual a verde. Ok, então ele pega esse array e essencialmente os transforma em variáveis. E o que você coloca aqui se torna os nomes das variáveis e o que está aqui na matriz torna-se o valor desses raios. Então, em vez de listá-los todos em uma linha, isso faz com que seja este tipo de atalho? Agora você vai notar que estamos passando isso para preparar consulta nossa função privada e o que estamos
passando são nossos dados que foram passados em dois para nossa função aqui. Então, para rastrear isso de volta, precisamos voltar para o método de inserção e o que passou os dados que foram passados, que é o segundo parâmetro. Então, se formos inserir aqui, os primeiros parâmetros a tabela, o segundo é nossos dados reais. Portanto, o título da postagem é igual a abstração, conteúdo da postagem de
teste, etc. são os dados reais que queremos inserir. E isso é o que está sendo passado para o método de inserção. E então nós somos pat, em
seguida, passando os mesmos dados sobre a consulta de preparação. Então, o que está preparado? A consulta faz. Essencialmente, o que a preparação Corey faz é torná-lo de modo que ele reconfigura para que possamos ter um campos, um espaço reservado e uma variável de valores. Então, ele divide os campos, os espaços reservados nos valores. Ajuda-nos a preparar-nos para uma declaração preparada. Então, se descermos para consulta de preparação, você pode ver aqui campos, espaços reservados, valores. E então o que estamos fazendo é que estamos looping através. Estamos pegando todos os campos e colocando aqueles em um array estavam pegando todos os valores, colocando aqueles em outro array. E então estamos criando um espaço reservado. Ah, matriz de
espaços reservados que vai entrada são titulares de lugar. Então você pode ver que temos igual Ponto de interrogação. Há algumas coisas que estão acontecendo aqui, mas essa é essencialmente a idéia. Então agora pegamos nossos dados daqui de baixo e quebramos. Coloque todos estes em um campo ou um colocar todos estes em,
ah, ah, matriz de
valores. E então criamos os espaços reservados que precisarão colocar em nossa declaração preparada. Então, novamente, é apenas preparar a consulta para que possamos confundi-la com declarações preparadas porque
precisamos dessas coisas separadas com declarações preparadas. Tudo bem, então uma vez que tenhamos feito isso ah, então vamos fingir o formato na matriz de valores que acabamos de criar. E então vamos preparar,
preparar ou consultar o ano apropriado são criados para a ligação. Então aqui,
aqui é onde estamos na verdade, você vê, estamos passando esta oração. Foram realmente criando são preparados declaração e assim você pode ver que estamos inseridos na tabela que temos a partir daqui de cima. E então agora temos nossos campos separados. Lembre-se, temos que colocar os campos no primeiro conjunto de parênteses e, em seguida, os valores no segundo conjunto de parênteses. Então é por isso que precisávamos dividi-los do que fomos passados em N v a r ah, através do método que foi passado parâmetro de dados nvr. Ok, então isso é o que isso está fazendo agora nós temos nossos espaços reservados, então comentários campos, nós usamos espaços reservados e você pode imaginar Então, aqui em
baixo neste, nós vamos usar call user funk array porque você precisa fazer isso, a fim de para o trabalho de
compra do dedo do pé. Mas basicamente isso é exatamente como a nossa declaração de parâmetro estão comprando que tínhamos antes, e então estamos passando em nossos valores aqui. Então nós estamos vinculando nossos valores para nossos espaços reservados que criamos aqui agora valores ref Esta era nossa outra função privada. Essencialmente, você não pode com declarações preparadas. Se você tentar passar algo diretamente, você receberá um erro que diz,
Você sabe, Você sabe, há uma passagem por área de referência e então você tem que fazer. Tudo o que você passa para uma declaração preparada tem que ser uma variável. Não podemos passar o valor diretamente, então isso basicamente garante que isso aconteça. Esse tem sido o objetivo principal. Ok, então é isso que está acontecendo aqui em cima com isso. Com sua referência de declaração de valor aqui em cima, certifique-se de que tudo o que é passado para vincular programa cada valor é passado de uma forma que comprar Paramjit pode usar. Caso contrário, você receberá erros e não funcionará logo a seguir. Então nós apenas executar a instrução, e nós verificamos para ver se ele foi bem sucedido. Então vemos se há alguma rosa afetada. Se sim, então é verdade. E se não, retornamos falso. Claro, você poderia retornar coisas diferentes aqui se você quisesse para o seu banco de dados particular. Se houver algum tipo de erro ou se você quiser virar, devolva a orelha estranha. Qual é o resultado, ou como você quer fazer isso. Mas este é apenas o cheque para ver se foi realmente inserido, certo? Então essa é a nossa função de inserção. E novamente, a coisa boa é, se viermos aqui quando chamamos essa função de inserção ou método de inserção, colocamos no nome da tabela, colocamos em uma matriz de nossos dados em um formato que é fácil para nós, Toe para usar faz sentido, e então passamos em nossa matriz de espaços reservados, então é muito, muito fácil de usar. Nós não temos que ir e escrever todo aquele código que nós apenas escrevemos uma e outra vez e outra vez. Nós apenas chamamos o método, e é muito, muito simples, logo a seguir é atualização. Então a atualização é
realmente, muito semelhante, exceto que precisamos adicionar em que tipo de cláusulas. Então precisamos quando você atualizar sua atualização de um registro específico. Então você precisa especificar o registro para que você perceba aqui. Muito disso vai ser realmente semelhante, então vamos verificar para o T su C de tabela ou dados ou não definido. Nós nos conectamos ao banco de dados nós lançamos nosso, ah, lançamos eles para um aumento para ter certeza de que temos um raio de dados. Isso porque é com isso que vamos trabalhar. Criamos um formato como antes, mas agora aplicamos a mesma coisa ao formato de desgaste. E o que é isso é que se viermos aqui para nossa declaração de preparação real, vamos atualizar esta mesa que vamos colocar, e temos nossos espaços reservados aqui. E depois temos a nossa cláusula de desgaste. Nós temos que realmente criar uma cláusula onde eu d é igual a um. Bem, pode ser que você possa usar isso. Você pode passar os dados enviados pelo usuário para isso, então vamos em frente e preparar essa declaração, mesmo sabendo que no passado eu disse que você não precisa necessariamente fazer isso, mas não sabemos que tipo de pai vai passar isto. Então vamos em frente e preparados só para ter certeza. Então estamos preparando isso onde eu d igual, digamos, três. Aquele três. Isso pode vir da entrada do usuário, então vamos prepará-lo só para ter certeza. Certo? Então este é o começo do que nós temos que passar de novo. Então, o formato de desgaste, o tipo de desgaste da declaração e, em seguida, ou o valor e então o formato de desgaste
é é uma corda ou um imager? Então temos que passar isso. E então tudo o que estamos fazendo aqui é para o formato de desgaste. Pode haver vários. Então estamos implodindo. Estamos nos livrando dos sinais de porcentagem novamente e, em seguida, ou formato. Coma o formato que vamos usar é igual ao formato de desgaste r. Então, novamente, estamos usando lista para criar variáveis fora de nossos campos. Os espaços reservados e os valores estavam passando isso para a consulta de preparação. De novo, estamos de passagem. Nossos dados estavam passando neste modificador de atualização. A razão pela qual precisamos que os modificadores de atualização se tornam para preparar membro consulta este aqui. Se o tipo é igual a atualização, então precisamos de uma nova pergunta igual, Mark, não apenas uma pergunta, marca, porque é uma declaração consciente, então ele precisa de um igual. Tudo bem, então se continuarmos onde estamos pegando nossas garras de desgaste e onde valores e tudo isso
configurado para looping através e então nós vamos preencher essas, nós vamos contar, e nós vamos preencher essas. Ok? Então nós levamos nossos são onde os itens aqui que foram passados para onde? E deixa-me mostrar-te isto aqui para que faça mais sentido. E nossa atualização, temos novamente a tabela, os dados que queremos enviar. Nós temos o formulário fora desses dados, e então aqui nós temos são reais. Esta é a nossa cláusula de desgaste. Então eu d é igual a um, exceto que passamos como um array e este é o formato dele. Ok, então, novamente, você poderia passar em vários aqui, se você quiser. E é por isso que estamos fazendo tudo o que estamos fazendo porque não
sabemos o que vai ser passado para ele. Então nós estamos fazendo loop através de que matriz onde, que era I d ah é igual a um. E estamos nos separando. É uma corrida em que o campo está recebendo um campo e um valor. Se for maior que zero, então vamos adicionar um e assinar. Então, se formos para um segundo ciclo porque você com uma cláusula onde você pode ter onde eu d é igual um e papa e post título é igual a título post ou o que quer que seja. Então você precisa disso e ali entre seus armários onde. Então, se tivermos mais de um em nossa matriz que vamos fazer isso, adicionar isso e a ele, e então estamos apenas criando nossos panos de desgaste. Então vamos ter o nosso campo, que é igual a interrogar Mark. E então temos nosso valor de desgaste aqui. Este é o valor
real que temos de lá. E nós vamos, então, apenas contar e fazer um loop através disso até ficarmos sem itens nessa matriz em particular. Certo? Então isso prepara a nossa cláusula de desgaste, e então vamos fazê-lo novamente. Estamos preparando nosso formato para os valores aqui. Então nós estamos colocando nosso formato na matriz de valores, estávamos surgindo isso juntos, e então nós vamos entrar em nosso vapor preparado aqui. Então temos atualizar o nome da nossa tabela. Nós vamos definir. Nós temos os nossos espaços reservados, ar, todos os Lembre-se se olharmos aqui na nossa atualização Ah, são todos os nossos você pode fazer isso de várias maneiras diferentes,
mas, mas, hum, nós temos todos do nosso em nossa área set aqui. Temos apenas um monte de pontos de interrogação após o sinal de igual aqui. Então, hum, novamente nós estamos apenas recebendo nossos espaços reservados aqui para que nós combinamos parâmetros para eles. E então onde e nós estamos usando nossa cláusula de desgaste
aqui, aqui, nós vamos vincular os valores novamente. Então estamos usando essa matriz de funk de usuário chamada, toe chamá-lo, comprando os parâmetros, passando os valores de ref. E estamos passando esses valores através de nós estamos executando, e então estamos verificando se há inserção bem-sucedida. Então, Então, mais uma vez, sei que quero dizer que sei que a primeira vez que passares por isto,
provavelmente vai ser um pouco acima da tua cabeça. Tudo bem, porque A você não precisa necessariamente saber tudo isso para usar isso e B, você não precisa escrever dessa maneira. E mais do que tudo, eu quero que você tenha uma idéia de começar a escrever isso você mesmo, e não vai ser fácil. Vai ser um desafio. E esse é o ponto é que você vai crescer com isso. Mas eu quero passar por isso para que, quando você começar a construir
isso, comece o dedo do pé. Alguns deles vão então começar a fazer sentido, você pode voltar e referências e assim por diante. Tudo bem, o próximo então é obter resultados e você pode ver agora que podemos começar a alavancar alguns dos outros métodos que criamos. Então nós vamos apenas passar em nossa consulta e então nós vamos Ah, nós vamos passar isso para o método de consulta, e é realmente simples e simples. Então, há, você sabe, isso é
realmente, muito, uh, simples de usar, não há uma tonelada para obter rosa da mesma forma. Exceto que a única diferença é que, em vez de retornar todos os resultados, vamos apenas retornar o primeiro resultado. Agora, isso é assumindo novamente, isso assume que você vai passar em uma instrução seleto que tem um Kloss ciente para ele . Então você não vai fazer se você está indo para fazer selecionar tudo de, você sabe, selecionar tudo da tabela e não usar a cláusula where que você usaria obter resultados. Se você estiver indo para fazer selecionar todos da tabela onde eu d é igual a três e seu assim que você está
recebendo apenas uma linha, que é onde você usaria obter linha. Ok, então isso só vai virar retornar o primeiro resultado para que você possa passar em uma consulta que seleciona tudo em uma determinada tabela, todas as estradas em uma determinada tabela. Mas você só vai ter o primeiro resultado de volta. Então, usá-la mesmo? Quando obtiveres resultados para isso. Em seguida, é o nosso método de exclusão. Tão simples. Você passa o nome da tabela e a idéia do registro que você deseja excluir que deve com o que passamos deve começar a fazer sentido. Então nos conectamos ao banco de dados, preparamos nossa declaração aqui, então vamos excluir da tabela onde eu d é igual e, em seguida, vamos vincular o valor. Então é um gerador de imagens. É que eu tinha sido. E novamente, estamos limitando o que você pode passar para isso de propósito. Então você só pode passar uma idéia de cada vez. Bem, isso é de propósito. Estamos nos certificando de que é um gerador de imagens. Hum, você só pode passar você só apagar por i d. Então é propositalmente limitado dessa forma. Excluir funções. Você meio que tende a querer fazer isso porque lá eles podem ser assustadores. Então, compramos o parâmetro que executamos, e verificamos se foi feito com sucesso. Então este é muito, muito simples. Este é um código que nós meio que fizemos, hum, antes. E então passamos pelo resto disso. Tudo bem, e você pode ver aqui em baixo, então fica muito fácil de usar. Chame a Rose. Selecione tudo a partir de objetos. Excluir objetos. Nove inserção. Temos nossa atualização de dados, etc. Então, de novo eu sei um pouco disso na primeira vez que você passa por isso,
você é como, Whoa, você sabe, a
maioria das pessoas é como, Whoa, Whoa, o que foi tudo isso? Esse é o ponto. Este vídeo realmente significou mais para desafiá-lo. Ah, então é necessariamente para te ensinar absolutamente cada pedacinho dele. Eu quero que você vá lá fora e tente criar isso por conta própria e se empurre e tente se esticar um pouco até o ponto em que você pode fazer isso. E se você pode construir isso, então você pode fazer praticamente qualquer coisa lá fora que você gostaria de fazer com PHP. Então, tome isso como esse tipo de desafio, um e então a partir daí, se você quiser usar o que você construiu bio significa o contrário, há todos os tipos de classes diferentes lá fora, eu acho fácil. SQL é provavelmente o WordPress mais popular, na verdade, Ah tomou SQL fácil e tipo de ajustá-lo para sua própria versão pouco. Então ele executa uma espécie de versão do Easy SQL. Há todos os tipos de outros lá fora que usam declarações preparadas e assim por diante para que você possa construir o seu próprio só para que você saiba como fazê-lo. E então você pode usá-lo ou você pode usar um dos muitos outros que estão lá fora. Tudo bem, então isso é abstrair um banco de dados criando uma classe de banco de dados. Obrigado por assistir. Falamos com a próxima vez.
36. Envie e em HTML para um banco de dados do MySQL usando o PHP usando no PHP: de volta ao PHP 101 esta lição. Eu vou tipo de amarrar tudo o que aprendemos neste módulo e também amarrar, amarrar o que você aprendeu ele vai um pouco para alguns do que temos feito no passado são exercícios
práticos com trabalho com formulários. Então você pode começar a colocar tudo isso em sua mente e em sua
base de código e começar a construir algo que você pode usar para obter clientes trabalhando, etc. Então o que vamos fazer aqui é ah é apenas um formulário simples que vai se submeter ao meu banco de dados de
sequelas e vamos usar minha escola. Vou usar declarações preparadas e assim por diante. E então eu vou meio que passar por isso e mostrar a vocês o que fizemos aqui. Então a primeira coisa que vai fazer é gostar de vir aqui para o terminal. Eu vou ir em frente e entrar em,
uh, uh, minha sequela, e então nós vamos usar nosso PHP um em um banco de dados aqui, e então eu vou selecionar tudo de nossa tabela de usuários, que é uma tabela que eu criei você pode ver que há o certo. Isso é um conjunto vazio. Então não há nada lá, então você pode ver que não preparou nada. Não há nada lá e assim por diante. Tudo bem, então se viermos aqui para a direita, o que faremos? A maneira como este formulário funciona é tudo ir. Vá em frente e coloque em meu nome. Um e-mail Ah, com
o qual podemos trabalhar. E eu vou ir em frente e bater, enviar sobre isso e mostrar a vocês que o que estamos fazendo é que estamos enviando o do banco de dados , e agora estamos exibindo esses dados também. Então isso eu vou mostrar a vocês como enviar o formulário, como obter os dados do formulário, como colocá-lo em um banco de dados e, em seguida, voltar e pegar esses dados do banco de dados. Então ele meio que lhe dá o círculo completo do que você faria, o que você provavelmente faria com um formulário como este. Então, só para que você possa ver agora que ele está no banco de dados, todos fazem. Ah, execute novamente a consulta que seleciona tudo novamente. E agora vocês podem ver aqui que temos um registro em nosso banco de dados e esse é o registro que estamos exibindo aqui. E estamos tirando isso do banco de dados. Não estou pegando os dados que foram enviados via Post,
pegando no banco de dados, e vou mostrar isso aqui. Certo, entrando no código que não fechou isso, acho que não precisamos mais disso. Mas entrando no código a primeira coisa que eu vou descer e mostrar a vocês é o
formulário HTML real . Agora, como eu disse, eu meio que criei uma página HTML padrão. Eu coloquei um pouco de estilo aqui,
então, se você quiser usar isso no que você está fazendo, ele estilizou um pouco. Claro, você pode se sentir livre para mudar isso ou implementado para se você estiver usando bootstrap ou o que quer que seja . Eu não vou realmente passar pelo código CSS aqui porque eu quero me concentrar na
parte PHP dele. Tudo bem,
então, mas isso é apenas todo tipo de coisa padrão de cabeçalho. Então, se chegarmos aqui ao formulário real, então temos algumas coisas acontecendo. Então eu tenho a minha etiqueta de formulário. Minha ação está em branco, e o que isso vai fazer é que vai custar este formulário para cimentar de volta para a mesma página. Então este é um tipo de formulário de auto-envio. Ele vai submeter de volta a esta mesma garota agora que você poderia Ah, como você provavelmente viu, você pode especificar o U R l aqui. Então nós poderíamos fazer algo como processo parar o PHP. E assim isso iria então enviar isso para que Você é l qualquer que seja o tipo de base que
você está trabalhando com é e, em seguida, processar dot PHP e você poderia tê-lo processado lá. Você poderia absolutamente fazer isso. Mas neste caso, eu só quero colocar em um arquivo e mostrar a vocês um formulário de auto-envio. Então vamos deixar em branco assim. O método é, é claro, post. E então acabei de dar uma classe de forma. Falaremos sobre isso depois de um pouco, então ignore isso por um segundo. Isto tem a ver com o nosso display, e então você pode ver que este é realmente apenas um formulário bastante padrão. Temos três entradas. O 1º 1 é uma entrada de texto com o nome do nome. Então esta é a entrada de nome aqui. Coloquei um espaço reservado que diz “digite seu nome completo”. Temos uma entrada de e-mail. Então isto é para o endereço de e-mail. Aqui. O nome dele é e-mail e novamente um espaço reservado. E, em seguida, finalmente, são enviar botão e apenas o valor de enviar. Tão simples lá. A coisa chave em termos de PHP com isso é realmente essa designação de nome aqui porque isso vai ser em última análise em nossa matriz post. Esta vai ser a chave. Então vamos ter um o que vai acontecer quando enviarmos este formulário? Será que vai? Ele vai se tornar uma parte de nossa matriz post. E nessa matriz terá ah, todos os elementos que Aaron, essa matriz serão os campos de formulário da nossa forma. Então a chave para cada elemento será o que designamos como o nome assim e então o valor, é
claro, será o que for submetido em nossa forma. Tudo bem, então isso é realmente em termos de pêssego ser a maior coisa que importa. É essa designação de nome para cada entrada Então nossas chaves serão nome e e-mail faz sentido. Certo? Então, quando nós novamente quando enviamos este formulário, em
seguida, ele vai enviar de volta para a mesma página, e ele vai pegar os dados que foram enviados deste formulário e colocá-lo em nosso post super global para que possamos acessá-lo e usá-lo. Então isso nos configura então para usar nosso PHP. Então, se chegarmos aqui, a primeira coisa que vamos fazer em nosso PHP é verificada para ver se há algum dado em nossa matriz
post, porque se não houver nada disso se aplica, não
vamos enviar nada para executar o banco de dados para fazer qualquer uma dessas coisas porque não há dados para trabalhar. Então, só verificamos se está vazio ou não. Se está vazio do que nós simplesmente não fazemos nada, nós estamos realmente apenas indo apenas mostrar o formulário para eles para enviar dados. Claro, assumindo que os dados foram enviados, então vamos começar e fazer algumas coisas, então a primeira coisa que precisamos fazer é apenas obter os dados de nossa matriz post agora. Ah, muitas vezes você vai ver pessoas fazendo algo como Ah, como isso, e é assim que todos tipo de armazenar sua loja, seus dados, certo? Então isso é uma coisa típica que você pode ver e que tudo o que está fazendo é como eu disse, este nome, esta chave combina com o campo que definimos aqui como nome. E, claro, você faria a mesma coisa para o bloqueio de e-mail. Agora, o que estou fazendo aqui é algo um pouco diferente. Então o que estamos realmente fazendo é em vez de apenas pegar os dados brutos porque estamos trabalhando com dados enviados pelo usuário em vez de apenas pegá-los e porque nós temos, ah, forma onde nós sabemos geralmente o que estamos esperando obter. Na verdade, estou filtrando antes de fazermos algo com ele. E então eu estou executando essa função PHP chamada entrada de filtro. E esta é uma designação que diz essencialmente quais dados pegar. Então é o post eso de entrada que queremos. Os dados do Post estavam basicamente pegando os dados da matriz de postagem, e a chave que estamos pegando é o nome, porque é isso que estamos sentados aqui. E estamos fazendo isso através do filtro de cordão de gravata do Papai Noel Então, essencialmente, o que isso vai fazer é pegar os dados que foram enviados neste bloco de nomes Ah, e está em nosso terreno de pós, e ele vai executá-lo através deste filtro de cadeia de desinfetar, que é essencialmente vai se livrar de HTML e PHP. Coisas que sabemos que não pertencem ao nome. Então ele só vai fazer uma espécie de limpeza geral deste caso de dados com isso, e então é uma vez que ele é limpa vai devolvê-lo e que os dados de limpeza serão definidos como o nome aqui, então teremos um nome filtrado. Ah, aqui no nosso para o nosso nome Variable Now para o nosso e-mail estavam essencialmente fazendo a mesma coisa. Exceto se o nosso e-mail não é válido porque o e-mail é uma espécie de peça chave de informação, se nossos e-mails não são válidos, nós vamos simplesmente matar o script ali mesmo porque queremos ter certeza de que
recebemos um e-mail válido. Então o que estamos fazendo aqui é que estamos executando entrada de filtro, assim como fizemos aqui. Então filtro de entrada, entrada de postagem. Agora é o elemento de e-mail, e estamos executando um filtro diferente, que é validar e-mail. Então ele vai tentar validar o endereço de e-mail. Mas estamos colocando isso em uma declaração se e então há um pouco acontecendo aqui. E também passo por este um por um. Então você provavelmente já viu algo assim antes. Se eu me livrar disso, e-mail é igual e o que isso faz é que ele diz Olhe, se essa entrada de filtro retornar significado falso, não
é um endereço de e-mail válido, nós vamos morrer. Vamos acabar com o guião. Então é isso que esta parte faz agora, acrescentando, este e-mail é igual a parte. O que ele faz é se isso, seja qual for a entrada do filtro definida ou o que for
que ele retorna, é por isso que os e-mails serão definidos. Então, se o filtro de entrada, se ele não validar seu vai retornar false. Então, se ele não for válido e os e-mails serão definidos como falsos e não importa porque estamos matando o script de qualquer maneira, então torna-se irrelevante se for falso, estamos apenas matando o script, e realmente não importa para qual e-mail é enviado. Mas se isso valida do que o filtro de entrada retorna é o endereço de e-mail,
então, essencialmente, estamos verificando o endereço de e-mail para ver se ele é válido, e se for, estamos definindo isso. Estamos definindo a variável de e-mail Eva para esse valor para o endereço de e-mail se for válido . Então isso foi uma espécie de combinar isso tudo em um. Então, o que essas três linhas farão essencialmente, é se o e-mail for válido, então ele continuará. Deixe-nos continuar o processamento e definir esta variável de e-mail para o valor do e-mail. E se não for válido, vamos acabar com o guião. Então é isso que estas três linhas fazem aqui, certo? Então, novamente, e nós fazemos isso no vestido de e-mail porque é uma espécie de
informação mais importante e e nós podemos saber o que é como um endereço de e-mail deve ser validado. Onde está o nome? Sabe, estamos nos livrando de algumas coisas básicas. Html PHP. Sabemos que esse não deveria ser o nome, mas um nome pode ser, sabe, de lá pode ser sobre qualquer coisa. Então não podemos fazer uma filtragem muito pesada aqui. Tudo bem, seguir é um monte de coisas que você tem sido visto neste curso. Então, estamos definindo nossas credenciais de banco de dados como sempre fizemos. Estamos nos conectando à minha sequela com aqueles Ah, com essas credenciais criando uma nova instância de ratos de julho. Estamos verificando se há algum ar de novo. Este é todo o código que passamos mais de 100 vezes neste curso, e então vamos começar a preparar nossa consulta. Então nós filtramos nossos dados, mas ainda vamos usar Nós ainda vamos usar uma declaração preparada porque nós estamos levando os usuários dados cimentados. Então, a primeira linha que estamos preparando nossa declaração que estamos usando uma inserção em estavam
inserindo na tabela do usuário estavam dentro durante um nome de usuário e um e-mail e, em seguida, nossos valores. Claro, estamos colocando em nossos espaços reservados contra declaração preparada padrão como fizemos ao longo de todo o curso. Então vamos executar o programa de compra que temos. Ambos são cordas. Temos um nome e um e-mail. Então ambas as cordas de ar e eles estavam passando em nosso nome e nosso e-mail que nós configuramos aqui nome e e-mail. Então nós vamos comprar esses parâmetros novamente e, em seguida, executar a instrução execute então novamente código que você viu um monte dentro deste curso,
certo, certo, modo que realmente irá inserir os dados em nosso banco de dados. E então a próxima coisa que vamos fazer é com uma coisa boa sobre minha sequela é que você pode pegar a
identificação da última,
uh,
linha inserida uh, no banco de dados. E então nós vamos fazer isso, e ele está usando esta inserção i d. Propriedade fora de nossa instância do meu SQL I Então nós definimos que igual toe i d. E isso nos dá a estrada que acabamos de enviar para o banco de dados. E o que isso nos permite fazer então é consultar nosso banco de dados para essa linha e assim você pode ver estamos executando aqui. Estamos apenas executando uma consulta genérica. Isso não envolve nenhum dado enviado pelo usuário. Eu voltava para nós da minha sequela, certo? Então não é Não há nenhum usuário enviado para fora daqui e tudo isso, então nós realmente não precisamos fazer a declaração preparada aqui. Então, estamos apenas executando uma consulta padrão. Vamos selecionar o nome de usuário e o e-mail do usuário da tabela do usuário onde o i
d. É igual a isso. Eu disse que nós a última idéia que acabamos de apresentar. Ok, então isso vai nos permitir obter os dados que acabaram de ser enviados para o banco de dados estavam realmente consultando o
banco de dados para obter esses dados e retirá-los de volta. E então, é
claro, temos que correr. Busque, objeto. Agora, aqui, você vai notar, você se lembra de alguns dos outros vídeos que nós realmente fazer um loop while aqui, mas aqui porque nós estamos em Lee, procurando por uma linha estavam apenas consultando quatro executar uma linha e Só queremos trabalhar com uma fileira . Então esperamos uma linha de volta e só queremos trabalhar com uma linha. Não precisamos passar. Nós podemos apenas correr, buscar objeto, que é em Lee indo para pegar a primeira linha dos resultados. Então, se por algum motivo houve três resultados que vieram lá três estradas que foram retornadas desta consulta, ele ainda nos daria apenas o 1º 1 Bem, isso é tudo o que queremos de qualquer maneira. Então, de novo, nós só vamos. Não precisamos correr por um tempo, faça um loop aqui. Então vamos definir esse objeto que é retornado para nós que Rowe,
que é retornado para nós como um objeto como esta variável de usuário aqui, e a razão pela qual nós vamos fazer isso E a razão pela qual nós pegamos esses dados é para Teoh. Use este bloco aqui para exibir os dados mostram os dados que acabamos de enviar aos nossos usuários. Então é aí que quando viemos para este quarteirão, isto é o que estamos fazendo aqui. Então o que estamos fazendo é só checar se o usuário está definido. Então, novamente, isto se este usuário bloquear IHS disse que se ele não está vazio, por algum motivo ou não falso, se algo não aconteceu aqui em cima, então sabemos que podemos trabalhar com esses dados. E então vamos apenas ecoar aqui fora. Aqui estão os dados que você enviou, certo, então vamos sair dessa linha e, em seguida, vamos ecoar os dados que foram enviados para que você
possa ver aqui usuário, nome de
usuário, e-mail de
usuário e tudo o que 're realmente fazendo é executar esta função cada um para a boca caracteres especiais foi apenas essencialmente escapando da saída. Então, se alguém se esgueirou, nós filtramos, nós filtramos a entrada estavam escapando na saída. Ambos tendem a realizar a mesma coisa. Mas é importante fazer as duas coisas, porque assim você meio que se cobriu. Então, se você olhar para a nossa segurança aqui. Estamos filtrando os dados que recebem entrada. Estamos executando, estamos usando instruções preparadas e, em seguida, estamos escapando os dados que obtém saída. Então criamos várias camadas de proteção e segurança aqui para ter certeza ou fazer tudo o que pudermos para nos impedir de receber qualquer tipo de ataque aqui. E então todos os caracteres especiais HTML vai fazer Isso vai escapar
da saída do nome de usuário e usar seu e-mail para que eles não possam deslizar qualquer código de assinatura Java? E isso ajuda a evitar ataques de script entre sites. Certo? Então, em html, caracteres
especiais foram apenas os estavam escapando para UTF oito porque, hum, isso é o que estamos usando em termos do que o que Ah, olhe aqui são caracteres disse é UTF oito Então novamente, apenas escapando os dados na saída. E é isso que ecoa esse John Morris e John que não existe. Estocolmo. Tudo bem, então é assim que construir um formulário, enviar dados para o banco de dados e, em seguida, pegar esses dados de volta e exibi-los de forma segura. E de novo, o quê? Você poderia, obviamente, usar isso se isso faz sentido para um projeto. Você, é
claro. Você usa este código. Ah, para o seu produto ou projeto. Mas o mais importante, o que eu quero que você obtenha com isso é que estas são as diferentes partes desse tipo
de sistema de um sistema onde você colecionaria em um e então exibi-lo para que você não tenha que acreditar em tudo aqui no mesmo arquivo, você provavelmente colocou esse estilo em um arquivo diferente. Você provavelmente poderia até ter ah, página
separada onde seu código PHP é executado. Talvez até mesmo Ah, em vez de ter os dados exibidos na mesma página, você poderia ter um exibido em sua página de processamento ou como você quer fazê-lo. Mas você pode puxar este código PHP para fora. Você pode puxar o formulário html para fora. Você pode retirar a folha de estilo e usá-la em seus projetos ou em qualquer aplicativo que
você esteja construindo. Então todo o código é tipo deles a base base está lá para você trabalhar, e então você pode tipo de puxá-lo para fora e usá-lo como quiser, certo? Então, espero que isso lhe dê um caminho a seguir em termos de construção de um formulário. E, claro, você pode adicionar mais entradas ou alterar as entradas que sua coleta aqui eu tenho apenas nome e e-mail, mas isso poderia ser um todo talvez aplicativo. Ex, uma grande forma e você apenas adicionar suas entradas. E então, é
claro, você atualiza seu banco de dados os campos em seu banco de dados, bolinho. Atualize seu código para inserir esses dados nos campos certos. Mas isso novamente lhe dá uma base de código para ver como ele funciona. E então você pode adicioná-lo ou alterá-lo como você achar melhor. Tudo bem. Então, espero que obter novamente lhe dê um caminho para a frente. Obrigado por assistir. Falamos com a próxima vez.
37. BÔNUS: Michael Phoenix: Todos aqui John Morris e bem-vindos a uma entrevista exclusiva que estou realizando aqui com o homem, o mito, a lenda. Sr. Mike, seja Michael Phoenix nesta entrevista. O que vamos passar é realmente a jornada de Mike de Ah, eu acho que você poderia dizer que pobre estudante universitário é o clichê agora Ah, um codificador de seis dígitos trabalhando para, uh ,
eu acho, suas fortunas gordura da fortuna 500 empresas de crescimento mais rápido. Ah, fazendo na indústria de tecnologia e realmente sua jornada de que através de várias outras empresas. E algumas das coisas que ele tem sido capaz de fazer e o que eu realmente quero Oh, eu vou grelhá-lo e tirar de seu pensamento e as coisas que ele fez
para ser capaz de ir primeiro, contratado, ser capaz de se mover até ah, e ser capaz de chegar onde ele está agora para tipo de mostrar a vocês os passos que vocês Congar oh através, a fim de fazer revestimento de sua carreira,
que é o que em última análise todos nós queremos. E espero que vejamos. Veremos o que Mike tem a dizer sobre o assunto. Mas espero que você já esteja pronto. Você provavelmente não tem essa montanha de habilidades que você precisa rebocar, aprender a fim de chegar lá. Muito disso é sobre apenas ir para ele. Então, com isso fora do caminho, quero fazer algumas perguntas. Mike, primeiro, bem-vindo. Obrigado por fazer a entrevista. Obrigado por me receber na sua plataforma. Tudo bem. Então eu quero começar e apenas falar sobre a sua história um pouco, e então eu quero começar com realmente? O antes, por assim dizer. Hum, você sabe onde você estava. Eu sei, eu sei, parte da loja nesta situação,
mas,
você sabe, mas,
você sabe, você Acho que
você estava cerca de três anos no seu diploma em ciência da computação. Dois ou três anos depois. Você estava trabalhando na indústria de tecnologia,
e estava meio
frustrado com o jeitoqueas coisas estavam indo. Você estava trabalhando na indústria de tecnologia , e estava meio que Então talvez você possa nos dizer como eram as coisas antes do que estava passando pela sua cabeça e o que era. Talvez estivesses mesmo atrás. - Claro. - Sim. Eu acho que o lugar para eu começar seria quando eu estava trabalhando em uma fábrica, , e também fazendo web design freelance ao lado, hum, e sentindo que eu queria ficar melhor em fazer web design e tecnologia em geral e, hum, apenas um tipo de sentimento em uma perda de onde ir e para o que recorrer. Estive no trabalho da fábrica por
uns seis meses,
e percebi que isso era morte para mim. Estive no trabalho da fábrica por , uns seis meses, Então eu tive que tomar uma decisão por mim mesmo em termos de ir atrás do que eu sentia ser o meu futuro , ah, com o qual,
ah,
eu poderia realmente viver. E a partir daí, tomei a decisão de voltar para a escola. Hum, eu tinha três anos de escola anterior de minha adolescência, início dos anos 20, e neste momento, quando eu estava trabalhando na fábrica, eu tinha uma família, então eu tive que descobrir como me sustentar uma família e todo esse tipo de coisas. E, , nesse
ponto,decidi voltar para a escola e fazer tecnologia e ciência da computação e
mergulhou de cabeça nisso e, hum, começou a fazer mais web design freelance e entrou nisso Mawr e apenas comecei a me
dedicar a Teoh indo nessa direção, você sabe, sem realmente saber como estão conscientes do quê? Mas eu vou nessa direção e vou descobrir isso ao longo do caminho. Então, você sabe, avançar um par de anos, e agora estou aqui,
e, e, hum, estou feliz por ter tomado a decisão que eu fiz, e apenas meio que pulando nas cegas Fé do dedo do pé seguir. O que senti foi o meu destino. Então esta semana, eu estou interessado porque eu acho que muitas pessoas podem estar no mesmo barco como onde você estava confiante naquele ponto, quando se trata de habilidades tecnológicas e também como, onde você diria que você estavam no conhecimento sábio em termos de e o que você nova programação ou qualquer confiança na vida, eu diria. Quero dizer, todos os clientes que eu tive naquele momento, eu estava estressado, você sabe, porque eu não acreditava que
eu poderia cumprir o que eu precisava cumprir com o dedo do pé, fornecer a qualidade do produto e serviço que eu queria fornecer. E por que foi isso? Nós o quê? Bem, eu quero dizer você porque você está cerca de um par de anos em um diploma de CS. Sim, naquele
momento, um,
um, muitas coisas, mas eu acho que uma das maiores coisas era apenas a natureza de quem eu não tinha muita confiança em mim mesmo, exceto Talvez basquete. Mas eu tinha passado muito tempo jogando basquete, sabe? Então, se algo é novo para mim, ou eu não passei necessariamente muito tempo fazendo isso onde eu não tinha,
ah, ah, uma grande profundidade de conhecimento em algo que eu era, quero dizer, que apenas minha tendência é não me sentir muito Confiante se eu não soubesse tudo sobre tudo, sabe, e é assim que a tecnologia era para mim que eu não sabia tudo sobre tudo. Então, tipo, eu tinha um monte de perguntas para mim, e, hum, eu imagino que nós provavelmente vamos entrar em como isso mudou para mim. Mas acho que a coisa que o dedo do pé realmente aponta foi que, um não saber é realmente o que levou minha sede de conhecimento a descobrir, que é, que foi um grande grau. Por que voltei à escola para me formar em Ciência da Computação foi porque eu queria saber. Eu queria descobrir como você sabe, como projetos reais funcionavam e não apenas sair do que eu pensava e, você sabe, descobrir como ter um currículo. Eu acho que Teoh para me dar uma estrutura para o meu aprendizado é realmente a principal razão que eu queria ir para o meu diploma em ciência da computação. Agora que assim em algum momento em um ponto lá você acabou aplicando IBM e eu acredito que era desenvolvedor de aplicativos
Java. Sim. E então, em primeiro lugar, o quê? Você não tinha feito isso até esse ponto. Então, obviamente, havia algo te segurando. O que? O que? Quero dizer, o que foi que estava te segurando? Talvez seja um pouco do que você já conversou, mas o que foi isso te atrasando e que mudança te fez confortável o suficiente para ir em frente e colocar na aplicação? Hum, naquela
época que eu estava procurando por um emprego em particular na
indústria de tecnologia ,
hum, hum, em uma empresa estava na minha classe de algoritmos avançados AAA algoritmos e dados avançados e passando por essa classe e percebendo que a maneira que eu pensava sobre as coisas em geral combinava com o pensamento logicamente, em termos de estabelecer um algoritmo, eles estão estabelecendo uma estrutura de dados. É apenas algo natural que eu percebi que eu faço de qualquer maneira. E, hum
, junte isso com querer entrar no mundo empresarial, que era algo que eu sentia que queria fazer. E eu sabia que, hum, começando de baixo para cima. Então eu procurei especificamente uma posição de nível de entrada porque eu sabia ou eu acho que
eu senti que eu não vou dizer novo, mas eu senti que onde meu conjunto de habilidades estava em não era o nível para saltar para um, você sabe, um veterano posição do desenvolvedor nível. Você sabe, eu senti que eu precisava ter mais experiência no mundo empresarial trabalhando para uma empresa para obter esse tipo de experiência. Eso eu procurei especificamente por uma posição de nível de entrada e eu me inscrevi na IBM. Eu apliquei I G e joquei em vários outros lugares e continuei tendo entrevistas,
entrevistas e entrevistas até me sentir confortável em entender o processo de entrevista,
bem como como como comunicar onde eu estava em relação ao trabalho descrição da coisa
específica para a qual eu estava entrevistando. Sim, então isso é algo em que eu estaria interessado. Talvez se você, tanto
quanto você possa descrever o processo de inscrição e entrevista, porque pelo que eu me lembro, você fez um número decente e então teve alguma experiência com essas diferentes tecnologias empresas. Então talvez descreva um pouco do processo de entrevista de inscrição, o tipo de coisas que eu acho que as pessoas têm, você sabe que eles vêem talvez uma empresa como o Google e algumas das coisas loucas que eles fazem e algumas dessas outras empresas, e assumir que cada empresa de tecnologia é apenas este processo louco de entrevista. E tenho certeza que há muito disso. Mas eu não acho que cada um deles seja assim. Então talvez tenha descrito isso e dado alguma luz sobre como
era o processo de entrevista de candidatura para
os EUA. Cada entrevista ou cada empresa a que me candidatei, um começou com uma entrevista telefônica para obter ah básico, contexto para quem eu era. E lá estava a outra vez. As posições que eu estava procurando era nível de entrada. Então, eram perguntas básicas e eles estavam por aí. Sabe o que é programação orientada a objetos? Apenas definindo as diferenças dos bancos de dados relacionais. Todas as coisas básicas que você não precisa entender. Apenas entrando em codificação em geral. Então, não era nada fora do comum, e de lá, , passar isso foi para uma tecnologia de nível mais profundo, bem como para um pessoal mais profundo. Então,havia Então, tanto quem eu era como pessoa, como quem eu era como desenvolvedor, , e que as entrevistas telefônicas deixavam entrar em entrevistas no local. E foi na IBM que tive a minha entrevista no local,
e,naquele
momento,
percebi que era onde eu queria estar, porque
... E foi na IBM que tive a minha entrevista no local, e , naquele
momento, percebi que era onde eu queria estar, porque ... Java era uma linguagem que eu gostava de revestir em ,
um, ao contrário de C plus. Então eu me senti natural por mim. Então, mas ainda assim, o aspecto técnico da entrevista no local, ainda
era muito básico, você sabe, hum, basicamente, direto para fora da aula, certo? para fora. Ah, aula
abstrata. Certo. Eu vou basicamente colocar todas essas coisas no quadro do que você entende ou
como você entende como codificar essas coisas. Então, ainda era muito básico, mas era isso que eu estava procurando porque era onde eu sentia que estava e queria para mim mesmo, que, eu acho que
é o importante para saber realmente é o que ? O que você está procurando como desenvolvedor? que você quer se envolver? Quais são as coisas que você quer construir para entender? Eu vou passar,
você sabe, oito, oito, pelo
menos oito horas do meu dia pensando nessas coisas. Provavelmente mais do que isso estar em casa, ainda pensando através da lógica de ah, função ou qualquer coisa, você sabe. Então é no que eu quero me envolver nisso? Foi isso? Então agora, uh, o que você diria? Quanto ou o que acha? Seu nível de habilidade porque você foi contratado na IBM é um pedido de emprego de mais de Quanto java você
diria? Você sabia que naquele momento eu tinha acabado de fazer uma aula sobre isso na escola. Então, você sabe, talvez oito semanas de leitura através de um livro e fazer oito tarefas e talvez ler sobre como o estado de Java em termos de onde ele está em um mundo empresarial. - Quantos? Quantas candidaturas de emprego você escreveu nessa altura? Zero. Quantas candidaturas de emprego você escreveu até à data até agora que um zero interessante. Então, quero dizer, eu não estou tentando dizer nada, mas é interessante porque eu acho que muitos desenvolvedores pensam que eles têm que ser o codificador
mestre. Eles têm que saber tudo agora. Oito semanas em faculdades. Não é nada, mas, você sabe, ter estado na indústria de tecnologia por mais de 11 anos agora, você sabe, eu sei. E você tendo estado em alguns anos agora, saiba que oito semanas especialmente, você sabe, se você não é todos os dias dessas oito semanas passou codificando na verdade na linguagem. Não é um conhecimento muito profundo. É uma espécie de conhecimento superficial. No entanto, você ainda foi capaz de ser contratado, certo? Então, ah, e talvez você possa talvez compartilhar seus pensamentos sobre essa noção de que você tem que ser esse código super gênio ou para ser contratado. Se o meu ponto de vista é que se você está procurando por um cargo de nível superior. Sim. Você vai ter que saber como fazer. , Coisas técnicas
complexas, certo? Claro, claro. Mas acho que o que estou falando especificamente, não quero te cortar de fora muitas pessoas que eu acho que estariam ouvindo isso seriam pessoas que estão em outro emprego em uma indústria
diferente, taxas que eles não gostam. E eles simplesmente querem dúvida. Sim. Então é por isso que eu digo especificamente cargo de nível sênior. Porque se você está procurando um cargo de nível sênior, você esteve no setor até certo ponto entender um aspecto mais profundo da tecnologia, bem como como como os projetos são executados em geral. Mas se não for, eu entendo
que você está essencialmente de nível de entrada, certo? É aí que você está entrando
nesse , mundo,então eu digo que digo isso para dizer se você não é veterano, você sabe disso. Então não espere aquele olhar para empregos que não são sênior, você sabe, ir para aqueles empregos onde você sabe que você pode se encaixar. E então, nesse ponto, tudo que você tem que ter é uma compreensão básica, mas
a coisa chave a pensar, porque eu assumi o papel de orientar
desenvolvedores de nível júnior . Certo. Então a coisa que procuro não é conhecimento técnico profundo. Procuro uma aptidão de aprender rapidamente e uma vontade de aprender a si mesmos. Certo, porque se eu tiver que gastar meu tempo ensinando a alguém tudo o que eles precisam saber, eu mesmo farei. Não vou gastar tempo ensinando tudo a alguém. Eu só faço isso sozinho. Então parece que soa como talvez o que você está dizendo isso para alguém? Oh, que está em uma posição em que eles não estão em uma indústria de tecnologia e talvez eles estejam, você sabe, em um trabalho corporativo. Ou talvez eles estejam em algum trabalho de serviço ou o que seja, e eles querem sair disso. Eles têm um trabalho que eles realmente não gostam, e eles querem sair disso. Eles estão interessados em tecnologia, e eles querem entrar em tecnologia que é importante para alguém se candidatando a uma posição de nível de
entrada como essa, que você conhece, um monte de pessoas que você encontra um monte de nível de entrada posições no campo da tecnologia são comparáveis toe, talvez alguns empregos mais altos salários sábios em outras indústrias, Absolutamente. Então eles poderiam mudar para um trabalho de nível inicial e fazer o mesmo, ou talvez até mais do que onde eles estão agora. Mas o quê? O que é importante não é necessariamente o conjunto de habilidades, mas a personalidade, a mentalidade, são as outras coisas. Confiabilidade, trabalho, FAA, todas as coisas que você normalmente pensaria em qualquer outro trabalho. Mas por alguma razão, quando entramos na indústria de tecnologia, as pessoas tendem a pensar que tudo o que importa é o conjunto de habilidades. Não, deixa-me dar-te um exemplo. Então, se alguém, se eu estou, se estou entrando, digamos, duas pessoas diferentes, eu dou a mesma coisa a eles. Digamos que eu lhes dê um pedaço de sequela e talvez tenha 30 linhas de comprimento. Há várias consultas sub com algumas junções, e eu digo aqui, isso pode ser usado para extrair esses dados de tal forma e tê-lo estruturado em determinado formato. Pegue, vá fazer com ele e volte para mim com o que você tem. Se um mês depois, alguém volta para mim e diz: “
Agora, para que é isso de novo? E o outro volta para mim e diz: “
Ei, Ei, eu notei isso fazendo isso. Ele faz isso e sai com esse resultado. Se eu mudar isso aqui, será que essa coisa a pessoa que volta para mim e diz: “
Ei, Ei, eu sou isso, você pode me dizer o que isso faz de novo? Eu vou ser como, Ok, parece que, hum, você realmente não dirigiu isso. Você não estudou o que precisa ser estudado. Não aplicando seu pensamento a este código, enquanto a outra pessoa, se voltar para mim dizendo perguntas,
perguntas nos aspectos mais profundos dele, me
dizendo o que eles o quê, eles testaram, o que eles experimentaram. Eu vou com essa pessoa e dizer, vou gastar meu tempo ensinando coisas a essa pessoa porque essa pessoa é a pessoa que pode eu posso dar a eles algo pequeno. Eles vão pegá-lo e expandir e voltar com perguntas que estão indo fundo em seus pensamentos. Então é isso que eu quero dizer quando eu digo que se eu tiver que gastar todo o meu tempo ensinando alguém tudo o que eu não sou, eu não vou fazer isso. Eu vou ajudar a guiar alguém pensando sobre isso, mas eles têm que tomar a única iniciativa deles e ir e correr com ela e as pessoas que estão mais dispostas a fazer isso, eu estou mais disposto a gastar o tempo para dizer, Ei, esse é o tipo de onde está fazendo, é onde está. É assim que você pode moldá-lo, formá-lo, todo esse tipo de coisa, essa disposição na aptidão para ser auto gerenciado como se isso realmente fosse a maior peça . E esses são todos com quem trabalho e todos com quem falei sobre essa
coisa específica . Essa é a coisa chave que eles procuram. Lembre-se que meu primeiro gerente de projeto, comecei a trabalhar por uma fortuna. Se eu estivesse em um projeto e o projeto fosse para, Ah, naquela
época eles estavam no topo. A Fortune 20, certo? Então, há uma empresa de tecnologia de alto nível com bilhões de dólares de receita. Este foi meu primeiro projeto, e eu estava fazendo Eu era o líder como uma migração de dados, e esta é a primeira vez que eu fiz a migração de dados e ele, meu gerente de projeto, hum, eu era realmente líder de Q A na o tempo e ele disse, Ei, pessoa de migração de
dados deixou você quer fazer isso. E eu estava tipo, sim, claro, por que não? E duas ou três semanas depois, ele estava falando comigo sobre isso e como eu respondi e disse sim. E eu disse, A maneira que eu sinto é que eu não sei necessariamente tudo sobre migração de dados naquele
momento . Não sabia agora, por isso gosto de pensar. Mas eu não sabia de nada. Eu tive, tipo, uma hora de apresentação com este sistema específico, e, hum, eu disse a ele naquela hora e eu disse, eu não sei, mas eu vou aprender. Eu vou descobrir isso, certo? Então essa é a maneira como eu abordo as coisas. E ele disse de volta para mim naquela época, Sim, esse é o tipo de pessoas que eu procuro como gerente de projeto para trazer para o meu projeto, certo? Eu não me importo se você não sabe disso. Eu me importo se você está disposto a aprender e ir atrás e fazer isso. Este é um gerente de projeto que trabalha na IBM há anos em vários projetos de alto nível como este é o que ele está me dizendo. Ele olha onde as pessoas que têm a vontade de aprender o que precisam para descobrir , mergulhar e ir. Então, tipo, você pode levar isso pelo que quiser. Mas essa é apenas a natureza desta indústria é,
sim, sim, você tem que descobrir as coisas. Bem, a realidade é que quero dizer, esta indústria está mudando tanto que se você não é um aprendiz dedicado,
não, não, mesmo que você saiba, se você tem o conjunto de habilidades hoje, casal Daqui a anos, isso vai ser, no mínimo,
ultrapassado, se não completamente desligado. Então, mas eu quero entrar em Eu realmente quero entrar no, hum, processo de entrevista por um pouco aqui e falar sobre, você sabe, o que eu quero tentar e dar às pessoas que escutam, algumas dicas ou algumas estratégias para passar pela entrevista. Talvez algumas coisas que você sabe que fez. E uma das coisas que falo o tempo todo , é o fato da realidade. E eu fiz alguns vídeos onde fizeram estatísticas sobre isso que não fazem A maioria das empresas não são muito boas em contratar. Há altas percentagens de coisas ruins acontecendo com empresas como resultado de
contratações ruins , e é ano após ano após ano. Eles pensam que têm esses processos certos, mas eles realmente têm dificuldade em encontrar as pessoas certas são um bom ajuste para a cultura
da posição e assim por diante. Exemplo. Eu sempre uso uma empresa que me contratou trabalho de volta para eles quando eu acho que cinco ou seis meses antes eu tinha abandonado em meio turno de de de um dos meus turnos de trabalho para eles. Eu tinha saído e me demiti e seis meses depois eles estavam me contratando de volta e só
me contrataram atrás de mim para um cargo de gerente agora. E esta não era uma empresa pequena. Esta era, Ah, uma empresa que estava naquela época na Fortune 500 eu acredito, pelo menos ah, e foi considerada uma das 100 melhores empresas para trabalhar para uma grande empresa. Eu acho que um casal de $1.000.000.000 em receita na época, grande empresa que deveria saber melhor. Mas há o uh disse que há o segredo que eles têm que eles não querem que você saiba e eles são todos os aros que eles pularam através do processo de entrevista é sobre encobrir isso, que é o fato de que eles não sabem o que o inferno que eles estão fazendo. E eles precisam mais de você do que você mais precisa deles. Essas empresas têm quatro talentos famintos e estão tendo dificuldade em encontrar tudo
isso para dizer que acredito que quando você entra em uma entrevista e praticamente qualquer empresa,
você, como entrevistado, está em vantagem. É que a maioria das pessoas não sabe disso, certo? E então eles ficam nervosos,
e eles enchem tudo e cometem erros que acabam custando empregos. Então, tudo isso para dizer, estou interessado em saber em sua perspectiva, tendo passado por esse processo novamente com várias diferentes empresas maiores. Empresas de tecnologia, talvez alguns o quê? Sua idéia do processo de entrevista e algumas dicas que você pode dar a ela estratégias que você usou? Ou que você aprendeu passando por todas aquelas entrevistas que te ajudam a ser um
entrevistador mais competente porque a razão específica quando eu pergunto é porque um sim, você foi contratado. Mas sei como a IBM funcionava. Você tinha que ser contratado continuamente para estar em projetos. E então você pode ser contratado em outra empresa, e você foi capaz de realmente alavancar sua posição para aumentar seu status e finalmente, sua dor assim por diante. Estou interessado nas estratégias que aprendeu especificamente para entrevistar para o
cargo técnico . Eu venho da posição de me vender. Eu estou literalmente pensando nisso como eu estou me marketing indo para a entrevista durante a entrevista, e sempre que eu estou falando com alguém nesse processo, eu estou continuamente pensando sobre como eu estou aproveitando meu caminho, que estou me comunicando para me vender como um indivíduo como um empregado. E uma das coisas que eu especificamente me certifico de que faço é colocá-los no
dedo do pé, perguntar, responder muito diretamente. E, hum, eu acho que perguntas difíceis de dizer, assim como você disse, eles precisam de mim. Então eu vou me certificar de que eu colocá-los no local para responder a uma pergunta para ter certeza que é sabido que olha, eu entendo o que está acontecendo aqui, e eu não vou apenas vir aqui e trabalhar porque estou desesperado. Eu vou vir aqui e trabalhar porque eu quero estar aqui. E eu não sabia de você que esta é uma boa empresa para trabalhar, certo? Então eu tenho. Penso nisso desta forma. Eu tenho padrões muito altos, e eu me certifico de que as pessoas com quem eu me envolvo também estão nesse mesmo nível, ou pelo menos dispostos a vir me encontrar nesse nível de alguma forma, forma ou forma. E
esse é um quadro muito forte, certo? Essa é uma maneira de enquadrar a situação e interagir dentro dela que é muito claro sobre isso. E eu acho que, no fim das contas, isso é o que eu tento apontar para as pessoas é que esse é o estado de espírito que você quer ter entrando. Acontece também que é 99,9 por cento do tempo. Também é verdade. Sim, sim, sim, há um exemplo em que eu estava, então deixei a IBM. Eu fui para uma empresa diferente, e então, um, a
IBM um queria que eu voltasse, e há várias maneiras diferentes de fazer projetos. Um deles é chamado de aumento de pessoal, onde como, um como um fornecedor que desenvolve coisas. Se você está em um projeto que enche o aumento da equipe, você realmente não possui o processo do projeto. O cliente possui o processo de projeto. Então Project Manager todas as atividades do tipo de gerenciamento de projeto é uma coisa própria do cliente. E eu sou apenas Eles estão meio que em seu processo. Sim, você está aumentando a equipe deles, certo? Exactamente. Então a IBM queria que eu voltasse para um projeto específico. E, hum através dele passou por isso todo esse tipo de coisa. E uma das perguntas que lhes Isto
é aumento da equipe do projeto? E eles disseram que sim. E eu disse, Isso é um ponto de hesitação para mim porque eu não gosto desse tipo de projeto porque eu não tenho tanta propriedade, que também significa que eu não tenho tanta responsabilidade. Mas também não tenho tanta vantagem para poder dizer que é assim que precisa ser feito. É assim que vai ser feito, e essa parte do projeto que estou encarregado disso é a maneira como estamos nos movendo,
sabe, sabe, porque eu sou dono disso. Então, se for o bastão, aumento é mais do Lake. Aqui está sua recomendação Aqui está sua sugestão, você sabe, Aqui está A B e C. Você pode fazer isso dessa maneira, mas a escolha está se abrindo para você, você sabe. Mas se eu possuo, eu possuo. Vamos na minha direção, você sabe disso. Esse é o tipo de situação em que quero estar. Então eu os coloquei no local dessa maneira, você sabe, e é uma posição muito forte, mas essa é a coisa que muitas pessoas procuram. É alguém que diga: “
Ei, Ei, esse cara, ele vai se apropriar como se ele não fosse alguém que vai recuar ou ele não vai ficar todo louco sobre as coisas. Ele vai agarrá-lo e ir com ele. E essa é a natureza da maneira que eu tento abordar todas as conversas,
seja para um aumento, conversando com um cliente sobre a maneira como eu acho que algo precisa ser feito. Só se é algo que eu tenho a ver com que eu estou agindo, e eu sinto fortemente sobre a maneira como isso precisa ser feito, essa é a maneira que eu vou me levantar,
e eu vou falar isso e se for para o outro lado. Ótima. Mas minhas preocupações serão conhecidas por serem reconhecidas. Eu estaria interessado em saber, porque novamente, você sabe, ter a IBM contratada inicial tendo trabalhado para onde você trabalha agora, um e então o diferente todas as aplicações que você tinha que fazer em todos os diferentes posições e assim por diante quando se tratava, você sabe, digamos, IBM ou G ou a empresa trabalham por agora, hum, e então os diferentes projetos que você trabalha para qualquer IBM, como era seu? Quanta pesquisa você faria sobre uma determinada empresa ou projeto em particular de antemão? Antes da entrevista para preparar, eu não sabia o que você estava indo em bastante um pouco de pesquisa de antemão para entender a própria
empresa e, em seguida, com base na descrição do trabalho em todas as informações que eu poderia reunir em torno de um trabalho particular que estava se candidatando apenas para obter o máximo de contexto que eu poderia antes entrar para ser capaz de ter uma conversa informada sobre isso, para ser capaz de informar minhas perguntas dedo para eles. As pessoas estavam me entrevistando. Então eu acho que isso é a coisa mais importante. Algumas pessoas eu acho que algumas pessoas ficam congeladas em entrevistas para ser capaz de fazer perguntas, sabe? Tem alguma pergunta para nós? Oh, não. Acho que sou bom assim para mim. Se vou entrevistar alguém, é como o próximo. Sabe, quero que me façam perguntas. Eu quero que eles sejam muito próximos em seus pensamentos sobre o processo, porque eu quero que eles sejam capazes de falar em um projeto onde há uma preocupação que eles estão enfrentando, onde algo que eles sentem é importante. Eu preciso que eles sejam capazes de falar porque é uma equipe como eu não posso fazer tudo sozinho
na equipe, como eles precisam ser capazes de ver isso deles. Então aquele ponto na entrevista, onde eles estão fazendo perguntas, toda a pesquisa que eu faço indo para uma entrevista. Se estou bem com um sendo entrevistado, é poder fazer essas perguntas para dizer: “
Ei, isso, isso, como se eu não estivesse sentado aqui esperando que você me desse um emprego. Estou aqui pesquisando. Eu quero Nome, ou você pode me dizer mais? Se não puder, pode me direcionar a alguém que possa me dizer mais. Então ele coloca a bola para fora da minha quadra e coloca-la dentro deles para dizer que você precisa tomar uma ação agora. Sim, e eu acho que também, você sabe, quatro para se candidatar inicialmente à empresa necessariamente aplicando para ser adicionado a projetos como a IBM faz com ele. Mas inicialmente aplicando para acompanhar esta também é uma área, enquanto o entrevistado entrevista, você tem uma enorme vantagem. E a razão é que quando você se inscreve, o que eles têm sobre você é talvez uma lista de currículos de uma ou duas páginas, hum, habilidades e qualificações, algum histórico de trabalho, talvez algumas referências. A maioria das empresas, quer
dizer você sabe, podem ser posições muito importantes, especialmente posições de nível de entrada, que provavelmente não vão chamar as referências ou falar com elas. Então eles têm uma quantidade muito limitada de informações sobre eles. Enquanto você, por outro lado, este é um público. Quero dizer, por exemplo, IBM, que é uma grande empresa que existe há muito tempo que tem uma longa história. Ele tem site cheio de páginas de informações sobre quem eles são, é uma empresa. Sua história da empresa, sua visão, sua missão, suas declarações de valor, sua cultura como eles dão a você. Você tem um volume e volumes e volumes de informações sobre essas empresas disponíveis para você, e eles têm uma pequena parte de quem você é, que é sobre o processo de entrevista. Então, isso te coloca em uma grande vantagem de ser capaz de fazer o que eu gosto de fazer. Mas vou deixar você falar um pouco disso também. Mas o que eu gosto de fazer é realmente entender. Acredito que qualquer empresa praticamente qualquer posição. Há debulha, seus limites de conjunto de habilidades. Então, por exemplo, um trabalho de nível de entrada. O limite do conjunto de habilidades é muito, muito baixo. É quase realmente apenas estar disposto, sabendo básico, apenas conceitos da tecnologia que você está se candidatando. Você entra em posições de nível sênior do que você tem um limite. Mas o que vai decidir quem é contratado e quem não quer entre todas as pessoas que se candidatam não é o conjunto de habilidades. É o ajuste da cultura. É o quão bem você se encaixa com a cultura deles. E é aí que você tem a enorme vantagem porque você pode saber de antemão o que é a cultura, e você pode responder perguntas de uma certa maneira para sinalizar que é quase como uma forma benéfica de virtude, sinalizando que você é um bom ajuste para eles culturalmente. E essas são as coisas que eu já vi. Este é o meu fato. O trabalho que eu fui contratado de volta, que eu não tinha que ser contratado de volta porque eu deixei isso. É assim que é uma grande parte de como fui contratado de volta. Foi porque eu podia ver, enquanto eu estava dando respostas,
as diferentes pessoas na sala, e quero dizer, eu passei por isso. Eu fiz uma entrevista por telefone, eu fiz isso. Eu fui em entrevistas pessoalmente e foram três entrevistas diferentes quer Duas delas eram uma contra uma e depois a 3ª 1 que estava com um grupo de, tipo, 10 pessoas. Foi um processo muito intimidante e todos com quem falei, as perguntas eram todas parecidas. Eles queriam que o Dedo tivesse a opinião de todos sobre mim como pessoa. Todo mundo com quem falei quando você faz aquele sinal de virtude eu podia ver seus olhos piscando um
pouco. Estavam a tentar escondê-lo, mas isso podia vê-los a vacilar. Enfim, acho que você tem uma grande vantagem porque a cultura é o que eles pensam mais. E você pode saber uma resposta perguntas que sinalizam que você está neste em linha com a sua cultura. Sim, sim, isso é realmente algo que eu fiz, hum, na,
uh, eu esqueci como eles chamam, mas é a pessoa entrevistando uma entrevista pessoal ou eles fazem perguntas sobre a minha história ? Você sabe como eu penso sobre as coisas desta vida em geral tipo coisas. E , fiz isso,pesquisei quem a IBM era como empresa e o que eles significam. E eu aprendi que eles eram muito progressistas em termos de, hum ,
você sabe, ajudar seus funcionários, ajudar comunidades, que eles estão em todos esses tipos de coisas. E, hum, eu fiz várias perguntas em relação a isso em termos de quê? Aquele em particular porque estava em Lansing na época e o que aquele grupo particular de pessoas fez. Havia, como um grupo de 400 pessoas como eles deram de volta para a comunidade para ter uma compreensão de como eles realmente estão vivendo de acordo com os valores que eles defendem escrever, você sabe, porque isso para mim está me dizendo que está comunicando a eles que não só entendo quais são seus valores, estou perguntando como você realmente implementa esses valores como uma empresa. É importante para mim que você esteja vivendo de acordo com o que você diz que valoriza exatamente. E então ela respondeu de volta para mim e, um, um pouco mais tarde, ela disse isso. Eu só sinto que você seria uma boa IBM er, sabe? Sim, e isso é um que é Ah, palavra que é cultura para a IBM é ser um ER IBM, você sabe, e isso é como prestar atenção a essas pequenas coisas e falar nelas e perguntar sobre elas e como extrapolar sobre eles no processo de entrevista, ajuda a ganhar Teoh construir esse relacionamento entre você e a entrevista. Sim, isto remonta à ideia de que as pessoas tomam decisões emocionalmente, e justificam-no com lógica. E então eu acho que se há uma coisa que as pessoas podem obter sobre enfrentar entrevistas, é que quando você vai para a entrevista, é sobre fazer a pessoa entrevistando você sentir que você seria uma boa contratada, não olhar para o pedaço de papel e cheque bloco Juan e bloco para bloco três no bloco quatro . Isso não é o que eles estão fazendo. Eles estão tentando sentir por você, e isso é uma coisa emocional. E há certas coisas que você conduzirá você novamente como esta virtude, sinalização e compreensão da cultura e, como você disse, virando, virando o quadro e colocando o peso sobre eles um pouco em um em um confrontacional, mas apenas com o seu quadro que pode fazê-los sentir que você não é a pessoa normal candidatando. Eu não sei quantas entrevistas eu fiz de onde eu falei com as pessoas mais tarde, e eles são como nós realmente pensamos que você poderia ser uma estrela do rock nesta empresa e muitas delas eu não tive a habilidade de novo. A empresa que eu fui contratado de volta para mim e eu sempre volto para ela porque eu nunca deveria
ter sido contratado lá, você para ser contratado. Eles não são apenas se eu tivesse saído, mas também eles exigem que você tenha um diploma de quatro anos e não foi um diploma de quatro anos ou experiência
equivalente. Foi um diploma de quatro anos. Eu não tinha um diploma de quatro anos. Sim, então havia todo tipo de coisas que deveriam ter sido bandeiras vermelhas para eles logicamente. Mas como eu passei pelo processo de entrevista inter pro processo sabendo o que fazer e como fazê-los se sentir emocionalmente, eles ignoraram isso. Tudo bem. É a mesma coisa que aconteceu que eu sou na época em que eu entrevistei. Eu não tinha me formado naquele momento, e isso era uma das coisas que eles precisavam era bacharelado, alguma ciência da computação ou algo equivalente a isso. Eu não tinha realmente. Eu estava no processo. Eu ainda tinha,
38. Próximos passos: Sou honesto que não há mais. Então online.com, tão pouca limpeza para terminar este curso. Se ainda não o fez, certifique-se de ir para a área de aula. Há uma seção de classe para alguns, alguns passos para você percorrer para este curso. Portanto, certifique-se de que está sob a discussão na guia Projetos que você verá no curso. Além disso, se você entrar no meu perfil, certifique-se de me dar um acompanhamento no meu perfil aqui para que você seja notificado quando eu lançar novos cursos. E também tenho um curso de estilo podcast
semanal chamado “Let's Talk freelance”. Então, se você gostaria de ter um tipo de acesso a treinamento
contínuo sobre freelancing e negócios on-line e assim por diante. Certifique-se de verificar isso. Vamos falar de curso freelance também. E, finalmente, eu tenho um boletim diário de dicas no meu site em John Morris online.com. Se fores para lá, podes inscrever-te na lista de discussão. Você também será colocado no meu próprio, meu próprio aplicativo móvel, ou você terá acesso a mais de 78 horas de conteúdo
gratuito no momento desta gravação relacionada ao freelance e assim por diante também. Então, se você está interessado nisso, BD certeza de verificar isso também. Novamente, esse é John Morris Online.com. Tudo bem. Obrigado por ter assistido à aula. Se gostou, agradeço-lhe por si. Deixe uma crítica e nos vemos no próximo curso.