Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] GetParameter('id') w modelu
Forum PHP.pl > Forum > PHP > Frameworki
jarre1987
Witam,

Mecze sie juz dluzszy czas i nie wiem w jaki sposob to zrobic. Mianowicie chce, aby z requesta pobierac getParameter('id') w modelu np. TabelaPeer.php tak abym zamiast powtarzac funkcje, miec tylko jedna ktora by podstawiala id Np:

CODE
$criteria = new Criteria ();
$criteria->add(self::ID, $this->getParameter('id');
return self::doSelect($criteria);


pokazuje mi wtedy blad w stylu ze $this jest uzyta w zlym kontekscie.

Co mam zrobic aby nie umieszczac kodu w akcji bo wtedy wiem ze chodzi. Chce to zrobic tak aby do modelu przekac parametr ID. W dokach sie nie moge nigdzie doczytac tego ;/

Z gory dzieki za pomoc
mike
A jak masz młotek to próbujesz z niego zrobić śrubokręt?
Nie wolno tak robić jak chcesz zrobić. To jest pisanie Spaghetti code. Po to masz model żeby był niezależny od czegokolwiek a Ty mu pakujesz do środka parametry żądania.
jarre1987
Cytat(mike @ 17.03.2009, 12:49:16 ) *
A jak masz młotek to próbujesz z niego zrobić śrubokręt?
Nie wolno tak robić jak chcesz zrobić. To jest pisanie Spaghetti code. Po to masz model żeby był niezależny od czegokolwiek a Ty mu pakujesz do środka parametry żądania.


To w takim razie jak to rozwiazac?? Jestem poczatkujacy, ucze sie dopiero....
LBO
@jarre1987, powiedz, co będzie bardziej czytelne:

  1. <?php
  2. TabelaPeer::doSelectOneById($request->getParameter('id'));
  3. ?>


czy

  1. <?php
  2. TabelaPeer::doSelectOneById(); // questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif? WTF
  3. ?>


Jako bonus:

  1. <?php
  2. // Tak jest dobrze.
  3. public static function doSelectOneById($id)
  4. {
  5.    $criteria = new Criteria;
  6.    $criteria->add(self::ID, $id);
  7.    return self::doSelectOne($criteria);
  8. }
  9. ?>
jarre1987
Już mam. Dzieki. Wiem robie jeszcze sporo bledow, ucze sie dopiero...

Jeszcze raz thx za help smile.gif
Whisller
Zobacz sobie http://en.wikipedia.org/wiki/Dependency_injection
Najlepiej do tego typu operacji wstrzykiwać jak najprostsze typy, tak jak to zaprezentował LBO
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.