You are on page 1of 29

Lenguajes y autómatas

REPORTE DE INVESTIGACÓN
SOBRE EL LENGUAJE PHP

Nombre: Jonathan Edsel Vazquez Estrada

15011122

6” A”

Profesor: Aline Perez Martinez

22/01/2018
Contenido
Introducción............................................................................................................................... 3
Marco teórico............................................................................................................................. 4
¿Qué es PHP? ........................................................................................................................... 5
Uso ............................................................................................................................................... 5
Tipo de paradigma de programación que utiliza PHP .................................................... 6
Alfabeto de PHP ........................................................................................................................ 7
Lista de componentes léxicos del analizador ................................................................ 15
Analizador Semántico (Gramática) .................................................................................... 22
Herramientas de PHP ............................................................................................................ 28
conclusión................................................................................................................................ 29
Bibliografía .................................................................................................................................. 29

2
Investigación de PHP
Introducción

En este reporte mostraré que es PHP, sus paradigmas, su alfabeto con el que
podemos hacer cadenas más complejas para realizar una acción determinada o
solucionar un problema concreto, veremos la forma correcta de declarar
variables, usar paqueterías, su gramática en general (BNF) para programar de
forma correcta y verificaremos las herramientas con las que cuenta para poder
desarrollar los programas.

PHP es un lenguaje de programación muy poderoso que es interpretado por el


navegador, cuya sintaxis es similar a la de otros lenguajes de programación
como lo es C++. Este lenguaje se puede usar para realizar cualquier programa,
es más utilizado para el desarrollo de páginas web dinámicas, es aquí donde se
ha hecho más popular, pero tiene más potencial que solo el desarrollo web, esto
se debe a que es un lenguaje libre, que se puede descargar de forma gratuita de
su página oficial, y está disponible para muchos sistemas operativos como
/Linux, Windows, UNIX, etc.

Además de esto cuenta con una extensa documentación oficial en una gran
variedad de idiomas, cuneta con una gran cantidad de extensiones para poder
conectar con base de datos, para el manejo de sockets, y generar
dinámicamente páginas web.

3
Investigación de PHP
Marco teórico

El presente trabajo analiza el lenguaje de programación PHP que va más dirigido


a el desarrollo web, pero no solo se limita a esto, tiene muchas más
funcionalidades. En ese sentido, es preciso aclarar algunos conceptos. En
primer término, PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) que
es un lenguaje de programación muy potente ya que soporta múltiples
paradigmas los que nos ayudan a resolver algún problema planteado entre otras
cosas.

Podemos hacer esto gracias a su extenso alfabeto con el que cuenta, ya que
tenemos operadores lógicos que nos sirven para realizar diversas operaciones
con un nivel de complejidad alto en nuestros programas.

Además, cuneta con sunciones, una de sus herramientas más importantes que
le ayuda a ejecutar un conjunto de acciones o rutinas que a lo largo del programa
van hacer usadas múltiples veces.

Todo esto conlleva cierta gramática para poder utilizarlo como por ejemplo el
declarar y usar una variable para introducir o asignar cualquier valor o dato, estas
pueden variar, la ventaja de PHP es que no es necesario declarar una variable
ya que simplemente anteponiendo el carácter $ al nombre de la variable estamos
indicando que es una variable.

Esto es posible a su Analizador léxico y sintáctico, El analizador léxico es la


primera fase de un compilador. Su principal función consiste en leer los
caracteres de entrada y elaborar como salida una secuencia de componentes
léxicos que utiliza el analizador sintáctico para hacer el análisis. Y el analizador
sintáctico comprueba que las sentencias que componen el texto fuente son
correctas en el lenguaje, creando una representación interna que corresponde a
la sentencia analizada.

4
Investigación de PHP
¿Qué es PHP?
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de
código abierto muy popular especialmente adecuado para el desarrollo web y
que puede ser incrustado en HTML.

Uso
En lugar de usar muchos comandos para mostrar HTML (como en C o en Perl),
las páginas de PHP contienen HTML con código incrustado que hace "algo". El
código de PHP está encerrado entre las etiquetas especiales de comienzo y final
<?php y ?> que permiten entrar y salir del "modo PHP".

Lo que distingue a PHP de algo del lado del cliente como Javascript es que el
código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El
cliente recibirá el resultado de ejecutar el script, aunque no se sabrá el código
subyacente que era.

Lo mejor de utilizar PHP es su extrema simplicidad para el principiante, pero a


su vez ofrece muchas características avanzadas para los programadores
profesionales.

Aunque el desarrollo de PHP está centrado en la programación de scripts del


lado del servidor, se puede utilizar para muchas otras cosas.

5
Investigación de PHP
Tipo de paradigma de programación que utiliza PHP

Algunos lenguajes de programación pueden soportar múltiples paradigmas de


programación. Por ejemplo, PHP. Es realmente común el diseño de lenguajes
que soporten múltiples paradigmas de programación, el cual es el caso de PHP
que contiene los siguientes paradigmas.

PHP: Imperativo, orientado a objetos, funcional y reflexivo

Es imperativo ya que con el podemos solucionar un problema especificando


una secuencia de acciones a realizar a través de uno o más procedimientos
denominados subrutinas o funciones.

Es orientado a objetos ya que usa objetos en sus interacciones, para diseñar


aplicaciones y programas informáticos.

Es funcional porque con el podemos crear software más robusto, mantenible y


fácil de testear

Es considerado reflexivo porque Metafóricamente, se puede considerar que un


Smalltalk es un mundo virtual donde viven objetos que se comunican entre sí,
mediante el envío de mensajes.

6
Investigación de PHP
Alfabeto de PHP

PHP cuenta con una extensa cantidad de caracteres y palabras reservadas que
nos ayudan a crear nuestros programas e incluso cuentan con caracteres para
realizar tareas un poco más complejas en nuestros programas, estos se
muestran continuación.

Entrecomillado doble

Si un string está delimitado con comillas dobles ("), PHP interpretará las
siguientes secuencias de escape como caracteres especiales como lo muestra
la Tabla 1.

Tabla 1 Entrecomillado doble

Caracteres escapados
Secuencia Significado
\n avance de línea (LF o 0x0A (10) en ASCII)
\r retorno de carro (CR o 0x0D (13) en ASCII)
\t tabulador horizontal (HT o 0x09 (9) en ASCII)
\v tabulador vertical (VT o 0x0B (11) en ASCII) (desde PHP
5.2.5)
\e escape (ESC o 0x1B (27) en ASCII) (desde PHP 5.4.4)
\f avance de página (FF o 0x0C (12) en ASCII) (desde PHP
5.2.5)
\\ barra invertida
\$ signo de dólar
\" comillas dobles

7
Investigación de PHP
Al desarrollar cualquier programa empleamos normalmente operadores que nos
sirven para realizar diversas operaciones que otorgan un cierto grado de
complejidad a nuestros programas, ya que de otro modo el programa realizaría
siempre lo mismo y no sería útil.

En PHP encontramos operadores aritméticos tal y como se muestra en la


Tabla 1.1, contamos con operadores de precedencia que se encuentran en la
Tabla 1.2 y los operadores lógicos en la Tabla 1.3.
Tabla 1.1. Operadores aritméticos
Operadores aritméticos

Ejemplo Nombre Resultado

+$a Identidad Conversión de $a a int o float según el caso.

-$a Negación Opuesto de $a.

$a + $b Adición Suma de $a y $b.

$a - $b Sustracción Diferencia de $a y $b.

$a * $b Multiplicación Producto de $a y $b.

$a / $b División Cociente de $a y $b.

$a % $b Módulo Resto de $a dividido por $b.

$a ** $b Exponenciación Resultado de elevar $a a la potencia $bésima.


Introducido en PHP 5.6.

Tabla 1.2. Precedencia de operadores

Precedencia de operadores
Asociatividad Operadores Información adicional
no asociativo clone new clone and new
izquierda [ array()
derecha ** aritmética

8
Investigación de PHP
derecha ++ -- ~ (int) (float) (string) (array) tipos e incremento/decremento
(object) (bool) @
no asociativo instanceof tipos
derecha ! lógico
izquierda */% aritmética
izquierda +-. aritmética y string
izquierda << >> bit a bit
no asociativo < <= > >= comparación
no asociativo == != === !== <> <=> comparación
izquierda & bit a bit y referencias
izquierda ^ bit a bit
izquierda | bit a bit
izquierda && lógico
izquierda || lógico
derecha ?? comparación
izquierda ?: ternario
derecha = += -= *= **= /= .= %= &= |= ^= asignación
<<= >>=
izquierda and lógico
izquierda xor lógico
izquierda or

Tabla 1.3. Operadores lógicos

Operadores lógicos

Ejemplo Nombre Resultado


$a and $b And (y) TRUE si tanto $a como $b son TRUE.
$a or $b Or (o inclusivo) TRUE si cualquiera de $a o $b es TRUE.
$a xor $b Xor (o exclusivo) TRUE si $a o $b es TRUE, pero no ambos.
! $a Not (no) TRUE si $a no es TRUE.
$a && $b And (y) TRUE si tanto $a como $b son TRUE.

$a || $b Or (o inclusivo) TRUE si cualquiera de $a o $b es TRUE.

9
Investigación de PHP
En PHP contamos con operadores de comparación ya que no sólo se utilizan en
los filtros. Si no que también son una parte fundamental dentro de una estructura
compleja y elaborada, estos se muestran en la Tabla 1.4.

Tabla 1.4. Precedencia de operadores


Operadores de comparación
Ejemplo Nombre Resultado
$a == Igual TRUE si $a es igual a $b después de la manipulación de
$b tipos.
$a === Idéntico TRUE si $a es igual a $b, y son del mismo tipo.
$b
$a != $b Diferente TRUE si $a no es igual a $b después de la manipulación de
tipos.
$a <> Diferente TRUE si $a no es igual a $b después de la manipulación de
$b tipos.
$a !== No TRUE si $a no es igual a $b, o si no son del mismo tipo.
$b idéntico

$a < $b Menor TRUE si $a es estrictamente menor que $b.


que
$a > $b Mayor TRUE si $a es estrictamente mayor que $b.
que

$a <= Menor o TRUE si $a es menor o igual que $b.


$b igual que
$a >= Mayor o TRUE si $a es mayor o igual que $b.
$b igual que

$a <=> Nave Un integer menor que, igual a, o mayor que cero cuando $a
$b espacial es respectivamente menor que, igual a, o mayor que $b.
Disponible a partir de PHP 7.
$a ?? Fusión El primer operando de izquierda a derecha que exista y no
$b ?? de null sea NULL. NULL si no hay valores definidos y no son NULL.
$c Disponible a partir de PHP 7.

10
Investigación de PHP
En PHP existen los operadores de incremento y decremento que
son operadores unarios que agregan o sustraen uno de sus operandos,
respectivamente. Son normalmente implementados en lenguajes de
programación imperativos, como se muestra en la Tabla 1.5.

Tabla 1.5. Operadores de incremento/decremento

Operadores de incremento/decremento
Ejemplo Nombre Efecto
++$a Pre-incremento Incrementa $a en uno, y luego retorna $a.
$a++ Post-incremento Retorna $a, y luego incrementa $a en uno.
--$a Pre-decremento Decrementa $a en uno, luego retorna $a.
$a-- Post-decremento Retorna $a, luego decrementa $a en uno.

PHP cuneta con operadores para arrays con los que podemos igualar o comprar
como se muestra en la Tabla 1.6.
Tabla 1.6. Operadores para arrays
Operadores para arrays
Ejemplo Nombre Resultado
$a + $b Unión Unión de $a y $b.
$a == Igualdad TRUE si $a i $b tienen las mismas parejas clave/valor.
$b
$a === Identidad TRUE si $a y $b tienen las mismas parejas clave/valor en el mismo
$b orden y de los mismos tipos.
$a != $b Desigualdad TRUE si $a no es igual a $b.
$a <> Desigualdad TRUE si $a no es igual a $b.
$b
$a !== No-
$b identidad

Continuación mostramos otra parte del alfabeto de php en la Ilustración 1.

11
Investigación de PHP
12
Investigación
Ilustración de PHP
2-Alfabeto de php
Las Palabras Reservadas en PHP son utilizadas de forma especial para definir
métodos, funciones, clases, etc. en otras palabras son constructores del lenguaje,
debido a que son reservadas no deben ser utilizadas como nombres de variables o
funciones, las palabras reservadas están a continuación en la Tabla 1.7.

Tabla 1.7. Operadores para arrays


Palabra Descripción
breack Finaliza la ejecución de ciclos como: for, foreach, while, do-while o
switch en curso.
and Operador lógico.
array() Permite crear un array.
as Establece variable de referencia en un ciclo foreach.
switch Siendo similar al if permite jecutar un bloque de código basado en
una condición.
catch Útil para capturar excepciones en tiempo de ejecución de la
aplicación.
class Sirve para definir una clase.
clone Realiza una copia superficial de las propiedades de un objeto.
const Permite definir una constante, las cuales se diferencian de las
variables comunes en el símbolo $
continue Salta el resto de la iteración actual de un bucle y continúa en la
evaluación de la condición.
die() Es equivalente a exit()
do Sentencia repetitiva similar al while con la diferencia que la
sentencia es validada al final.
echo Una palabra reservada muy conocida de Php, imprime en pantalla
una o más cadenas.
else Permite ejecutar un bloque de instrucciones en caso de validar
como falsa la condición de un if.
elseif Al igual que el else permite ejecutar un bloque de código si la
sentencia inicial del if da como resultado falso, pero con la
diferencia que extiende a una nueva condición.
empty Determina si una variable se encuentra vacía.

13
Investigación de PHP
eddeclare Fija directivas de ejecución para un bloque de código.
endif;, Alternativa para estructuras de control.
endwhile;,
endfor;,
endforeach;,
o endswitch;
eval() Permite evaluar una cadena como código Php, su uso es peligroso
debido a que permite la ejecución de código Php arbitrario,
viéndose comprometida la seguridad de la aplicación.
final Impide que clases hijas sobre escriban un método.
finally Utilizado en conjunto con la instrucción try para capturar
excepciones.
for Blucle para realizar iteraciones o ciclos repetitivos.
foreach Permite de forma sencilla recorrer arrays.
function Esta parabra reservada permite declarar una función.
global Permite acceder a variables declaradas dentro de una función.
goto Es utilizado para saltar de una sección del programa a otra.
if Es utilizado para la ejecución condicional de fragmentos de código
siempre y cuando se cumpla o no una condición.
implements Permite implementar una interfaz.
include Esta palabra reservada incluye y evalúa el archivo establecido.
Include_once Similar a la sentencia include, teniendo como diferencia que si el
archivo a incluir ya ha sido ejecutado no volverá a incluirlo.
instanceof Determina si una variable es un objeto instanciado de una clase.
interface Especifica que métodos deben ser implementados por una clase.
isset() Permite determinar si una variable está definida y además no es
null.
list() Asigna variables a manera de array.
namespace Proporcionan una forma de agrupar funciones, clases, interfaces
que se encuentran relacionadas.
or Utilizado para validar cuando una de dos condiciones son
verdaderas, dando así true.
print Imprime o muestra una cadena de caracteres.
private Mediante private las propiedades o métodos solo son accesibles
desde la clase donde se definió.

14
Investigación de PHP
public Mediante public las propiedades y métodos son accesibles desde
donde sea.
protected Mediante protected las propiedades y métodos son accesibles solo
desde la misma clase o clases heredadas.
require Siendo similar a include, varía solo que en caso de fallar produce un
error que detiene el script.
require_once El archivo no es incluido si ya se ha realizado con anterioridad.
return Devuelve el control del programa al módulo que lo invoca.
static Establece la existencia de una variable en el ámbito local de una
función.
throw El momento en que una excepción es lanzada.
try Permite la captura fácilmente de excepciones, esta instrucción está
acompañada normalmente por catch o finally.
unset Destruye una variable.
var Utilizado para declarar propiedades, sin embargo esta instrucción
ya es obsoleta.
while Realiza un bucle una infinidad de veces siempre que se cumpla una
condición.
xor Operador lógico que retorna verdadero si una de dos condiciones
es verdadera pero no ambas.

Lista de componentes léxicos del analizador

Algunas partes del lenguaje PHP son representadas internamente por tipos
como T_SR. PHP produce identificadores como este a la hora de analizar
errores.

Todos los componentes léxicos (o tokens) también están definidos como


constantes de PHP. Sus valores son automáticamente generados basándose en
la infraestructura del analizador subyacente de PHP. Esto significa que el valor
concreto de un componente léxico puede cambiar entre dos versiones de PHP.
Se muestran a continuación en la Tabla 2.

15
Investigación de PHP
Tabla 2. Componente léxico

Componente léxico
Elemento Sintaxis Referencia
T_ABSTRACT abstract Abstracción de clases
(disponible desde PHP 5.0.0)
T_AND_EQUAL &= operadores de asignación
T_ARRAY array() array(), sintaxis de array
T_ARRAY_CAST (array) conversión de tipos
T_AS as foreach
T_BAD_CHARACTER todo lo que haya por debajo
de ASCII 32 excepto \t (0x09),
\n (0x0a) y \r (0x0d)
T_BOOLEAN_AND && operadores lógios
T_BOOLEAN_OR || operadores lógicos
T_BOOL_CAST (bool) o conversión de tipos
(boolean)
T_BREAK break break
T_CALLABLE callable callable
T_CASE case switch
T_CATCH catch Excepciones (disponible
desde PHP 5.0.0)
T_CHARACTER ya no se utiliza
T_CLASS class clases y objetos
T_CLASS_C __CLASS__ constantes mágicas
T_CLONE clone clases y objetos
T_CLOSE_TAG ?> o %> salir de HTML
T_COMMENT // o #, y /* */ comentarios
T_CONCAT_EQUAL .= operadores de asignación
T_CONST const constantes
T_CONSTANT_ENCAPSED "foo" o 'bar' sintaxis de string
_STRING
T_CONTINUE continue continue

16
Investigación de PHP
T_CURLY_OPEN {$ sintaxis compleja
T_DEC -- operadores de
incremento/decremento
T_DECLARE declare declare
T_DEFAULT default switch
T_DIR __DIR__ constantes mágicas
(disponible desde PHP 5.3.0)
T_DIV_EQUAL /= operadores de asignación
T_DNUMBER 0.12, etc. números de punto flotante
T_DOC_COMMENT /** */ comentarios tipo PHPDoc
T_DO do do..while
T_DOLLAR_OPEN_CURLY ${ sintaxis compleja
_BRACES
T_DOUBLE_ARROW => sintaxis de array
T_DOUBLE_CAST (real), conversión de tipos
(double) o
(float)
T_DOUBLE_COLON :: véase
T_PAAMAYIM_NEKUDOTA
YIM más abajo
T_ECHO echo echo
T_ELLIPSIS ... argumentos de función
(disponible desde PHP 5.6.0)
T_ELSE else else
T_ELSEIF elseif elseif
T_EMPTY empty empty()
T_ENCAPSED_AND_WHIT " $a" parte constante de un string
ESPACE con variables
T_ENDDECLARE enddeclare declare, sintaxis alternativa
T_ENDFOR endfor for, sintaxis alternativa
T_ENDFOREACH endforeach foreach, sintaxis alternativa
T_ENDIF endif if, sintaxis alternativa
T_ENDSWITCH endswitch switch, sintaxis alternativa
17
Investigación de PHP
T_ENDWHILE endwhile while, sintaxis alternativa
T_END_HEREDOC sintaxis de heredoc
T_EVAL eval() eval()
T_EXIT exit o die exit(), die()
T_EXTENDS extends extends, clases y objetos
T_FILE __FILE__ constantes mágicas
T_FINAL final Palabra clave Final
T_FINALLY finally Excepciones (disponible
desde PHP 5.5.0)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function o funciones
cfunction
T_FUNC_C __FUNCTION constantes mágicas
__
T_GLOBAL global ámbito de las variables
T_GOTO goto (disponible desde PHP 5.3.0)
T_HALT_COMPILER __halt_compil __halt_compiler (disponible
er() desde PHP 5.1.0)
T_IF if if
T_IMPLEMENTS implements Interfaces de objetos
T_INC ++ operadores de
incremento/decremento
T_INCLUDE include() include
T_INCLUDE_ONCE include_once( include_once
)
T_INLINE_HTML texto fuera de PHP
T_INSTANCEOF instanceof operadores de tipo
T_INSTEADOF insteadof Rasgos (Traits) (disponible
desde PHP 5.4.0)
T_INT_CAST (int) o (integer) conversión de tipos
T_INTERFACE interface Interfaces de objetos
T_ISSET isset() isset()
18
Investigación de PHP
T_IS_EQUAL == operadores de comparación
T_IS_GREATER_OR_EQUA >= operadores de comparación
L
T_IS_IDENTICAL === operadores de comparación
T_IS_NOT_EQUAL != o <> operadores de comparación
T_IS_NOT_IDENTICAL !== operadores de comparación
T_IS_SMALLER_OR_EQUA <= operadores de comparación
L
T_SPACESHIP <=> operadores de comparación
(disponible desde PHP 7.0.0)
T_LINE __LINE__ constantes mágicas
T_LIST list() list()
T_LNUMBER 123, 012, números enteros
0x1ac, etc.
T_LOGICAL_AND and operadores lógicos
T_LOGICAL_OR or operadores lógicos
T_LOGICAL_XOR xor operadores lógicos
T_METHOD_C __METHOD_ constantes mágicas
_
T_MINUS_EQUAL -= operadores de asignación
T_MOD_EQUAL %= operadores de asignación
T_MUL_EQUAL *= operadores de asignación
T_NAMESPACE namespace espacios de nombres
(disponible desde PHP 5.3.0)
T_NS_C __NAMESPA espacios de nombres
CE__ (disponible desde PHP 5.3.0)
T_NS_SEPARATOR \ espacios de nombres
(disponible desde PHP 5.3.0)
T_NEW new clases y objectos
T_NUM_STRING "$a[0]" array de índice numérico
dentro de un string
T_OBJECT_CAST (object) conversión de tipos
T_OBJECT_OPERATOR -> clases y objetos
19
Investigación de PHP
T_OPEN_TAG <?php, <? o salir de HTML
<%
T_OPEN_TAG_WITH_ECH <?= o <%= salir de HTML
O
T_OR_EQUAL |= operadores de asignación
T_PAAMAYIM_NEKUDOTA :: ::. También se define como
YIM T_DOUBLE_COLON.
T_PLUS_EQUAL += operadores de asignación
T_POW ** operadores aritméticos
(disponible desde PHP 5.6.0)
T_POW_EQUAL **= operadores de asignación
(disponible desde PHP 5.6.0)
T_PRINT print() print
T_PRIVATE private clases y objetos
T_PUBLIC public clases y objetos
T_PROTECTED protected clases y objetos
T_REQUIRE require() require
T_REQUIRE_ONCE require_once( require_once
)
T_RETURN return valores de retorno
T_SL << operadores a nivel de bits
T_SL_EQUAL <<= operadores de asignación
T_SR >> operadores a nivel de bits
T_SR_EQUAL >>= operadores de asignación
T_START_HEREDOC <<< sintaxis de heredoc
T_STATIC static ámbito de las variables
T_STRING parent, self, se comparan identificadores,
etc. p.ej. palabras clave como
parent y self, nombres de
funciones, nombres de clases
y más. Véase también
T_CONSTANT_ENCAPSED
_STRING.

20
Investigación de PHP
T_STRING_CAST (string) conversión de tipos
T_STRING_VARNAME "${a sintaxis compleja
T_SWITCH switch switch
T_THROW throw Excepciones
T_TRAIT trait Rasgos (Traits) (disponible
desde PHP 5.4.0)
T_TRAIT_C __TRAIT__ __TRAIT__ (disponible desde
PHP 5.4.0)
T_TRY try Excepciones
T_UNSET unset() unset()
T_UNSET_CAST (unset) conversión de tipos
T_USE use espacios de nombres
(disponible desde PHP 5.3.0;
reservada desde PHP 4.0.0)
T_VAR var clases y objetos
T_VARIABLE $foo variables
T_WHILE while while, do..while
T_WHITESPACE \t \r\n
T_XOR_EQUAL ^= operadores de asignación
T_YIELD yield generadores (disponible
desde PHP 5.5.0)

21
Investigación de PHP
Analizador Semántico (Gramática)

Como declarar variables: En PHP las variables se representan con un signo de dólar
seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas
y mayúsculas.

ejemplo

<?php
$var = 'Roberto';
$Var = 'Juan';
echo "$var, $Var"; // imprime "Roberto, Juan"

$4site = 'aun no'; // inválido; comienza con un número


$_4site = 'aun no'; // válido; comienza con un carácter de subrayado
$täyte = 'mansikka'; // válido; 'ä' es ASCII (Extendido) 228
?>

Una variable no definida Y no referenciada (sin contexto de uso); imprime NULL


var_dump($variable_indefinida);

Uso booleano; imprime 'false' (Vea operadores ternarios para más información sobre e
sta sintaxis)
echo($booleano_indefinido ? "true\n" : "false\n");

Uso de una cadena; imprime 'string(3) "abc"'


$cadena_indefinida .= 'abc';
var_dump($cadena_indefinida);

Uso de un entero; imprime 'int(25)'


$int_indefinido += 25; // 0 + 25 => 25
var_dump($int_indefinido);

Uso de flotante/doble; imprime 'float(1.25)'


$flotante_indefinido += 1.25;
var_dump($flotante_indefinido);

22
Investigación de PHP
Uso de array; imprime array(1) { [3]=> string(3) "def" }
$array_indefinida[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($array_indefinida);

Etiquetas de PHP

Cuando PHP analiza un fichero, busca las etiquetas de apertura y cierre, que
son <?php y ?>, y que indican a PHP dónde empezar y finalizar la interpretación
del código.

<?php /*php followed by tab*/ echo "a"?>

Separación de instrucciones

Como en C o en Perl, PHP requiere que las instrucciones terminen en punto y


coma al final de cada sentencia. La etiqueta de cierre de un bloque de código de
PHP automáticamente implica un punto y coma;

<?php
echo 'Esto es una prueba';
?>

Comentarios

PHP admite comentarios al estilo de 'C', 'C++' y de consola de Unix (estilo de


Perl). Por ejemplo:

<?php
echo 'Esto es una prueba'; // Esto es un comentario al estilo de c++ de una sola línea
/* Esto es un comentario multilínea
y otra lína de comentarios */
?>

Inicialización de objetos

Para crear un nuevo object, utilice la sentencia new para instanciar una clase:

<?php
class foo
{
$bar = new foo;
$bar->hacer_algo();}?>

23
Investigación de PHP
Recursos

Un valor tipo resource es una variable especial, que contiene una referencia a
un recurso externo. Los recursos son creados y usados por funciones especiales.

if

El constructor if es una de las características más importantes de muchos


lenguajes, incluido PHP. Permite la ejecución condicional de fragmentos de
código. PHP dispone de una estructura if que es similar a la de C:

if (expr)
sentencia

else

Con frecuencia se desea ejecutar una sentencia si una determinada condición


se cumple y una sentencia diferente si la condición no se cumple. Esto es para
lo que sirve else. El else extiende una sentencia if para ejecutar una sentencia
en caso que la expresión en la sentencia if se evalúe como FALSE.

<?php
if ($a > $b) {
echo "a es mayor que b";
} else {
echo "a NO es mayor que b";
}
?>

while

Los bucles while son el tipo más sencillo de bucle en PHP. Se comportan igual
que su contrapartida en C. La forma básica de una sentencia while es:

while (expr)
sentencia

do-while

Los bucles do-while son muy similares a los bucles while, excepto que la
expresión verdadera es verificada al final de cada iteración en lugar que al
principio. La diferencia principal con los bucles while es que está garantizado que
corra la primera iteración de un bucle do-while

24
Investigación de PHP
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>

for

Los bucles for son los más complejos en PHP. Se comportan como sus
homólogos en C. La sintaxis de un bucle for es:

for (expr1; expr2; expr3)


sentencia

foreach

El constructor foreach proporciona un modo sencillo de iterar sobre arrays.


foreach funciona sólo sobre arrays y objetos, y emitirá un error al intentar usarlo
con una variable de un tipo diferente de datos o una variable no inicializada.
Existen dos sintaxis:

foreach (expresión_array as $valor)


sentencias
foreach (expresión_array as $clave => $valor)
sentencias

break

break finaliza la ejecución de la estructura for, foreach, while, do-while o switch


en curso.

switch

La sentencia switch es similar a una serie de sentencias IF en la misma


expresión. En muchas ocasiones, es posible que se quiera comparar la misma
variable (o expresión) con muchos valores diferentes, y ejecutar una parte de
código distinta dependiendo de a que valor es igual.

switch ($i) {
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
}

25
Investigación de PHP
Usar paquetería

include_once

La sentencia include_once incluye y evalúa el fichero especificado durante la


ejecución del script. Tiene un comportamiento similar al de la sentencia include,
siendo la única diferencia de que si el código del fichero ya ha sido incluido, no
se volverá a incluir, e include_once devolverá TRUE.

<?php
include_once "a.php"; // esto incluirá a.php
include_once "A.php"; // esto incluirá a.php ¡otra vez! (sólo PHP 4)
?>

Devolver valores

Los valores son devueltos usando la sentencia opcional return. Se puede


devolver cualquier tipo, incluidos arrays y objetos. Esto causa que la función
finalice su ejecución inmediatamente y pase el control de nuevo a la línea desde
la que fue llamada.

<?php
function cuadrado($núm)
{
return $núm * $núm;
}

Constructores y destructores

Constructor

void __construct ([ mixed $args = "" [, $... ]] )

PHP 5 permite a los desarrolladores declarar métodos constructores para las


clases. Aquellas que tengan un método constructor lo invocarán en cada nuevo
objeto creado, lo que lo hace idóneo para cualquier inicialización que el objeto
pueda necesitar antes de ser usado.

26
Investigación de PHP
Destructor

void __destruct ( void )

El método destructor será llamado tan pronto como no haya otras referencias a
un objeto determinado, o en cualquier otra circunstancia de finalización.

Abstracción de clases

Las clases definidas como abstractas no se pueden instanciar y cualquier clase


que contiene al menos un método abstracto debe ser definida como tal.

<?php
abstract class ClaseAbstracta
{

Concatenar variables

Esto consiste en que el valor de una variable se convierta en otra variable. Para
ello utilizamos dos signos dólar seguidos.

Crear una constante

Para crear una constante utilizamos la función predeterminada define():


define("constante1","una constante") Dentro del paréntesis pondremos primero
el nombre de la constante ("constante1"), y después separado por una coma su
valor ("una constante").

Definir un array indexado

Para definir un array utilizamos la instrucción aray(). Para lo arrays indexados,


dentro del paréntesis se escriben los elementos del array separados por comas.

Definir un array por sus elementos Podemos definir un array definiendo


directamente sus elementos: $turnos[0]="mañana"; $turnos[1]="tarde";
$turnos[2]="noche";

Incluir archivos Con PHP

podemos hacer parte del código de la página en un archivo externo y después


incluirlo en la página. Esto se hace con un include(),

27
Investigación de PHP
Herramientas de PHP

Cuenta con la herramienta de interprete que sería el navegador aún que no es


la única forma de ejecutarlo, PHP es un lenguaje, formado por un conjunto de
librerías orientadas al desarrollo de aplicaciones web.
En este entorno, es un lenguaje interpretado. El servidor web, cuando detecta
una extensión asociada a php (.php, .php3, .phtml,...), envía esta página al
intérprete y éste se la devuelve traducida a html.
Se puede ejecutar php sin necesidad de servidor desde la línea de comandos.
También existen compiladores, como el desarrollado por Zend, para ejecutar los
scripts php a modo de aplicaciones "stand alone", sin necesidad de intérprete.

Es formateador

Ya que al invocar a los métodos proporcionados por la clase NumberFormatter,


se pueden formatear números, valores monetarios y porcentajes de acuerdo a la
configuración regional especificada o predeterminada. NumberFormatter es
sensible a la configuración regional, por lo que se necesita crear un nuevo objeto

Es un Editor, ya que en el podemos corregir, crear almacenar, etc. Algún tipo de


archivo, existen varias herramientas con las que podemos editar y crear código
php

PHP de forma nativa no tiene un Depurador, pero existen plugins que se pueden
instalar para poder debugearlo o podemos hacer esta acción desde el
navegador, pero esto no lo tiene de forma nativa php.

28
Investigación de PHP
Conclusión

con este reporte de PHP como lenguaje en sí, nos podemos dar cuenta del
potencial que tiene y de sus grandes características con las que cuenta que
gracias a ellas lo han hecho uno de los lenguajes de programación más
populares, ya que contamos con una gran variedad de herramientas que nos
ayudan a facilitar un poco el trabajo como por ejemplo que existen componentes
que se pueden instalar al PHP para tener un depurador, y en navegador nos
funciona de interprete ya que lee el código en .php y nos abre la página o
aplicación creada, nos la traduce y podemos editar, dar formato a el código
escrito y nos ayuda a optimizarlo, cuenta con una gran cantidad de
caracteres(abecedario) con el que podemos hacer desde la instrucción más
sencilla hasta la más compleja que nos podamos imaginar, y su gramática es
muy similar a las de otros lenguajes de programación, eso lo hace fácil de usar
si ya tenemos conocimientos previos de programación, y ya que contiene
múltiples paradigmas que nos ayuda a desarrollar y solucionar tareas o
problemas complejos planteados.

Bibliografía
Group, T. P. (2016). PHP. Obtenido de PHP: http://php.net/manual/es/getting-started.php

Web, A. (2013). manual de PHP de Aprende Web. Obtenido de manual de PHP de Aprende
Web: http://aprende-web.net/php

web, a. (s.f.). aprende-web.net. Obtenido de aprende-web.net: http://aprende-


web.net/comple/programas/programas1.php

29
Investigación de PHP

You might also like