Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]$this->getRoute()->getObject()
kamil.deb
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 13.06.2009

Ostrzeżenie: (0%)
-----


Witam

Chciałbym żeby ktoś mi wyjaśnił powyższą formułke, odnosi sie ona do modelu z tego co zrozumiałem z Jobeet'a, najczęściej używa sie ją do odwołania do elementów tablicy typu:

  1. <?php
  2. $this->job = $this->getRoute()->getObject();
  3.  
  4.    // fetch jobs already stored in the job history
  5.    $jobs = $this->getUser()->getAttribute('job_history', array());
  6.  
  7.    // add the current job at the beginning of the array
  8.    array_unshift($jobs, $this->job->getId());
  9. ?>


w takim razie dlaczego nie, odwołać sie do tego elementu przez JobeetJobPeer.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kamil_biela
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 7
Dołączył: 14.06.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wtedy masz dodatkowe zapytanie do bazy danych, całkowicie niepotrzebne? Rozwiń swoją myśl trochę bardziej winksmiley.jpg.


--------------------
zagr.am - najlepsze flash do zagrania. Codziennie.
Go to the top of the page
+Quote Post
kamil.deb
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 1
Dołączył: 13.06.2009

Ostrzeżenie: (0%)
-----


No bo do $this->getRoute()->getObject(), trzeba pisać routing, z opcjami, i wydaje mi sie ze na pierwszy rzut oka cięzko się w tym połapac, a gdyby odwołać się do tego modelu, przez

  1. <?php
  2. $c = new criteria;
  3. $c->add(modelPeer::ID, $request->getParameter('id'));
  4. $this->job = modelPeer::doSelectOne($c);
  5. ?>


Wydaje mi sie że taka wersja jest bardziej zwięzła, może troche więcej pisania, ale wszystko widze i szybko można sie połapać.

Ten post edytował kamil.deb 14.06.2009, 11:21:37
Go to the top of the page
+Quote Post
destroyerr
post
Post #4





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


No to zapisuj sobie tak jak Ci wygodniej. Opcja pokazana w Jobeet ma przyspieszyć pracę i skrócić kod akcji, czyli odciążyć programistę. W Twoim kodzie brakuje jeszcze sprawdzania czy dany obiekt modelu istnieje i przekierowanie na 404, jeżeli nie istnieje. Dodatkowo, łatwo możesz przez konfiguracje zmieniac sposób pobierania obiektu czy też obiektów, poprzez ustawienie metod modelu, które mają pobierać dane. Jeszcze większa elastyczność jest w pluginie DbFinder, tam routing to jeszcze większa przyjemność.

Są sytuacje kiedy jest to balastem, ale wtedy możesz korzystać z "starego" rozwiązania.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:02