2017-09-30 15 views
1

Mein PHP-Skript hatte einen seltsamen Fehler: Aufruf an undefinierte Funktion definiert().Schwerwiegender Fehler: Aufruf zu undefinierter Funktion definiert()

PHP-Codes unter:

define('ENVIRONMENT', 'development'); 
if (defined('ENVIRONMENT')) 
{ 
    switch (ENVIRONMENT) 
    { 
     case 'development': 
      error_reporting(E_ERROR); 
     break; 
     case 'testing': 
      error_reporting(E_ALL); 
      break; 
     case 'production': 
      error_reporting(0); 
      break; 
     default: 
      exit('The application environment is not correct.'); 
    } 
} 

Hat jemand diesen Fehler gesehen. Danke für die Hilfe.

Antwort

0

Ihr Script sieht in Ordnung, außer Sie nicht nur das tun, tun: if (defined('ENVIRONMENT')) .... eher nur switch(...) oder if...elseif verwenden .... das Snippet unten ahmt Ihr-Code verwendet aber defined() anders (nur während der Erklärung des Constant, so wie:.

<?php 
     // IMPLIES: 

     // IF THE CONSTANT 'ENVIRONMENT' IS NOT YET DEFINED ELSEWHERE, 
     // DEFINE IT NOW AND GIVE IT A VALUE OF 'development' 
     defined("ENVIRONMENT") or define("ENVIRONMENT", 'development'); 

     // NOW YOU CAN ENGAGE YOUR SWITCH CONSTRUCT LIKE SO:   
     switch(ENVIRONMENT){ //<== NOTICE: WE AIN'T USING ANY `IF` 
           //<== THIS COULD BE REPLACED WITH IF, IF YOU PREFER: 
      case 'development': 
       error_reporting(E_ERROR); 
       break; 
      case 'testing': 
       error_reporting(E_ALL); 
       break; 
      case 'production': 
       error_reporting(0); 
       break; 
      default: 
       exit('The application environment is not correct.'); 
     } 
1

das ungerade ist defined ist eine integrierte Funktion bei Zend/zend_builtin_functions.c Werfen Sie einen Blick und finden Sie heraus, wenn diese Funktion „occationally“, kommentierte ist

..
Verwandte Themen