Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-02-2009 12:37:47

adinsx
Nouveau membre
Date d'inscription: 23-02-2009
Messages: 2

Caractère de retour à la ligne inséré automatiquement

Bonjour à tous,

je rencontre un petit problème que je n'avais pas eu l'occasion de rencontrer sur les précédent projets auxquels j'ai participé avant mais qui est vraiment agaçant lorsqu'on utilise le Zend Framework pour générer du Xml ou retourner des objets encodé en JSon  en vue de les exploiter grâce à des requêtes AJAX. Voila ce qui ce passe, prenons un exemple :

_ Je fais appel à mon action : "http://www.monsite.com/mon_module/mon_controller/getobject grâce à une requête AJAX.

_ Voila ce que contient ma méthode getobjectAction :

Code:

public function getobjectAction()
{
       $this->_helper->layout->disableLayout();

       $myObject = array(1 => 'hello', 2 => 'world', 3 => '!');
       $this->view->myObject = $myObject;
}

_ Voila ce que contient ma vue getobject.phtml :

Code:

ligne 1: <?= json_encode($this->myObject) ?>

_ C'est la que les soucis arrivent, au lieu retourner au navigateur:

Code:

[b]ligne 1: {"1":"hello","2":"world","3":"!"}

le Zend framework retourne :

Code:

ligne 1:
ligne 2: {"1":"hello","2":"world","3":"!"}

ou encore :

Code:

ligne 1: 
ligne 2: {"1":"hello","2":"world","3":"!"}
ligne 3:

Un caractère de retour à la ligne viens s'insérer tout seul, et ce sur toutes les pages générées par le Zend Framework.

J'ai comparé avec d'autre projets, sur d'autres pc, sur d'autres serveurs, d'autres vues, avec des actions sans vue ( utilisation d'echo ), c'est assez aléatoire mais on va dire que 50% des projets présentent ce caractère de retour à la ligne en début de page, voir aussi en fin de page...

Est ce que quelqu'un a déjà été confronté à ce problème et comment l'a-t-il réglé ? ( encodage, options sur le dispatcher, layout ?)

Merci d'avance pour vos réponses, explications et idées.

Cordialement,
@dinsx

Hors ligne

 

#2 23-02-2009 13:00:38

adinsx
Nouveau membre
Date d'inscription: 23-02-2009
Messages: 2

Re: Caractère de retour à la ligne inséré automatiquement

Après conseil d'un ami, le problème se situe dans Zend Studio 6.1.1 au niveau des templates de base associés à la création assisté de Zend Controller :

http://cdrw.chez.com/retours.png

Il suffit donc de modifier ce template ou de penser à retirer ces caractères à la fin de votre nouveau Controller. J'espère que cela pourra vous aider si vous êtes confrontés à ce problème.

Cordialement,
@dinsx

Hors ligne

 

#3 23-02-2009 13:08:43

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Caractère de retour à la ligne inséré automatiquement

Il est encore beaucoup plus simple d'enlever le ?>
car ainsi même s'il y a altération du fichier il ne peut y avoir insertion de caractères parasites.

A+JYT

Hors ligne

 

#4 23-02-2009 18:18:37

gauthier
Membre
Date d'inscription: 30-09-2008
Messages: 116
Site web

Re: Caractère de retour à la ligne inséré automatiquement

sekaijin a écrit:

Il est encore beaucoup plus simple d'enlever le ?>
car ainsi même s'il y a altération du fichier il ne peut y avoir insertion de caractères parasites.

j'ajouterai que c'est même encouragé, et considéré comme une bonne pratique ZF que de ne pas utiliser de balise de fermeture (?>) dès lors qu'un script ne contient que du php (pas de html). Ceci permettant d'éviter ce genre de souci, et par extension, les soucis liés à l'envoi prématuré des headers http (à cause des lignes vides), ce qui pose régulièrement des problèmes avec les sessions.

Dernière modification par gauthier (24-02-2009 10:35:02)


Consultant Zend Technologies // Blog perso : Logiciel libre et développement web -- http://freeblogware.org

Hors ligne

 

#5 24-02-2009 10:34:02

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: Caractère de retour à la ligne inséré automatiquement

je dirais même qu'un <?php en fin de fichier phtml ne fait pas de mal
A+JYT

Hors ligne

 

#6 24-02-2009 10:36:32

gauthier
Membre
Date d'inscription: 30-09-2008
Messages: 116
Site web

Re: Caractère de retour à la ligne inséré automatiquement

sekaijin a écrit:

je dirais même qu'un <?php en fin de fichier phtml ne fait pas de mal

là je ne vois pas bien l'intérêt en revanche... juste pour éviter d'autres lignes vides ? Si c'est bien à ça que tu penses, ça me semble moins essentiel, puisque HTML ne les interprète pas, et que les scripts phtml sont pour l'essentiel censés produire du html...

mais pourquoi pas smile


Consultant Zend Technologies // Blog perso : Logiciel libre et développement web -- http://freeblogware.org

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages