[Tutorial] Introdução ao PHP

De Tiago Gonçalves @TiagoTweeta
às 16:49:24 d 22/05/2014

[Tutorial] Introdução ao PHP

Neste artigo será apresentada uma pequena introdução a linguagem de programação PHP, é uma introdução assumindo apenas que o utilizador tem experiência básica com programação.

 

O que é o php?

É uma linguagem de “scripting” open source.

 

Como funciona?

O acrónimo PHP vêm de “Hypertext Preprocessor”, ou seja isto quer dizer que em PHP, o output de uma página é gerado pelo servidor antes de ser enviado para o browser do utilizador.

Exemplo 1:

                <html>

                               <body>

                                               Isto é <?php echo “PHP”; ?>

                               </body>

                </html>

Ao correr este código num servidor com php, o output da página será “Isto é PHP”, sendo que o código PHP será executado quando o utilizador aceder à página, e enviará o resultado em html, depois de processada a instrução echo.

Para o servidor reconhecer que o código é php, o mesmo deve estar dentro de duas tags , em alternativa também pode ser escrito apenas .

 

Variáveis

Uma das grandes diferenças do PHP da maioria das linguagens é que as variáveis não requerem tipos, quer isto dizer, que o utilizador não precisa de definir o que é a variável manualmente, pois a linguagem atribuirá um tipo a variável de acordo com o conteúdo a qual ela pertence.

                Exemplo 2:

                              <?

                                               $variavel = 1; // O PHP reconhecerá como um número inteiro

                                               $variavel = “1”; // O PHP reconhecerá como uma string, ou seja texto

                                               $variavel = 1.3; // O PHP reconhecerá como um valor decimal (float)

                               ?>

Esta flexibilidade, permite que uma variável que era um inteiro, pode ser usada como uma string bastando apenas alterar o seu valor, tal como no exemplo 2, em que a $variavel, começou como um numero inteiro, mas no fim do código, o valor da variável é um float.

Mas é possível alterar o tipo de uma variável sem a redefinir?

Sim, tal como na linguagem C, é possível forçar uma linguagem a assumir outro tipo (desde que faça sentido).

                Exemplo 3:

                              <?

                                               $variavel = 20;

                                               $variavel = (string) $variavel; //A variável passa a ser reconhecida, tal como se tivesse sido atribuída inicialmente com um $varaivel = “20”;

                               ?>

Como funcionam as atribuições de variáveis?

Por defeito as variáveis em php são sempre atribuídas por cópia, ou seja, ao atribuir a uma variável o valor de outra, em vez de ser colocado um apontador para a variável inicial, o valor é copiado na íntegra para a nova variável.

No entanto também é possível passar variáveis por referência, ou seja apontadores, isto é feito usando o & antes da variável, ou seja $variavelNova = &$variavelOriginal;

Quando isto é feito, ao alterar a variável original, o valor da variável nova também será alterado.

O que são variáveis variáveis?

São uma forma de embutir uma variável noutra, isto é feito duplicando o símbolo de variável em php ou seja $$, segue um exemplo:

               <?

                               $a = ‘hello’;

                               $$a = ‘rede!’; //Esta instrução, irá pegar na string hello e irá atribuir-lhe o valor ‘rede!’

                               Echo “$a ${$a}”; //resultado hello rede!

                               Echo “$a $hello”; //resultado hello rede!

                ?>

Isto pode ser usado de duas formas, ou chamando a variável variável original (${$a}), ou a nova que foi atribuída ao valor da variável inicial ($hello).

 

Echo?

Echo é uma instrução que gera ouput para o ecrã, independente de serem isso números inteiros, frases, ou apenas letras.

No exemplo 1, disposto acima a instrução lê o valor entre aspas e integra-o no código html antes de ser enviado ao browser do utilizador.

                É possível chamar a instrução sem escrever tanto?

                Esta instrução pode ser escrita de forma mais compacta, imprime o mesmo resultado, de mas esta forma compacta pode ser descativada nas configurações do PHP, como tal a instrução mais completa é recomendada.

                E se quiser usar aspas dentro do comando echo?

                É possível usar aspas dentro do echo usando uma barra antes da aspa ( \ )

                               Exemplo 4:

                                              <?php echo “O teu carro têm um \”motor\” dos tais!”; ?>

                Posso adicionar variáveis na instrução?

                O conteúdo da instrução echo pode ser delimitado de 3 formas distintas:

                               Exemplo 5:

                                Vamos assumir que é definida uma variável chamada, variável, e que tem o valor “redes”;

                              

Echo $variavel; - Neste caso o comando echo vai imprimir o resultado da variável, ou seja:

                redes

                                Echo “$variavel”; - Tal como o caso acima, o echo imprimirá o resultado da variável, ou seja:

                                               redes

                                Echo ‘$variavel’; - Ao contrário dos exemplos acima, o delimitador ‘ avisa o PHP de que deve considerar tudo o que estiver dentro dos delimitadores output final e não variáveis, desta forma o resultado será:

                                               $variavel

 

 

 

E o print?

Em php existem varias formas de gerar output para além do echo. Se, pegarem nos exemplos dados no echo, e substituírem este pelo print, verão que o resultado é o mesmo, mas se ambos geram o mesmo resultado, porque é que existem duas instruções que fazem o mesmo?

A resposta é que na verdade, o echo e o print têm algumas diferenças, e funcionam de formas distintas.

O print ao contrário do echo só suporta um parâmetro ou seja, enquanto no echo é possível ter vários outputs separados por vírgulas, o print, apenas permite 1 output por chamada.

Devido a forma como foi implementado, o print é mais lento do que o echo ao ser executado (não que se note num projeto pequeno, mas há uma diferença), esta diferença deve-se ao facto de que o print, devolve um valor ao sistema (para os mais curiosos, o print devolve o valor 1 ao sistema, e isto pode ser usado para garantir que o código foi impresso e é valido, mas isto muitíssimo raramente é necessário), ao contrário o echo apenas se limita a apresentar o output.

Basicamente, usem o echo e esqueçam o print, provavelmente nunca irão precisar dele em php.

 

Então e o printf?

O printf é muito diferente do print, ao contrario do anterior, o printf é muito usado.

Printf devolve um valor formatado, tal como é usado em C.

Exemplo 6:

<?

$numero = 256;

printf("%f",$numero);

?>

O resultado será:

256.000000

Neste exemplo a formatação é definida pelo %f, isto significa que no local do % aparecerá o resultado que é definido pelo f, que é a definição de que o resultado será um float.

 

Esta função requer o conhecimento de algumas regras de formação, sugiro a leitura da lista de Syntax do w3schools.com -> http://www.w3schools.com/php/func_string_printf.asp

 

Estruturas de decisão

If

Sendo um dos termos mais universal na programação, o if é uma estrutura de decisão, em que avalia se um resultado é verdadeiro ou falso e fornece uma forma de agir de acordo com isso.

Parte do if, é a instrução else, que serve como alternativa ao resultado verdadeiro.

                Exemplo 7:

                              <?

                                               $a = 10;

                                               $b = 5;

                                               If($a > $b){

                                                               echo “O a é maior do que o b!”;

                                               } else { //Caso contrario

                                                               echo “O b é maior ou igual do que a!”;

                                               }

                               ?>

                               Resultado: O a é maior do que o b!

                É possível compactar o código?

                Esta instrução pode ser escrita de várias maneiras, usando o exemplo 7, o mesmo código poderia ser escrito como:

                Exemplo 8:

                              <?

                               $a = 10; $b = 5;

                               If($a > $b) echo “O a é maior do que o b!”;

                               else echo “O b é maior ou igual do que a!”;

                               ?>

                O resultado seria exatamente o mesmo, a limitação nesta forma é o numero de linhas que podem ser executadas dentro do resultado da avaliação, enquanto que no exemplo 7, podíamos ter vários echos por caso, no exemplo 8, apenas pode ser executado um echo.

                Existe ainda uma forma mais compacta de escrever o mesmo código.

                Exemplo 9:

               <?

$a = 10; $b = 5;

echo $a>$b ? "O a é maior do que o b!" : "O b é maior ou igual do que a!";

?>

                Tal como nos restantes casos, o resultado será o mesmo (O a é maior do que o b!), esta estrutura é a mais compacta das 3, e é usada geralmente para instruções pequenas.

                A sua estrutura é:

 (Avaliação) ? (Resultado previsto) : (Resultado oposto);

 

E acaba assim a primeira introdução ao PHP, apesar de falar apenas de alguns conceitos base, tentei mostrar os mesmos de uma mais forma completa do que a maioria das introduções que são feitas à linguagem.

Qualquer dúvida, correcção ou sugestão, deixem um comentário e tentarei responder ASAP. 

Categoria: Programação
Comentários: (25)

Comentários

The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I imply, I do know it was my option to read, however I really thought youd have something fainniatscg to say. All I hear is a bunch of whining about one thing that you may repair should you werent too busy looking for attention.

Priest às 10:45:32 de 13-07-2016

Martyna, I still haven&8217;t tasted haloumi (although I keep on seeing it in one of my regular shops..) and already want to make it on my own thanks to your impressive accomplishment! It looks fabulous!

http://www.littleblackportraits.com/2010/10/bridal-boudoir-orlando-boudoir.html?showComment=1295987482576 às 07:46:31 de 14-07-2016

Real brain power on display. Thanks for that answer!

http://www.pgpschallenge.com/js/modernizr.js às 08:51:07 de 14-07-2016

Che gente retrograda&8230;in qualunque paese civile il centro è interdetto al traffico, ed è quello che bisognerebbe fare anche a Mola&8230;un giorno comunque giuro che sarò un vostro amministratore e saranno &8220;&8230;..&8221; vostri&8230;solo con Nico che è una persona intelligente si può parlare, proponendo una soluzione concreta anche se so che la mia proposta non gli dispiacerebbe!!!

http://www.isayyousayblog.com/2014/02/its-finally-here.html às 08:53:22 de 14-07-2016

i LOVE the mix of cheese and champagne, an essential and very satisfying combination. Can the same be found for goats/sheeps cheeses as well as cows?...i'm thinking aperitif's and some devine related cheese board nibs :-D

insurance auto quote às 09:57:33 de 14-07-2016

Amen Albis, amen amiga por tus bendiciones que son los más bonito que recibo de ustedes y que me compromete a continuar con este hermoso proyecto, solo le pido a Dios vida y salud para continuar, amo este trabajo desde mi hogar. GRACIAS

http://www.isayyousayblog.com/2014/04/i-say-good-friday-well-spent.html às 13:25:19 de 14-07-2016

thailand is not the only cheap country in southeast asia.all contries in southeast asia are cheap.to name a few here: malaysia, cambodia, lao, vietnam, indonesia&8230;

http://www.littleblackportraits.com/2010/12/octobers-lovely-orlando-boudoir.html às 13:41:39 de 14-07-2016

I&8217;m no particle physicist, but what I understand, the putative DM particle at 130 (actually 135 based on updated official Fermi analysis) annihilates to two photons, not decays. The particle itself is (presumably) stable.

http://www.tna1.info/ às 11:21:51 de 15-07-2016

Economies are in dire straits, but I can count on this!

http://www.heliplanex.com/ às 12:15:16 de 15-07-2016

I simply wanted to send a simple message in order to express gratitude to you for those nice tips you are giving out at this site. My considerable internet lookup has finally been compensated with good quality details to exchange with my relatives. I &8216;d admit that most of us website visitors are quite endowed to be in a magnificent network with many special individuals with beneficial things. I feel very much grateful to have discovered your entire website and look forward to some more pleasurable minutes reading here. Thanks a lot again for everything.

car insurance às 12:29:01 de 15-07-2016

I love your Labor Day picture Field. The meaning of Labor Day struck me as I was driving home Saturday night around 9:20 pm. You could see these big tractors, all lit up like the Mother Ship, plowing the fields.

http://www.lasmangist.com/ às 13:02:46 de 15-07-2016

Hej Lene.Det helt vidunderlige ved bøger er netop, at man kan få så mange forskellige oplevelser ud af samme bog. Det er super lækkert, at der er nogle, som dig, der har fået en bedre læseoplevelse end hvad jeg fik.

http://heliplanex.com/24-hours-in-a-day-quote.html às 13:50:49 de 15-07-2016

potrei sbagliare, ma con la legge elettorale ("la porcata") attuale, al quorum contribuiscono anche le schede bianche.forse sarebbe più efficace appendersi dei cartelli con scritto "io non voto questa gente" e mettersi davanti ai seggi...in fondo non potrebbero neanche dire nulla...non è propaganda a favore di nessuno...speriamo che la gente si ribelli...non se ne può più dello stato di cose attuali...in tutti i campi...ciao

http://www.tna1.info/ às 14:03:50 de 15-07-2016

Wow! Great thinking! JK

http://www.oweninsuragency.com/ às 14:05:45 de 15-07-2016

This sounds great. I&39;ve never heard of it, and as my mom is a Brit I&39;m going to have a stern talking to her about it. I do love me some bubbles and squeak and bangers and mash and my favorite breakfast she used to make us was baked beans on toast. YUM. Maybe I&39;ll whip this up for her next time she comes to my side of the pond for a visit with her grandkids...she&39;ll be so impressed and we both love curry!Alex aka Ma What&39;s For Dinnerwww.mawhats4dinner.com

http://www.tna1.info/ às 14:34:47 de 15-07-2016

months down the line im sure you can all see shes done more work than any other miss sa and focused on real issues like teenage pregnancty n education i think yes maybe you dont like her but this gal has done real goos work and has been a real role modelyou go bokang wish you all the best for Miss Universe

http://www.lasmangist.com/ às 15:34:45 de 15-07-2016

"Future Spacemen can simply set these activities in motion, leave at near light speed, and return 10s or 100s of thousands of years later to continue the transformation or rest his labors in a new Eden. Of course, other advanced species are probably already doing these things and unfortunately have a lock on the best neighborhoods."That means OUR alien overlords are due back any minute. OH SHIT!

http://lasmangist.com/sc-driving-record.html às 15:47:47 de 15-07-2016

Cauliflower with Za&039;atar seasoning How to Grill The Vegan Way by Kim Smoky Grilled Eggplant by Jamey Taste of India Grilled Tofu and Lemon-Pepper Tofu

http://passstylemusic.com/auto-insurance-companies-in-south-carolina.html às 16:06:07 de 15-07-2016

In realtà è una delle poche cose in cui Barrai ha ragione: difatto poi è la più importante.Fa ridere che ancora si paventi la deflazione, ma quando ci si intestardisce&8230;..

http://www.heliplanex.com/ às 16:42:51 de 15-07-2016

Jag förstår helt vad du menar rawkus. Jag tror också att all uppmärksamhet rasister får gör dem starkare, ett exempel är hela SD-gate här hemma i Sverige.Samtidigt tycker jag att sånna här händelser måste uppmärksammas mer, och hade Boateng ignorerat rasisterna hade händelsen säkert inte ens uppmärksammats.

auto insurance quotes às 17:00:19 de 15-07-2016

I looooove this shirt. I picked up the latest Dazed and Confused and read the article on Courtney, needless to say she is still awesome, but I doubt that woman could never not be.Also thanks for the response on the McQ post, I appreciate it a lot. But still, I don&39;t think that summarizes 1/5th of what I&39;m feeling right now. He deserves an encyclopedia worth of words to acknowledge everything he was. We can pull through this thoughh, I know you&39;re hurting too. We all are.

http://www.tna1.info/ às 17:54:01 de 15-07-2016

Great weblog! Do you have any useful tips for aspiring authors? I&8217;m hoping to begin my own site soon but I&8217;m slightly lost in everything. Would you advise starting with a no cost platform similar to WordPress or go for a paid alternative? There are countless options on the market that I am just totally weighed down.. Any recommendations? Bless you!

http://www.lasmangist.com/ às 19:19:35 de 15-07-2016

Glad you liked it&8230; He&8217;s a talented dude and a hell of a songwriter.As for Metal-Archives, well, fuck them&8230; they won&8217;t consider Keith Merrow as metal because he has no physical releases. And Powerglove isn&8217;t metal because they don&8217;t have any completely original songs. facepalm

http://www.lasmangist.com/ às 19:22:36 de 15-07-2016

Whoever edits and publishes these articles really knows what they're doing.

http://www.lasmangist.com/ às 19:43:11 de 15-07-2016

Economies are in dire straits, but I can count on this!

http://www.heliplanex.com/ às 23:45:57 de 15-07-2016


Enviar Comentário


Os comentários poderão ser moderados caso seja necessário.
Voltar ao Topo
Blog brevemente disponível na plataforma:

Log-In

Utilizador:
Palavra-passe:
Manter o login:

Webmaster

Tiago Gonçalves
Engenheiro e Técnico de Informática, com um grande interesse nas áreas de Web, Mobile, Design & Fotografia.
Ver o meu perfil completo
Contactar