Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]problem z zrozumieniem działania
Forum PHP.pl > Forum > PHP > Frameworki
logas
Witam mam problem ze zrozuminiem działania symfony i dlatego postanowiłem zadać dwa pytania dotyczące tego framework'a.Tak więc, czytałem dokumentacje symfony która znajduję się pod adresem kliknij tu.Oczywiście jest wytłumaczone niby co i jak ale nie wiem na przykład gdzie umiescić kod html strony.Czy może w katalogu /web/ w pliku index.php bo w dokumentacji nie pisze gdzie i jeszcze mam drugie pytanie jeżeli w pliku /web/index.php mam umieścić kod html to jak mam się odwoływac do funkcji może w ten sposób ?
  1. <?php
  2. include('../apps/cms/modules/kontakt/actions/actions.class.php');
  3. $obiekt= new kontaktActions();
  4. $obiekt->funkcja()
  5. ?>
Cysiaczek
Uh uh uh, w ogóle nie idziesz w dobrym kierunku smile.gif

Aplikacja dzieli sie na moduły i akcje. Tworzysz zatem moduł, do którego dodajesz akcje. Teraz zerknij do katalogu aplikacji. Powinien tam być katalog /templates, a w nim plik layout.php. Podejrzyj go smile.gif Potem doczytaj o tym, jak sie tworzy akcje i szablony.
W pliku index.php nic nie ruszaj - to jest front controller Twojej aplikacji. Jedynie dodawaj nowe moduły i akcje - nic więcej - wszystko zrobi sie samo

Pozdrawiam.

Przenoszę na Frameworki
logas
Ale nie rozumiem jednego.Jak to razem połączyć dajmy,że mam moduły takie jak kometarze,informacje,menu więc tworze w tym modułach odpowiednie dla nich akcje.A teraz chce to wyświetlić na jednej stronie przeciez jak wywołuje akcje w ten sposób http://symfony/cwiczenia_dev.php/komentarze/wyswietl to wyswietlą mi się tylko komentarze.
Cysiaczek
Bo to nie tak masz robić. Albo robisz tak, że w jednej akcji pobierasz potrzebne dane i rozprowadzasz je po stronie poprzez partiale, albo używasz componentów, które tez posiadają logikę i każdy troszczy się o swoje dane.
np.

componets.class.php
  1. <?php
  2. class AdminMenuComponents extends sfComponents
  3. {
  4. public function executeAdminMenu()
  5. {
  6. $this->admin_menu=AdminMenuPeer::retrieveByPK(1);
  7. }
  8. }
  9. ?>


_AdminMenu.php
  1. <?php
  2. if(is_object($admin_menu))
  3. {
  4. $nodes=$admin_menu->getChildren();
  5.  
  6. usort($nodes, array('AdminMenu', 'calculateDisplayPosition'));
  7. foreach ($nodes as $node)
  8. {
  9. print print_menu_item($node, 'li');
  10. if(!$node->isLeaf())
  11. {
  12. draw_menu($node->getChildren());
  13. }
  14. }
  15. }
  16. ?>


i np w pliku layout.php
  1. <?php
  2. if($sf_user->isAuthenticated())
  3. {
  4. include_component('AdminMenu', 'AdminMenu');
  5. }
  6. ?>
logas
dzięki, za wyjasnienie mam tylko jeszcze jdeno pytania łatwiej jest rozprowadziać dane przez partiale czy przez komponenty?
Cysiaczek
IMO, lepiej komponenty, najlepiej wspomagane przez system slotów, o którym jest w podręczniku (lepiej czytać angielski, bo polski jest nieskończony i wielu rzeczy w nim nie ma).
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.