Tracks
/
PHP
PHP
/
Temario
/
Fundamentos
Fu

Fundamentos en PHP

1 ejercicio

Acerca de Fundamentos

Sintaxis general

PHP es un lenguaje interpretado, lo que significa que ejecuta directamente el código que escribes. Los archivos de código PHP son archivos de texto que contienen una etiqueta de apertura de PHP <?php para marcar el inicio del código PHP. Si el archivo contiene únicamente código PHP, es posible omitir la etiqueta de cierre ?> que se usa para marcar el final del código PHP. Consulta la documentación de la etiqueta PHP para obtener más información sobre la etiqueta de PHP.

<?php

// All PHP code goes here

// No closing tag required at the end

Para que resulte más fácil de leer, todos los ejemplos de código omiten la etiqueta de apertura de PHP <?php. Pero la incluimos en todos los ejercicios de PHP, así que no hace falta que la añadas tú.

Todas las instrucciones, como las asignaciones o las llamadas a funciones, deben terminar con un ; para separar instrucciones. Omitir el ; (como se hace en JavaScript) no está permitido y provoca errores de sintaxis. Puedes obtener más información sobre la separación de instrucciones en la documentación de PHP.

$message = "Success!"; // Statement correctly ends with `;`
$message = "I know JavaScript." // PHP Parse error: syntax error, [...]

Valores y variables

PHP es un lenguaje de programación con tipado dinámico. Los tipos de los valores solo se comprueban mientras el programa se está ejecutando. Con el operador de asignación =, se puede asignar cualquier tipo de valor a cualquier nombre de variable. Los nombres de variable deben empezar con el signo de dólar $. Para profundizar en las variables, consulta la documentación sobre variables de PHP.

$count = 1; // Assign an integer value of 1
$count = 2; // Re-assign a new value to the variable

$count = false; // You may assign any value type

// Strings can be created by enclosing the characters
// within single `'` quotes or double `"` quotes.
$message = "Success!";

Funciones y métodos

Los valores literales y los valores almacenados en variables se pueden pasar a las funciones. Al definir los argumentos de una función se crean nuevas variables para contener los valores que se pasan.

// Declare the window_width function
function window_width($width)
{
    echo $width; // Access the value passed into the function as $width
    // ...
}

window_width(100); // Call the function with the literal value 100

$newWidth = 100;
window_width($newWidth); // Call the function with the value stored in $newWidth

Las funciones pueden devolver valores usando la palabra clave return. Los valores que se devuelven pueden ser literales, estar almacenados en variables o ser el resultado de una instrucción.

function window_height()
{
    $heightOffset = 10;

    return 100 + $heightOffset;
}

Las funciones que están dentro de clases y de sus instancias se llaman métodos. Para llamar a un método, el nombre va precedido de la instancia y ->. Una instancia de clase se crea con la operación new. Los métodos tienen acceso a la variable especial $this, que hace referencia a la instancia actual.

<?php
// Calculator.php

class Calculator {
    // ...

    public function sub($x, $y)
    {
        return $this->add($x, -$y); // Calls the method add() of the current instance
    }

    public function add($x, $y)
    {
        return $x + $y;
    }
}

$calculator = new Calculator(); // Creates a new instance of Calculator class
$calculator->sub(3, 1); // Calls the method sub() of the instance stored in $calculator
// => 2

Profundizaremos en las funciones y las clases en ejercicios posteriores.

Depuración sencilla

Como forma básica de depuración, imprimir los valores y el contenido de las variables ayuda a entender qué ocurre. PHP puede imprimir valores usando:

  • echo $variable; para mostrar una representación del valor en forma de string
  • print $variable;, que es lo mismo que echo $variable;
  • var_dump($variable); para obtener más información sobre el valor, por ejemplo, el tipo que ve PHP

Cuando usas echo o print: los strings vacíos, false y null no se mostrarán. Y las clases y las instancias provocarán un error. Usa var_dump() para verlos.

En el editor en línea, la salida que produces se muestra junto con los resultados de las pruebas. Cuando usas la CLI, la salida aparece mezclada con el indicador de progreso antes del resumen de las pruebas.

Organización del código

Los archivos son las unidades básicas de organización del código en PHP y en muchos otros lenguajes. Para indicar el nombre del archivo que hay que consultar en un bloque de código, usamos un comentario. Nunca tienes que añadir ese tipo de comentarios a tus archivos:

<?php
// NameOfPhpFile.php

[...]

El código, las funciones y las clases pueden estar todos en un mismo archivo. Pero, por lo general, este tipo de unidades de código están en archivos separados.

Es una práctica habitual tener una clase por archivo, con un nombre de archivo que coincida con el de la clase.

<?php
// Calculator.php

class Calculator {
    // ...

    function add($x, $y)
    {
        return $x + $y;
    }
}

Normalmente, las funciones se agrupan en archivos que describen su tema común.

<?php
// window_handling.php

function window_paint()
{
    // ...
}

function window_size($width, $height)
{
    // ...
}

function window_move($x, $y)
{
    // ...
}

Y a menudo hay archivos que contienen instrucciones para su ejecución directa, como un index.php que se suele usar como punto de entrada de una aplicación web.

<?php
// index.php

$sum = add(1, 2);
// ...

Convenciones de nomenclatura

Los nombres de las clases deben estar todos en PascalCase. Según el estándar de estilo, los nombres de variables, funciones y métodos pueden estar en camelCase o en snake_case. Los nombres pueden contener letras a-zA-Z, números 0-9 y guiones bajos _, pero no pueden empezar por un número.

Comentarios

Los comentarios de una sola línea empiezan por //, y un bloque de texto se puede envolver con /* y */ para convertirlo en un comentario de varias líneas.

// Single-line comment

/*
  Multi-line comment
*/
Editar en GitHub El enlace se abre en una nueva ventana o pestaña

Aprende Fundamentos