Fonksiyonel bir test PHP'nin class_alias kullanırken sınıfları redeclaring Sorunları

0 Cevap php

Benim Symfony 1.4 (Doktrin) formları işleme yardımcı PHP 5.3 'ın class_alias kullanıyorum. Ben birden çok form sayfaları işlemek için tek bir eylemi kullanabilirsiniz ama kullanmak için bir form sınıf seçmek için bir switch deyimi kullanarak.

public function executeEdit(sfWebRequest $request) {
  switch($request->getParameter('page')) {
    case 'page-1':
      class_alias('MyFormPage1Form', 'FormAlias');
    break;
    ...
  }
  $this->form = new FormAlias($obj);
}

Bu web sitesinde gezinirken zekice çalışır, ama benim fonksiyonel testler başarısız, çünkü bir sayfa çok gibi, birden fazla yüklendiğinde:

$browser->info('1 - Edit Form Page 1')->

  get('/myforms/edit')->
  with('response')->begin()->
    isStatusCode(200)->
  end()->

  get('/myforms/edit')->
  with('response')->begin()->
    isStatusCode(200)->
  end();

Ben aşağıdaki hata ile, ikinci isteği için bir 500 yanıtı alıyorum:

son isteği yakalanmamış istisna RuntimeException attı:.. PHP / .. bir uyarı hatası gönderilen / apps / frontend / modules / .. / eylemler / actions.class.php hattı 225 (sınıf FormAlias ​​Redeclare)

Bu çok zor (genellikle geri kendileri göndermek) form tabanlı gönderimleri test yapar.

Presumably this is because Symfony's tester hasn't cleared the throughput in the same way. Is there a way to 'unalias' or otherwise allow this sort of redeclaration?

0 Cevap