W Zend Framework obiekt Zend_Application ma obiekt bootstrap do załadowania lub skonfigurowania klasy components.Bootstrap z kolei ma dostęp do obiektu zend_application w celu uzyskania dostępu do parametrów konfiguracyjnych.
Moje pytanie brzmi, jaki to rodzaj wzorca lub czy jest to zapach kodu z powodu zależności cyklicznej.Obiekty o wzajemnej wiedzy
7
A
Odpowiedz
2
Zend Framework 1 jest nadęty, to na pewno.
Przyczyna tej właściwości $_application
reprezentująca dwukierunkową relację jest spowodowana niezależnymi od modułu plikami ładowania początkowego.
To dziwne, jak sądzę, ponieważ gdy mamy do czynienia z modułami, zamiast zestawu Zend_Aplication
musisz główną bootstrap Zamiast:
/**
* Set application/parent bootstrap
*
* @param Zend_Application|Zend_Application_Bootstrap_Bootstrapper $application
* @return Zend_Application_Bootstrap_BootstrapAbstract
*/
public function setApplication($application)
{
if (($application instanceof Zend_Application)
|| ($application instanceof Zend_Application_Bootstrap_Bootstrapper)
) {
if ($application === $this) {
throw new Zend_Application_Bootstrap_Exception('Cannot set application to same object; creates recursion');
}
$this->_application = $application;
} else {
throw new Zend_Application_Bootstrap_Exception('Invalid application provided to bootstrap constructor (received "' . get_class($application) . '" instance)');
}
return $this;
}
Istnieje wiele zapachy kodu TOO:
/**
* Constructor
*
* Sets application object, initializes options, and prepares list of
* initializer methods.
*
* @param Zend_Application|Zend_Application_Bootstrap_Bootstrapper $application
* @return void
* @throws Zend_Application_Bootstrap_Exception When invalid application is provided
*/
public function __construct($application)
{
$this->setApplication($application);
$options = $application->getOptions();
$this->setOptions($options);
}
plik boostrap potrzebne opcje, więc zamiast asking for the options, że spodziewa się Zend_Application aby następnie uzyskać opcje:
$options = $application->getOptions();
$this->setOptions($options);
Wydaje się, że po prostu zignorować typu interfejsu oczekiwany metodą setApplication(), i może to być jeden z następujących:
- Zend_Application
- Zend_Application_Bootstrap_Bootstrapper
- Zend_Application_Bootstrap_ResourceBootstrapper
Poddałbym się próbie zrozumienia tego bałaganu i przejścia na ZF 2;)
Powiązane problemy
- 1. Uzyskanie losowego przyjaciela przyjaciela o wzajemnej lojalności
- 2. Wyczyść postgres wiedzy o zrzuconych kolumnach
- 3. jak sprawdzić się na wiedzy o Ruby/ROR?
- 4. Porównaj Obiekty daty o różnych poziomach dokładności
- 5. Dynamicznie twórz obiekty JavaScript o zmiennej głębokości
- 6. Android: jak ustawić Gradle wartości z wyliczenia wiedzy
- 7. Interfejs API wiedzy Microsoft - Wyszukiwanie zdania w bazie danych
- 8. Jak najlepiej wypełnić luki w mojej wiedzy matematycznej?
- 9. Jak porównać dwa wyraźnie różne obiekty o podobnych właściwościach?
- 10. Konfigurowanie lub rozszerzanie obiektu log4net SmtpAppender o niestandardowe obiekty
- 11. Git PowerShell Cmdlets zwracające informacje o git jako obiekty
- 12. Zapytanie o wskaźnik w parse.com Obiekty w JavaScript
- 13. Mongoid: jak zapytać o wszystkie obiekty, których wartość jest zerowa?
- 14. Obiekty o zmiennej długości: Czy kiedykolwiek był to dobry pomysł?
- 15. Wyodrębniaj obiekty o określonych kolorach i konwertuj na ścieżki.
- 16. Obiekty Delphi, obiekty NIL i interfejsy
- 17. Core Data łączy dwa obiekty zarządzane obiekty
- 18. obiekty rozrachunkowych z localStorage
- 19. obiekty kopii scala
- 20. Obiekty COM Azure
- 21. Obiekty wiążąceProgram źródłowy programowo
- 22. Obiekty zapisu PHP inline
- 23. JSON.stringify głębokie obiekty
- 24. MongoDB Wbudowane polimorficzne obiekty
- 25. Jak serializować obiekty Ember?
- 26. Obiekty JavaScript: Dynamiczne nazwy zmiennych?
- 27. Różnica między przenośnymi klasy biblioteki i udostępnionej biblioteki klasy w Xamarin platformy wzajemnej
- 28. Zend: Dwa obiekty, jeden wiersz
- 29. Kiedy inicjalizowane są obiekty pakietu?
- 30. Czy NSArray kopiuje obiekty?
Nie byłbym w takim pośpiechu, szczególnie wiedząc jak działa ZF2 w porównaniu do ZF1 (nadęty lub nie). –
@ WebnetMobile.com Chodzi o to, że lepiej jest studiować kod źródłowy ZF2 niż ZF1. Ponieważ PO nie wspomniał o żadnych błędach, zastanawiał się tylko, czy nie ma zapachu kodu. Odpowiedź brzmi tak** –