# DSW (UT2 - Práctico) ## Funciones PHP tiene una variedad de funciones predefinidas (built-in functions) que podemos utilizar. ## Variables ### Variables Globales Son aquellas variables que llevan la palabra reservada **global**, nos permiten acceder a ellas en cualquier parte de nuestro código PHP, aunque esten declaradas dentro de una función. ```php= <?php function concatFunction($times,$fillcharacter){ global $text; for ($i=1;$i<=$times;$i++){ $text.=$fillcharacter; } } $text = "Hello"; concatFunction(12,"d"); echo $text,"<br>"; // Hellodddddddddddd concatFunction(9,"+-"); // Hellodddddddddddd+-+-+-+-+-+-+-+-+- echo $text,"<br>"; ``` ### Variables Estáticas Se trata de variables locales a la función (solo se podrán usar dentro de la función) pero que son capaces de recodar su valor entre cada llamada a la función. Para ello utilizamos la palabra reservada **static**. ```php= <?php function staticFunction(){ static $count = 0; $count ++; echo "<p>El contador vale $count</p>" } for ($i = 0; $i < 3; $i++){ staticFunction(); // "<p>El contador vale (1,2,3)</p>" } ``` ## Inclusión de Librerias o otro código PHP Son archivos php que se incluyen en otros archivos php. - Básicamente es código que se utiliza en otras páginas. - Cuando se quiere realizar modificaciones, se realizan en ese único archivo. - Se utiliza para ello: **include**, **require**, **include_once**, **require_once**. La **principal diferencia** entre **include y require**, es que include si te da un fallo de importación no detiene el programa, solo te enseña un warning, mientras require detiene por completo la ejecución. La diferencia al usar include_once o require_once, de sus otras variantes, reside en que la inclusión de dichos ficheros sólo se produce una vez por fichero php, en caso contrario nos dará un fallo. ## Arrays [Funciones Arrays](https://hackmd.io/@bd1-NGPOSje0xW9PiI2fSQ/BJxJCF5Vj) ## PHP con HTML [PHP con HTML](https://hackmd.io/@bd1-NGPOSje0xW9PiI2fSQ/HJ3KyKR4j) ## Cadenas [Strings en PHP](https://hackmd.io/@bd1-NGPOSje0xW9PiI2fSQ/ryZ8ZKkLj) ## Fechas [Fechas](https://hackmd.io/@bd1-NGPOSje0xW9PiI2fSQ/H1jzSylIi) ## Variables SuperGlobales [Variables SuperGlobales](https://hackmd.io/@6NpjxgwhTmGajkoVrRGALg/rJUETylUj/edit) ## Subir Ficheros [Subir Ficheros](https://hackmd.io/@6NpjxgwhTmGajkoVrRGALg/Hy1a0ylUo/edit)