Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Kohana] "Globalny" obiekt View w Kontrolerze
Forum PHP.pl > Forum > PHP > Frameworki
rafalp
  1. <?php
  2. class Jakis_Controller extends Controller {
  3.  
  4. public $view;
  5.  
  6. public function __construct()
  7. {
  8.  parent::__construct();
  9.  $view = new View('template');
  10.  
  11. }
  12.  
  13.  
  14. public function index()
  15. {
  16. //$view = new View('template');
  17. $this->view->header = new View('header');
  18. $this->view->content = new View('content');
  19. $this->view->footer = new View('footer');
  20.  
  21. $this->view->header->title  = 'Title of page'; 
  22. $this->view->content->zmienna = '';
  23.  
  24. $this->view->render(TRUE); // Fatal error: Call to undefined method stdClass::render()
  25. }
  26.  
  27. }
  28. ?>


a taka metoda istnieje w klasie View!
Można ją wywołać jeśli jej obiekt utworzymy już wewnątrz konkretnej funkcji (tak jak w zakomentowanej lini 16) Ja chciałem żeby była "globalnie" widoczna w klasie i stosować ją przez $this.
phpion
Raczej nie:
  1. <?php
  2. $view = new View('template');
  3. ?>

tylko:
  1. <?php
  2. $this->view = new View('template');
  3. ?>

Zauważ jaki masz komunikat błędu:
Cytat
Fatal error: Call to undefined method stdClass::render()

stdClass, a nie View. Obiekt, na którym chcesz wywołać metodę render() nie jest egzemplarzem klasy View.
rafalp
Bomba! Dziękuje bardzo:)
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.