Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Symfony]Problem z sf_params
Forum PHP.pl > Forum > Przedszkole
lobopol
Właśnie przerabiam sobie kurs i pojawił mi się niestety problem. Według książki użycie
  1. echo $sf_params->get('name', 'anonim')

Powinno wyświetlić anonim gdy wartość name nie jest ustalona, ale niestety tak się nie dzieje, ba gdy przesyłam wartość dla name powinna ona się wyświetlić, ale niestety nie idzie.
Oczywiści:
  1. echo $sf_params->get('name')

wyświetla dobrze wartość name jeżeli jest przesłane bądź nic jak nie jest wysłane.

  1. public function executeUpdate($request)
  2. {
  3. $this->name = $request->getParameter('name');
  4. }

template updateSuccess:
  1. <p>Cześć, <?php echo $sf_params->get('name', 'Anonim') ?>!</p>
  2. <?php echo $sf_params->get('name') ?>


template showSuccess
  1. <?php if ($hour >= 18): ?>
  2. <p>A może raczej dobry wieczór? W końcu jest <?php echo $hour ?>.</p>
  3. <?php endif; ?>
  4. <form method="post" action="<?php echo url_for('content/update') ?>">
  5. <label for="name">Jak się nazywasz</label>
  6. <input type="text" name="name" id="name" value="" />
  7. <input type="submit" value="Ok"/>
  8. <?php echo link_to('Nie powiem', 'content/update?name=anonim',
  9. 'class' => 'special_link',
  10. 'confirm' => 'jesteś pewien?',
  11. 'absolute' => 'true'
  12. )) ?>
  13.  
  14. </form>
  15.  
Silny
Tak ogólnie, to powinieneś używać jakiegoś systemu szablonów, bo niezbyt wygląda php html winksmiley.jpg
lobopol
Na razie jestem na etapie kursu, później nad szablonem pomyślę.
Silny
pokaz cały kod, bo ja zrobiłem normalnie
  1. <p>Siemka, <?php echo $sf_params->get('name', 'Gościu z Archiwum X') ?>!</p>
pyka mi piknie winksmiley.jpg
lobopol
No nie ma co więcej pokazywać moduł content:
action.class.php
  1. class contentActions extends sfActions
  2. {
  3. public function executeShow()
  4. {
  5. $today = getdate();
  6. $this->hour = $today['hours'];
  7. }
  8. public function executeUpdate($request)
  9. {
  10. $this->name = $request->getParameter('name');
  11. }

templatka showSuccess.php
  1. <?php if ($hour >= 18): ?>
  2. <p>Dobry wieczór? W końcu jest <?php echo $hour ?>.</p>
  3. <?php endif; ?>
  4. <form method="post" action="<?php echo url_for('content/update') ?>">
  5. <label for="name">Jak się nazywasz</label>
  6. <input type="text" name="name" id="name" value="" />
  7. <input type="submit" value="Ok"/>
  8. <?php echo link_to('Nie powiem', 'content/update?name=anonymous',
  9. 'class' => 'special_link',
  10. 'confirm' => 'jesteś pewien?',
  11. 'absolute' => 'true'
  12. )) ?>
  13.  
  14. </form>

templatka updateSuccess.php
  1. <p>Cześć, <?php echo $sf_params->get('name', 'test') ?>!</p>


Jak wchodzę w trybie debugowania wyrzuca błąd:
Kod
Call to undefined method contentActions::getParameter.
    * at ()
      in SF_ROOT_DIR\lib\vendor\symfony\lib\action\sfComponent.class.php line 373 ...
             370.     $event = $this->dispatcher->notifyUntil(new sfEvent($this, 'component.method_not_found', array('method' => $method, 'arguments' => $arguments)));
             371.     if (!$event->isProcessed())
             372.     {
             373.       throw new sfException(sprintf('Call to undefined method %s::%s.', get_class($this), $method));
             374.     }
             375.
             376.     return $event->getReturnValue();

całość na:
http://www.wklejto.pl/72610
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.