[Powered by Google Translate] [PHP Sintaxis] [Tommy MacWilliam] [Universidad de Harvard] [Este es CS50.] [CS50.TV] En este video, vamos a introducir PHP - uno de los idiomas que va a utilizar en el CS50 como transición hacia el desarrollo web. PHP significa PHP Hypertext Processor, o PHP Hypertext Processor Hypertext Processor, y voy a dejar ahí. PHP es un acrónimo recursivo, que creo que es realmente impresionante. Por lo tanto, vamos a escribir "hola mundo" en PHP, que será un poco diferente a la 'hola mundo' en C que hemos llegado a conocer y amar. En lugar de crear un archivo llamado hello.c, crearemos hello.php. Todo nuestro código PHP estará contenido entre . Si tenemos cualquier código PHP que se encuentra fuera de estos delimitadores, no se ejecutará. Podemos tener tantos de estos bloques de PHP como queramos dentro de un solo archivo PHP. En PHP no es necesario para una función principal. En cambio, nuestro código PHP se ejecuta en el orden en que aparece en nuestro archivo PHP. Tanto C y PHP tiene una función de 'printf' para la salida de datos. Pero en PHP, no necesitamos a # incluir archivos de cabecera como standardIO.h. Eso es porque en PHP no estaremos compilando nuestro código. Cuando escribimos el código C nuestro flujo de trabajo tiende a ser la apertura de uno o más. co. h archivos, modificarlos, compilación de los mismos, y ejecutar el binario resultante. Mira el vídeo de compiladores para obtener más información acerca de este proceso. A diferencia de C, PHP es una interpretación - Lenguaje - en lugar de compilado. Esto significa que el código PHP que escribir se ejecutará a través de un programa especial llamado un intérprete, que a su vez ejecutar nuestro código. Para ejecutar el código PHP, lo enviaremos junto al intérprete de PHP que se encargará de su ejecución, en lugar de compilar a código máquina. Vamos a ver al intérprete en la acción. Vamos a abrir un terminal y ejecutar el comando PHP seguido de la ruta al archivo PHP que nos gustaría correr. Vamos a decir, 'php hello.php'. Y ahí vamos. Ahí está la salida de nuestro programa PHP. No necesitamos para compilar nuestro archivo PHP en absoluto. En cambio, tuvimos otro programa - el intérprete PHP - ejecutar el código fuente que escribimos. PHP puede hacer mucho más que simplemente printf. Vamos a escribir algunos programas PHP más complejos. La sintaxis de las construcciones - como if, else, while, for, y switch - es la misma en PHP y C. Al igual que C, cada una de estas construcciones utiliza llaves para delimitar su cuerpo, y al igual que en C, cada línea que escribimos debe terminar con un punto y coma; Sin embargo, las variables se tratan de manera diferente en PHP. En primer lugar, todas las variables en PHP deben comenzar con el signo de dólar. Parece un poco raro al principio, pero te acostumbras a él. En segundo lugar, PHP es un lenguaje débilmente tipado lo que significa que no es necesario incorporar explícitamente el tipo de una variable al crearla. Cuando en C que había necesidad de decir int x = 5; o charlas y = 'a'; en PHP simplemente podemos decir $ x = 5; y $ y = 'a';. Lo mismo se aplica a las funciones. En vez de decir f int () {cuerpo de nuestra función} en PHP que vamos a decir que la función f () {cuerpo de nuestra función}. No es necesario especificar explícitamente el tipo de retorno de nuestra función f. Funciones en PHP también no tiene que devolver el mismo tipo cada vez que se ejecutan. Por ejemplo, podríamos escribir una función que devuelve falso en caso de error y de otro tipo si tiene éxito. Esto también puede ayudar a escribir funciones más genéricas. Por ejemplo, podríamos escribir una sola función add que puede devolver un entero, si se dan 2 números enteros o un flotador si se dan 2 flotadores. En C, tendríamos que escribir 2 funciones separadas para hacer esto. Mientras que en C se utiliza punteros para un aumento de sueldo y cuerdas, no vamos a ser capaces de utilizar punteros en PHP. En cambio, ambas matrices y cadenas son una función de los tipos en PHP. Están integradas en el lenguaje. Para crear una matriz en PHP se puede decir, $ A = array (1, 2, 3); o, más sencillamente $ a = [1, 2, 3];. Podemos índice en la matriz usando la misma sintaxis que estamos acostumbrados de C. Para obtener el primer elemento que vamos a decir, $ a [0];. PHP también tiene una función de apoyo a las matrices asociativas. Las matrices asociativas son igual que la estructura de datos de la tabla hash ya hemos visto - se asignan una clave a un valor. Echemos un vistazo a un ejemplo. Podemos decir, $ staff = ["instructor" => "david", "tf" => "tommy"];. Aquí tengo una matriz asociativa con 2 llaves - instructor y tf. La flecha doble, o es igual-mayor-que, se utiliza para separar una clave y su valor correspondiente. Por lo tanto, el valor de $ staff ["tf"] es la cadena "tommy". Los valores de una matriz asociativa - al igual que cualquier otra variedad - puede ser de cualquier tipo. Por ejemplo, podríamos decir, $ staff = ["instructor" => "david", "tfs" => ["tommy", "rob"]];. Ahora el valor de "tfs 'es una matriz. Esto significa que los valores dentro de una matriz asociativa pueden ser de diferentes tipos. Arrays PHP tampoco tienen una longitud fija, por lo que podemos añadir o eliminar elementos de una matriz. Digamos que tenemos una matriz simple como $ a = [1, 2, 3]. Para agregar un nuevo elemento a la matriz, podemos decir, $ a [] = 4;. Ahora, nuestra gama se compone de cuatro elementos - [1, 2, 3, 4]. Recordemos que si queríamos hacer algo como esto en C, tendríamos que asignar una matriz totalmente nueva, copiar el contenido de nuestra primera gama en él, y luego establecer el último elemento de la nueva matriz a nuestro nuevo valor. Esto es mucho más fácil en PHP. Si nuestra matriz es una matriz asociativa, podemos definir simplemente una nueva clave para crear un elemento si no existe todavía. Si tenemos nuestra anterior gama - $ staff - podemos decir $ staff ["total"] = 3;. Ahora tenemos una nueva clave con el valor de 3. Para obtener el número de elementos de una matriz, podemos usar la función de 'count'. Si decimos, count ($ a);, que tendrá un valor de 4. En PHP, podemos crear cadenas con comillas dobles o simples, así que ambas variables son cadenas. $ S1 = "cadena", $ s2 = "otra cadena";. ¿Cuál es la diferencia entre estos dos? Bueno, es bastante normal que desee incluir la valor de una variable dentro de una cadena. Una forma de hacerlo sería utilizar el operador de punto de PHP, que concatena cadenas. Podríamos hacer algo como esto - $ N = 5, $ s = 'n es' $ n.;. Aquí la variable n es un número entero. Pero cuando se concatena con una cadena, PHP se convertirá automáticamente en una cadena para nosotros. O simplemente podemos usar comillas dobles para poner la variable en la propia cadena. Podemos decir, $ s = "n es de $ n". Ahora el valor de u $ s será 'n es 5'. Si usamos comillas simples, como en $ s = 'n es de $ n'; el valor de s será "n es de $ n ';. El valor de n no va a ser sustituido si usamos comillas simples, pero será si usamos comillas dobles. Si queremos usar comillas para incluir el valor de una matriz en una cadena, tendremos que incluir llaves de todo el conjunto, como este - $ S = "{$ staff [" total "]}";. Ahora vamos a echar un vistazo a un pequeño fragmento de código en C y lo traducen a PHP. Aquí, estamos creando una función que imprime las letras de una cadena, un carácter por línea. Vamos a hacer lo mismo en PHP. En primer lugar, vamos a necesitar nuestros delimitadores PHP. Cuando creamos nuestra función, no es necesario especificar el tipo de devolución o el tipo de su argumento. Nuestra variable s también debe comenzar con un signo de dólar. Función de PHP strlen nos da la longitud de una cadena, al igual que C de strlen nos da la longitud de una cadena. Bajo el capó, sin embargo, estas funciones son en realidad un poco diferente ya que una cadena es un tipo incorporado en PHP. La sintaxis de nuestra 'de' bucle es la misma. En PHP, también podemos utilizar la notación de matriz para acceder a los caracteres de una cadena. Ahora podemos usar la función de impresión para imprimir cada letra de la cadena. Con la función de impresión de PHP, no tenemos que preocuparnos de los marcadores de posición - como% e o% c - cuando queremos imprimir una variable que no es una cadena. En su lugar, podemos simplemente pasar una variable de cualquier tipo a la función de impresión, y se convierte en una cadena y se muestra. Y eso es todo! Ahora vamos a ejecutar nuestro archivo con 'php print.php'. Y ahí está la salida vimos en nuestro programa de C. PHP también soporta una construcción denominada loop 'foreach'. El loop 'foreach' es igual a 'de' loop, pero añade un poco de azúcar sintáctico para hacer las cosas más fácil de leer. Aquí, estamos creando una nueva matriz llamada '$ array'. Ahora podemos decir, foreach ($ array como $ number), y podemos imprimir $ numero. Cuando ejecutamos este archivo - php-foreach.php-podemos ver cada número en su propia línea. Cuando escribimos el código C, a menudo es útil para organizar nuestro código en archivos separados. En PHP, podemos hacer lo mismo. Digamos que tenemos algunas funciones en un archivo llamado math.php. Si quiero usar esas funciones en otro archivo PHP, como calculator.php, Puedo utilizar la función require_once () de PHP. Require_once es como # include. Cuando se les da una ruta a un archivo, en esencia, copie y pegue el contenido de ese archivo en el archivo actual. Require_once asegura que cada archivo se incluye en el archivo actual una sola vez, que puede ser útil si usted tiene una gran colección de archivos PHP que necesitan unos a otros. Echemos un vistazo a un ejemplo. Aquí tenemos una colección de funciones que me gustaría utilizar en otro archivo. Echemos un vistazo a cómo podemos utilizarlas. En la línea 3, requerimos math.php. El '__DIR__' es una constante especial que representa el directorio actual desde math.php y calculator.php se encuentran en el mismo directorio. Después necesitamos math.php, podemos utilizar las funciones  como si nos hemos definido en calculator.php. Vamos a ejecutar esto con 'php calculator.php'. Great! Eso es todo por nuestra introducción a la sintaxis de PHP. Para obtener más información, echa un vistazo a PHP.net. PHP tiene un montón de funciones incorporadas, y por suerte la documentación es realmente grande. Mi nombre es Tommy, y esto es CS50. [CS50.TV] Soporte ..., estoy fuera de la habitación. ¡Maldita sea! Este es el último video donde utilizo palabras mayores en el código.