2010-02-16 13 views
6

Duplicar posible:
Strict mode in PHP?¿Hay algo en PHP similar a la opción explícita en VB

que estoy haciendo un gran proyecto en PHP. En PHP no necesita declarar variables. Esto me está causando muchos problemas.

En Visual Basic 6, la declaración Option Explicit hace obligatorio declarar variables. ¿Hay algo similar disponible en PHP?

+0

¿Qué hay de las funciones indefinidas dentro si no se ejecuta en tiempo de ejecución? – Yosef

Respuesta

6

Si activa el mensaje de error E_NOTICE, PHP le dirá sobre variables sin inicializar:

ini_set("error_reporting", E_ALL); 

no inicializado es un poco diferente que no declarada, pero hay que darle un efecto similar.

+3

+1 También vale la pena señalar que 'E_ALL' no * incluye *' E_STRICT'. Entonces yo haría 'ini_set (" error_reporting ", E_ALL y E_STRICT);'. También vale la pena señalar; Puede establecer 'error_reporting' en' php.ini' o en su definición de host virtual Apache usando 'php_value'. – Asaph

4
error_reporting(E_ALL); 

lanza un aviso cuando intenta utilizar una variable no definida

una punta más general: (máx. 20 líneas) en lugar de utilizar las funciones código global, y los hacen pequeños. Como las variables son locales para las funciones, hay menos posibilidades de olvidar o escribir mal un nombre de variable.

1

Aumentando el error reporting level solo afecta el comportamiento de php cuando una variable/elemento indefinido se usa como rvalue, como echo $doesnotexist;.
Pero option explicit on también prohíbe el uso de variables no declaradas como lvalue

Option Explicit On 
Dim x As Integer 
x = 10 
y = 11 ' error, variable is not declared 

No hay ninguna opción de parámetros de configuración o similar en php.

+0

Habría sido una palabra clave declarada en php5, esp. para clases/miembros, pero no fue así. – VolkerK

Cuestiones relacionadas