2009-09-09 8 views
0

L'erreur que j'essaie de supprimer est la suivante: une lettre "t" est sortie avant le reste du code HTML dans l'une de mes applications Zend Framework. Le "t" est là seulement en une seule action donc je suis certain que le problème est quelque part là.Lettre étrangère "t" dans la sortie de mon application Zend Framework - comment la trouver au mieux?

Pour illustration le balisage HTML de l'action du contrôleur buggy commence comme ceci:

t<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 

Il me rend fou parce que je ne peux pas trouver où cette lettre est en cours d'impression. Voici toute l'action:

public function transactionsHistoryAction() 
{ 
    $request = $this->getRequest(); 
    $transactions = $this->_getTable('Transactions'); 

    $finishedTransactions = $transactions->getSelect(); 
    $pendingWithdrawals = $transactions->getPendingWithDrawalsSelect(); 

    $paginator = Zend_Paginator::factory($finishedTransactions); 
    $paginator->setCurrentPageNumber($request->getParam('p')); 
    $paginator->setItemCountPerPage(20); 

    $paginator2 = Zend_Paginator::factory($pendingWithdrawals); 
    $paginator2->setCurrentPageNumber($request->getParam('p2')); 
    $paginator2->setItemCountPerPage(20); 

    $this->view->headTitle('Transactions - Administration panel - Website Name'); 
    $this->view->finishedTransactions = $paginator; 
    $this->view->pendingWithdrawals = $paginator2; 
} 

Et est ici le seul modèle que je l'utilise dans cette action:

<?php 
/** 
* transactions table 
* 
* @author Richard Knop 
*/ 
class Transactions extends Zend_Db_Table_Abstract 
{ 
    protected $_name = 'transactions'; 

    protected $_referenceMap = array(
     'User' => array(
      'columns' => array('user_id'), 
      'refTableClass' => 'Users', 
      'refColumns' => array('id') 
     ) 
    ); 

    private function _getDb() 
    { 
     return Zend_Registry::get('dbAdapter'); 
    } 

    public function getSelect() 
    { 
     $select = $this->select(); 
     $where = 'finished = 1'; 
     $select->where($where); 
     $select->order('id DESC'); 
     return $select; 
    } 

    public function getPendingWithdrawalsSelect() 
    { 
     $select = $this->select(); 
     $where = "type = 'withdrawal' AND finished = 0"; 
     $select->where($where); 
     $select->order('id DESC'); 
     return $select; 
    } 
} 

S'il vous plaît aidez-moi: o

EDIT:

La mise en page est correct (le "t" est là seulement dans cette action spécifique, toutes les autres actions du même contrôleur produisent le HTML correct sans le "t").

+1

On dirait que vous avez saisi par mégarde un « t » quelque part dans l'un de vos fichiers PHP (en dehors de ). Serait vraiment presque impossible pour nous de trouver sans voir tous les fichiers. – typeoneerror

Répondre

3

Comme TypeONeError a dit qu'il est une faute de frappe dans l'un de vos fichiers php. Un moyen rapide de trouver ceci est de faire une recherche de fichier récursive (trouver dans les fichiers de votre éditeur). Rechercher des

"t<?" or "?>t" 
+0

Merci, je l'ai trouvé avec la fonction de recherche NetBeans :) –

+0

et par impossible, je veux dire "très facile" ... lol nice one Byron. – typeoneerror

+0

Juste une petite note pour aider à réduire ce problème. Dans les fichiers php qui se terminent par '?>' (C'est-à-dire les fichiers PHP uniquement), vous pouvez laisser la fin '?>'. – MitMaro

2

Des sons comme vous avez tapé accidentellement un "t" quelque part dans un de vos fichiers PHP (en dehors de). Serait vraiment presque impossible pour nous de trouver sans voir tous les fichiers. Vous allez chercher quelque chose comme:

t<?php 

class MyModel 
{ 
} 
Questions connexes