[Powered by Google Translate] [Sintaxe PHP]
[Tommy MacWilliam] [Harvard University]
[Isto é CS50.] [CS50.TV]
>> Neste vídeo, vamos apresentar PHP -
uma das línguas estaremos usando em CS50
como transição para o desenvolvimento web.
PHP significa PHP Hypertext Processor,
ou PHP Hypertext Processor Hypertext Processor,
e eu vou parar por aí.
PHP é um acrônimo recursivo, o que eu acho que é realmente incrível.
>> Então, vamos escrever "Olá mundo" em PHP,
que vai ser um pouco diferente do que o 'Olá mundo' em C que temos vindo a conhecer e amar.
Em vez de criar um arquivo chamado hello.c,
vamos criar hello.php.
Todo o nosso código PHP será contido entre <? Php e>.
Se temos qualquer código PHP que está localizada
fora destes delimitadores, não será executada.
Podemos ter como muitos desses blocos PHP
como queremos dentro de um único arquivo PHP.
Em PHP não há nenhuma necessidade para uma função principal.
Em vez disso, nosso código PHP será executado na ordem em que aparece em nosso arquivo PHP.
Ambos C e PHP tem uma função 'printf' para saída de dados.
Mas, em PHP, não precisamos de # include quaisquer arquivos de cabeçalho como standardIO.h.
Isso porque em PHP não será compilar nosso código.
Quando escrevemos código C nosso fluxo de trabalho tende a ser a abertura
um ou mais. c ou. arquivos h, transformando-as, compilá-los,
e executar o binário resultante.
Confira o vídeo Compiladores para obter mais informações sobre esse processo.
>> Ao contrário de C, PHP é uma interpretação - língua - ao invés de compilada.
Isso significa que o código PHP que nós escrevemos
será executado através de um programa especial chamado um intérprete,
que por sua vez irá executar nosso código.
Para executar nosso código PHP,
vamos enviá-lo juntamente com o interpretador PHP que vai lidar com a sua execução,
ao invés de compilá-lo para código de máquina.
Vamos ver a intérprete em ação.
Vamos abrir um terminal e executar o comando PHP
seguido do caminho para o arquivo PHP que gostaria de executar.
Nós diremos, 'php hello.php.
E lá vamos nós. Há a saída do nosso programa PHP.
Nós não precisa compilar nosso arquivo PHP em tudo.
Em vez disso, tivemos um outro programa - o interpretador PHP -
executar o código fonte que escrevemos.
>> PHP pode fazer muito mais do que simplesmente printf.
Vamos escrever alguns programas PHP mais complexas.
A sintaxe para construções - como if, else, while, for e switch -
é o mesmo em PHP e C.
Assim como C, cada uma dessas construções utiliza chaves para demarcar o seu corpo,
E, assim como em C, cada linha que escrevemos
deve terminar com um ponto e vírgula;
No entanto, as variáveis ​​são tratadas um pouco diferente em PHP.
Em primeiro lugar, todas as variáveis ​​em PHP deve começar com o sinal de dólar.
Parece um pouco estranho no começo, mas você vai se acostumar com isso.
Em segundo lugar, o PHP é uma linguagem fracamente tipada
o que significa que você não precisa listar explicitamente
o tipo de uma variável ao criá-lo.
Onde em C que você precisa dizer int x = 5;
ou char y = 'a';
em PHP, podemos simplesmente dizer $ x = 5;
e $ = y 'a',.
O mesmo se aplica às funções.
Ao invés de dizer int f () {corpo da nossa função}
em PHP, vamos dizer a função f () {corpo da nossa função}.
Nós não precisa especificar explicitamente o tipo da nossa função f retorno.
Funções em PHP também não tem que devolver o mesmo tipo
cada vez que são executados.
Por exemplo, poderíamos escrever uma função que retorna false em caso de erro
e outro tipo se for bem sucedido.
>> Isso também pode nos ajudar a escrever funções mais genéricas.
Por exemplo, poderíamos escrever uma única função add
que pode retornar um inteiro, se dois inteiros são dadas
ou uma bóia se dois carros alegóricos são dadas.
Em C, precisaríamos escrever duas funções separadas para fazer isso.
Enquanto em C usamos ponteiros para um aumento e cordas,
não será capaz de usar ponteiros em PHP.
Em vez disso, ambos os arrays e strings são built-in tipos em PHP.
Eles são construídos para a direita para a língua.
Para criar uma matriz em PHP, podemos dizer,
$ = Uma matriz (1, 2, 3);
ou, mais simplesmente um $ = [1, 2, 3].
Podemos índice para essa matriz usando a mesma sintaxe que estamos acostumados a de C.
Para obter o primeiro elemento, vamos dizer, $ a [0];.
PHP também tem suporte embutido para arrays associativos.
As matrizes associativas são como a estrutura de dados tabela hash que já vimos -
eles mapear uma chave a um valor.
>> Vamos dar uma olhada em um exemplo.
Podemos dizer, $ staff = ["instrutor" => "david", "tf" => "tommy"];.
Aqui, eu tenho uma matriz associativa com 2 chaves - instrutor e tf.
A seta dupla, ou igual, maior que,
é usada para separar uma chave e o valor correspondente.
Assim, o valor de US $ pessoal ["tf"] é a string "tommy".
Os valores de uma matriz associativa -
bem como qualquer outra matriz - pode ser de qualquer tipo.
Por exemplo, poderíamos dizer, $ staff = ["instrutor" => "david", "TFS" => ["Tommy", "roubar"]];.
Agora, o valor de 'TFS' é uma matriz.
Isto significa que os valores dentro de uma matriz de associação pode ser de diferentes tipos.
>> Matrizes PHP também não têm um comprimento fixo,
para que possamos adicionar ou remover elementos de uma matriz.
Digamos que temos uma matriz simples como $ a = [1, 2, 3].
Para adicionar um novo elemento a essa matriz,
podemos dizer, $ a [] = 4;.
Agora, a nossa gama é composta por quatro elementos - [1, 2, 3, 4].
Lembre-se que se queria fazer algo parecido com isso em C,
nós teríamos que alocar uma nova matriz,
copiar o conteúdo de nossa primeira matriz para ele,
e, em seguida, definir o último elemento da nova matriz para o nosso novo valor.
Isto é muito mais fácil em PHP.
Se a nossa matriz é uma matriz associativa,
podemos simplesmente definir uma nova chave para criar um elemento
se ele ainda não existe.
Se nós temos a nossa disposição mais cedo - $ staff -
podemos dizer $ pessoal ["total"] = 3;.
Agora temos uma nova chave com o valor de 3.
>> Para obter o número de elementos em uma matriz,
podemos usar a função 'count'.
Se dissermos, count ($ a);, que terá um valor de 4.
Em PHP, podemos criar seqüências usando aspas duplas ou simples,
para ambas as variáveis ​​são strings.
$ S1 = "string"; $ s2 = 'outra string';.
Qual é a diferença entre esses dois?
Bem, é muito comum querer incluir o
valor de uma variável dentro de uma string.
Uma maneira de fazer isso seria usar o operador ponto do PHP,
que concatena strings.
Poderíamos fazer algo assim -
$ N = 5; $ s = 'n é «n $.,.
Aqui a variável n é um número inteiro.
Mas quando concatenar-lo com uma corda,
PHP irá convertê-la automaticamente para uma string para nós.
Ou podemos simplesmente usar aspas duplas para colocar a variável dentro da própria cadeia.
Podemos dizer, $ s = "n é de R $ n";.
Agora, o valor de $ s será 'n é 5'.
Se usar aspas simples em vez disso, como em $ s = 'n é de R $ n';
o valor de s será 'n é n $',.
O valor de n não ser substituído, se usarmos plicas,
mas será se usar aspas duplas.
Se quisermos usar aspas duplas para incluir o valor de uma matriz em uma string,
vamos precisar incluir chaves de todo o conjunto, como este -
$ S = "{$ pessoal ['total']}";.
>> Vamos agora dar uma olhada em um pequeno trecho em C e traduzi-lo para PHP.
Aqui, nós estamos criando uma função que imprime as letras de uma string,
um caractere por linha.
Vamos fazer a mesma coisa em PHP.
Primeiro, vamos precisar de nossos delimitadores do PHP.
Quando criamos a nossa função,
não precisa especificar seu tipo de retorno ou o tipo de argumento.
Nossa variável s também devem começar com um sinal de dólar.
Função do PHP strlen nos dá o comprimento de uma corda,
assim como C do strlen nos dá o comprimento de uma string.
Sob o capô, porém, essas funções são realmente um pouco diferente
desde uma string é um tipo built-in em PHP.
A sintaxe do nosso laço 'for' é o mesmo.
>> Em PHP, também podemos usar a notação de matriz para acessar os caracteres de uma string.
Podemos agora usar a função de impressão para imprimir cada letra da string.
Com a função de impressão do PHP, não precisa se preocupar com espaços reservados -
como% d ou% c - quando queremos imprimir uma variável que não é uma string.
Em vez disso, podemos simplesmente passar uma variável de qualquer tipo para a função de impressão,
e ela será convertida para uma string e exibido.
E é isso! Vamos agora executar o nosso arquivo com 'php print.php.
E há a saída vimos do nosso programa C.
>> PHP também suporta uma construção chamada de loop 'foreach'.
Loop 'foreach' é como um 'for' loop,
mas adiciona um pouco de açúcar sintático para tornar as coisas mais legível.
Aqui, estamos criando uma nova matriz chamada "$ array.
Agora podemos dizer, foreach ($ array quanto $ number),
e podemos imprimir $ number.
Quando executar esse arquivo - php-foreach.php-podemos ver cada número em sua própria linha.
>> Quando escrevemos código C, que muitas vezes era útil para organizar nosso código em arquivos separados.
Em PHP, podemos fazer a mesma coisa.
Vamos dizer que temos algumas funções em um arquivo chamado math.php.
Se eu quiser usar essas funções em outro arquivo PHP, como calculator.php,
Eu posso usar require_once () do PHP função.
Require_once é como # include.
Quando dada um caminho para um arquivo, ele será, essencialmente, copiar e colar o conteúdo
daquele arquivo para o arquivo atual.
Require_once garante que cada arquivo é incluído no arquivo atual somente uma vez,
que pode ser útil se você tiver uma grande coleção de arquivos PHP que necessitam uns dos outros.
Vamos dar uma olhada em um exemplo.
Aqui temos uma coleção de funções que eu gostaria de usar em outro arquivo.
Vamos dar uma olhada em como podemos usá-los.
Na linha 3, que estão exigindo math.php.
O '__DIR__' é uma constante especial que representa o diretório atual
desde math.php e calculator.php estão localizados no mesmo diretório.
Depois exigimos math.php, podemos usar as funções
como se tivéssemos definido los em calculator.php.
Vamos executar isso com 'php calculator.php. Great!
>> Isso é tudo para a nossa introdução a sintaxe do PHP.
Para saber mais, confira PHP.net.
PHP tem um monte de funções internas e, felizmente, sua documentação é realmente grande.
Meu nome é Tommy, e este é o CS50.
[CS50.TV]
>> ... Suporte, eu estou fora da sala. Droga! Este é o último vídeo onde eu uso palavras grandes no código.