Je travaille avec Zend Cadre et déteste simplement le fait que je semble rencontrer des centaines d'erreurs d'exception comme si j'essaie de faire référence à une propriété non existante d'un objet, ma candidature, matrole et bloque. Cependant, je ne sais pas où voir ces erreurs ou comment pouvoir les afficher à l'écran. J'ai défini des erreurs d'affichage sur true et les rapports d'erreur sur e_all, mais lorsqu'une erreur est lancée, tout ce que je vois est une page vierge rendue jusqu'à un peu avant d'où l'erreur apparemment survenue ou l'exception a été lancée. P>
3 Réponses :
Référencement d'une propriété non existante est une erreur em> dans PHP, pas une exception. Les erreurs sont généralement dans la sortie du HTML si vous activez display_errors dans votre php.ini. Mais méfiez-vous: ils peuvent aussi se produire dans une étiquette HTML invisible comme: ... Vous devez donc vérifier la sortie HTML de votre page ( ctrl-u kbd > dans Firefox) et faites défiler jusqu'au fond p> p>
Une exception est lancée lorsque j'essaie d'accéder à une propriété non existante d'un objet, il semble. Existe-t-il un moyen de contourner cela en considérant que l'objet en question peut ou non avoir la propriété que j'ai l'intention de vérifier.
Quelle est la valeur de la variable d'environnement Application_env.
Le public standard / index.php dans une application ZF effectue les éléments suivants: p> Cela signifie que si non Application_env est défini, l'environnement est défini comme "production". Si vous regardez votre fichier Application.ini, vous verrez que le cadre supprime les erreurs si l'environnement est la production. P> Bien sûr, vous développez, vous souhaitez donc utiliser l'environnement "Développement". p> Si vous exécutez sous Apache / MOD_PHP, vous pouvez définir ceci dans votre fichier httpd.conf ou un fichier .htaccess: p> ou vous pourrait toujours devenir laid et le pirater à votre public / index.php: p>
+1 pour la réponse simple et l'explication sur ce qu'elle fait. Et il fonctionne :)
Merci d'avoir mentionné, il peut être défini dans httpd.conf!
Si vous créez un squelette d'application avec Zend Tool, vous aurez généralement un contrôleur d'erreur qui attrapera des erreurs d'exécution et les affichera. Vous voudrez suivre les conseils de TimDev sur SETENV Application_ENV Développement CODE>, puis dans votre application / Configs / Application.ini:
[development : production]
; This section defines config parameters loaded when the APPLICATION_ENV directive
; is set to 'development' - undefined parameters are inherited from the production
; section.
; show errors and exceptions during development
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1