Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]sesje
Forum PHP.pl > Forum > PHP > Frameworki
mercii
Witam
Mam wielką prośbę. Czy mógłby mi ktoś napisać jak dla przedszkolaka jak działają sesje w symfony.
W action.class mam funkcję do której chcę przekazać dwie tablice które tworze w widoku indexSuccess. Fajnie się to robi url ale muszę ograniczyć się do jednej tablicy.
Pewnie dostanę od Was odnośnik do dokumentacji ale już znalazłem co już byłby ok. Ale jak przekazać tablice między widokiem a action.class a nie tylko w akcjach?
  1. class mymoduleActions extends sfActions
  2. {
  3. public function executeFirstPage()
  4. {
  5. $nickname = $this->getRequestParameter('nickname');
  6.  
  7. // Store data in the user session
  8. $this->getUser()->setAttribute('nickname', $nickname);
  9. }
  10.  
  11. public function executeSecondPage()
  12. {
  13. // Retrieve data from the user session with a default value
  14. $nickname = $this->getUser()->getAttribute('nickname', 'Anonymous Coward');
  15. }
  16. }

Ewentualnie jak w akcji mogę uzyskać dostęp to poszczególnych rekordów z zapytania Criteria? normalnie w akcajch tworze new Criteria i w widoku pętla foreach te dane wyświetlam. A jak to zrobić w akcjach tzn utworzyć tam tablice z danych z zapytania Criteria?
Gribo
Cytat
Ale jak przekazać tablice między widokiem a action.class a nie tylko w akcjach?


Nie za bardzo rozumiem co masz na myśli. Chcesz wysłać tablice do akcji ? do tego w widoku służą formularze inaczej niczego nie wyślesz do akcji.

Cytat
Ewentualnie jak w akcji mogę uzyskać dostęp to poszczególnych rekordów z zapytania Criteria?


Tak samo jak w widokach robisz pętle foreach i masz dostęp do wszystkich poszczególnych rekordów.
mercii
To może inaczej.
Action.class
  1. public function executeBarChartData(sfWebRequest $request)
  2. {
  3. //tutaj potrzebuje tych tablic
  4. }
  5.  

showSuccess
  1. <?php foreach ($zlecenia_list as $i => $zlecenie): ?>
  2. ...
  3. <?php $cena[$i]=$zlecenie->getCena();?>
  4. <?php $data[$i]=$zlecenie->getData();?>
  5. <?php endforeach; ?>
  6. //obecnie przekazuje jedna tablice tak:
  7. stOfc::createChart(750, 325, 'klient/BarChartData?data='.$data, false); ?>

i nie wiem jak przekazać druga.
Mogę zrobić też tak że w action.class odczytam petlą dane z bazy ale w sumie mi to nie wychodzi.
Można zrobić to tak:
  1.  
  2.  
  3. public function executeBarChartData(sfWebRequest $request)
  4. {
  5. $c = new Criteria();
  6. $this->klient_list = KlientPeer::doSelectJoinFirma($c);
  7. // tutaj umiesciłbym petele i odczytal dane ale nie wiem jak:(
  8. }


destroyerr
Cytat
// tutaj umiesciłbym petele i odczytal dane ale nie wiem jak:(

No to masz problem z php a nie z symfony, skoro nie umiesz odczytać wartości obiektów z tablicy. Najpierw poznaj php a potem bierz się za framework.
Cytat
i nie wiem jak przekazać druga.

Dokładnie tak samo jak w każdym uri, podpowiedź: &.
Druga podpowiedź: przecież wcale nie musisz wysyłać dwóch tablic, wystarczy jedna z datą i ceną, a w akcji to sobie obrobisz. Tworzenie jakichś tablic w szablonie moim zdaniem jest złym pomysłem, już lepiej zrobić to klasie widoku, a może wystarczy z bazy pobrać tylko cenę i datę (model zwróciłby ładnie wszystko co potrzebujesz).
mercii
PHP znam ale Propel, Criteria , MVC to dla mnie nowość. Muszę do widoku wszystko przekazywać bo wyświetlam komplet danych a tylko z części tych danych chcę tworzyć diagramy.
Próbowałem przekazywać tablicę wielowymiarową ale nie odczytywało mi jej prawidłowo.
  1. #
  2. stOfc::createChart(750, 325, 'klient/BarChartData?data='.$data'&cena='.$cena, false); ?>

Takto miałoby by wyglądać? BO tak nie działa. Chyba że w
  1. public function executeBarChartData(sfWebRequest $request)

należy coś zmienić. Dwa sfWebRequest $request dać jakoś?
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.