[Powered by Google Translate] [Sintaxe PHP]
[Tommy MacWilliam] [Harvard University]
[É dicir CS50.] [CS50.TV]
>> Neste vídeo, imos presentar PHP -
unha das linguas estaremos usando en CS50
como transición para o desenvolvemento web.
PHP significa PHP Hypertext Procesador,
ou PHP Hypertext Procesador Hipertexto Procesador,
e eu vou deixar por aí.
PHP é un acrónimo recursivo, o que eu creo que é realmente incrible.
>> Entón, imos escribir "Ola Mundo" en PHP,
que será un pouco diferente do que o 'Ola Mundo' en C que vimos a coñecer e amar.
No canto de crear un ficheiro chamado hello.c,
imos crear hello.php.
Todo o noso código PHP será contido entre <? PHP e>.
Si temos un código PHP que está situada
fóra destes delimitadores, non será executada.
Podemos ter como moitos destes bloques PHP
como queremos dentro dun único arquivo PHP.
En PHP non hai ningunha necesidade para unha función principal.
Pola contra, o noso código PHP será executado na orde en que aparece no noso arquivo PHP.
Ambos C e PHP ten unha función 'printf "para saída de datos.
Pero, en PHP, non necesitamos # include os ficheiros de cabeceira como standardIO.h.
Isto porque en PHP non será compilar noso código.
Cando escribimos código C noso fluxo de traballo tende a ser a apertura
un ou máis. c ou. arquivos h, transformándose as, recompila-los,
e executar o binario resultante.
Escribe o vídeo Compiladores para obter máis información sobre este proceso.
>> A diferenza de C, PHP é unha interpretación - lingua - ao contrario de compilada.
Isto significa que o código PHP que escribimos
levará a cabo a través dun programa especial chamado un intérprete,
que á súa vez pode executar o noso código.
Para realizar o noso código PHP,
imos envialo xunto co intérprete PHP que enfrontará a súa execución,
ao contrario de recompila-lo a código de máquina.
Imos ver o intérprete en acción.
Imos abrir un terminal e executar o comando PHP
e no camiño para o ficheiro PHP que quere realizar.
Nós diremos, 'php hello.php.
E alí imos nós. Hai a saída do noso programa PHP.
Non ten que compilar noso arquivo PHP en todo.
Pola contra, tivemos outro programa - o intérprete PHP -
Executando o código fonte que escribimos.
>> PHP pode facer moito máis do que simplemente printf.
Imos escribir algúns programas PHP máis complexas.
A sintaxe para construcións - como if, else, while, for e rede -
é a mesma en PHP e C.
Así como C, cada unha destas construcións utiliza claves para demarcar o seu corpo,
E, así como en C, cada liña que escribimos
debe terminar cun punto e coma,
Con todo, as variables son tratadas un pouco diferente en PHP.
En primeiro lugar, as variables en PHP debe comezar co sinal de dólar.
Parece un pouco raro no comezo, pero vai se acostumar con iso.
En segundo lugar, o PHP é unha linguaxe feblemente tipada
o que significa que non precisa incluír explicitamente
o tipo dunha variable ao crealo.
Onde en C que ten que dicir int x = 5;
ou char y = 'a';
en PHP, podemos simplemente dicir $ x = 5;
e $ = y 'a',.
O mesmo se aplica ás funcións.
En vez de dicir int f () {corpo da nosa función}
en PHP, imos dicir a función f () {corpo da nosa función}.
Non ten que especificar explicitamente o tipo da nosa función f retorno.
Funcións en PHP tampouco ten que devolver o mesmo tipo
cada vez que son executados.
Por exemplo, poderiamos escribir unha función que devolve false en caso de erro
e outro tipo de ser exitoso.
>> Isto tamén pode axudarnos a escribir funcións máis xenéricas.
Por exemplo, poderiamos escribir unha única función add
que pode voltar un enteiro, se dous enteiros son dadas
ou unha boia dous coches alegóricos son dadas.
En C, necesitariamos escribir dúas funcións separadas para facelo.
Mentres en C usan punteiros a un aumento e cordas,
non poderá usar punteiros en PHP.
Pola contra, os dous arrays e strings son built-in tipo en PHP.
Son construídos para a dereita para a lingua.
Para crear unha matriz en PHP, podemos dicir,
$ = Unha matriz (1, 2, 3);
ou, máis simplemente un $ = [1, 2, 3].
Podemos índice para esa matriz usando a mesma sintaxe que estamos afeitos de C.
Para obter o primeiro elemento, imos dicir, $ a [0];.
PHP tamén ten soporte embutido para arrays asociativos.
As matrices asociativas son como a estrutura de datos táboa hash que xa vimos -
eles mapear unha clave a un valor.
>> Imos dar un ollo a un exemplo.
Podemos dicir, $ staff = ["instrutor" => "david", "tf" => "Tommy"];.
Aquí, eu teño unha matriz asociativa con 2 chaves - instrutor e tf.
A frecha dobre, o igual, maior que,
emprégase para separar unha chave e o valor correspondente.
Así, o valor de US $ persoal ["tf"] é a cadea "Tommy".
Os valores dunha matriz asociativa -
así como calquera outra matriz - pode ser de calquera tipo.
Por exemplo, poderiamos dicir, $ staff = ["instrutor" => "david", "TFS" => ["Tommy", "roubo"]];.
Agora, o valor de 'TFS' é unha matriz.
É dicir, que os valores dentro dunha matriz de asociación pode ser de distintos tipos.
>> Matrices PHP tampouco teñen unha lonxitude fixa,
para que poidamos engadir ou eliminar elementos dunha matriz.
Digamos que temos unha matriz simple como $ a = [1, 2, 3].
Para engadir un novo elemento a esta matriz,
podemos dicir, $ a [] = 4;.
Agora, a nosa gama está composta por catro elementos - [1, 2, 3, 4].
Lembre que se quería facer algo coma isto en C,
nós teriamos que reservar unha nova matriz,
copiar o contido da nosa primeira matriz para el,
e logo, establecer o último elemento da nova matriz para o noso novo valor.
Isto é moito máis fácil en PHP.
Se a nosa matriz é unha matriz asociativa,
podemos simplemente establecer unha nova clave para crear un elemento
se aínda non existe.
Se temos a nosa disposición máis cedo - $ staff -
podemos dicir $ persoal ["total"] = 3;.
Agora temos unha nova clave co valor de 3.
>> Para obter o número de elementos nunha matriz,
podemos utilizar a función 'count'.
Se dicimos, count ($ a);, que terá un valor de 4.
En PHP, podemos crear secuencias usando comiñas dobres ou simple,
para ambas variables son cadeas.
$ S1 = "cadea"; $ s2 = 'outra cadea';.
Cal é a diferencia entre estes dous?
Ben, é moi común querer incluír o
valor dunha variable dentro dunha cadea.
Unha forma de facelo sería usar o operador punto do PHP,
que concatena cadeas.
Poderiamos facer algo así -
$ N = 5; $ s = 'n é «n $.,.
Aquí a variable n é un número enteiro.
Pero cando concatenar-lo con unha corda,
PHP pode convertelo la automaticamente a unha cadea para nós.
Ou podemos simplemente usar comiñas dobres para poñer a variable dentro da propia cadea.
Podemos dicir, $ s = "n é de R $ n";.
Agora, o valor de $ s 'n é 5'.
Usar aspas no seu lugar, como en $ s = 'n é de R $ n';
o valor de s 'n é n $',.
O valor de n non ser substituído, se usarmos plicas,
pero será usar comiñas dobres.
Se queremos usar comiñas dobres para incluír o valor dunha matriz nunha cadea,
imos ter incluír claves de todo o conxunto, como este -
$ S = "{$ persoal ['total']}";.
>> Imos agora dar un ollo a un pequeno fragmento en C e traducir-lo para PHP.
Aquí, nós estamos creando unha función que imprime as letras dunha cadea,
un carácter por liña.
Imos facer o mesmo en PHP.
En primeiro lugar, imos ter que nosos delimitadores do PHP.
Cando creamos a nosa función,
non precisa especificar o seu tipo de retorno ou o tipo de argumento.
Nosa variable s tamén deben comezar cun signo de dólar.
Función de PHP strlen dános a lonxitude dunha corda,
así como C do strlen dános a lonxitude dunha cadea.
Baixo o capó, porén, estas funcións son realmente un pouco diferente
desde unha cadea é un tipo built-in en PHP.
A sintaxe do noso lazo 'for' é o mesmo.
>> En PHP, tamén podemos utilizar a notación de matriz para acceder aos caracteres dunha cadea.
Podemos agora utilizar a función de impresión para imprimir cada letra da cadea.
Coa función de impresión do PHP, non se preocupe con espazos reservados -
como% d ou% c - cando queremos imprimir unha variable que non é unha cadea.
Pola contra, pode simplemente pasar unha variable de calquera tipo para a función de impresión,
e ela será convertida a unha cadea e exhibido.
E é iso! Imos agora realizar o noso arquivo con 'php print.php.
E hai a saída vimos do noso programa C.
>> PHP tamén soporta unha construción chamada de loop 'foreach'.
Loop 'foreach' é como un 'for' loop,
senón que engade un pouco de azucre sintático para facer as cousas máis lexible.
Aquí, estamos creando unha nova matriz chamada "$ array.
Agora podemos dicir, foreach ($ array como $ number),
e podemos imprimir $ number.
Cando executar o ficheiro - php-foreach.php-vemos cada número na súa propia liña.
>> Cando escribimos código C, que moitas veces era útil para organizar o noso código en arquivos separados.
En PHP, podemos facer o mesmo.
Digamos que temos algunhas funcións nun arquivo chamado math.php.
Se quere usar estas funcións noutro ficheiro PHP, como calculator.php,
Podo usar require_once () do PHP función.
Require_once é como # include.
Cando dada unha ruta a un ficheiro, será, esencialmente, copiar e pegar o contido
daquel ficheiro ao arquivo actual.
Require_once asegura que cada ficheiro está incluído no arquivo actual só unha vez,
que pode ser útil se ten unha gran colección de arquivos PHP que precisan uns dos outros.
Imos dar un ollo a un exemplo.
Aquí temos un conxunto de funcións que quere empregar en outro arquivo.
Imos dar un ollo a como podemos usalos.
Na liña 3, que están esixindo math.php.
O '__DIR__' é unha constante especial que representa o directorio actual
desde math.php e calculator.php están localizados no mesmo directorio.
Despois esiximos math.php, podemos utilizar as funcións
coma se tivésemos definido los calculator.php.
Imos correr con este 'php calculator.php. Great!
>> Isto é todo para a nosa introdución a sintaxe do PHP.
Para saber máis, confía PHP.net.
PHP ten unha morea de funcións internas e, por sorte, a súa documentación é realmente grande.
O meu nome é Tommy, e este é o CS50.
[CS50.TV]
>> Soporte ..., eu estou fóra da sala. Drogas! Este é o último vídeo onde eu uso palabras grandes no código.