Skocz do zawartości

Template_Controller


PawelC

Rekomendowane odpowiedzi

Mam taki kod w kontrolerze:

<?php defined('SYSPATH') OR die('No direct access allowed.');
class Home_Controller extends Template_Controller {
public $template = 'templates/home'; 




public function __construct()

{
parent::__construct(); // wymagane
$this->user=new User_Model;
}

public function index()
{
$this->template->content = 'to jest zawartość zmiennej content, która jest echowana w wyznaczonym przez nas miejscu w templatce home.php (którą załadowaliśmy powyżej)';

$view=new View('test');
$view->dane=$this->user->getOne();
$this->template->podwidok=$view;
}



}

Jak widać w funkcji index, tworzony jest widok i wynik jego jest przypisany do $this->template->podwidok, i wszystko ładnie pięknie działa, tylko chciałem się dowiedzieć, czy jak teraz utworzę np funkcje pokaz(); i będę chciał mieć w niej zawartość z index(); to będę musiał ponownie wkleić ten kod

$view=new View('test');
 $view->dane=$this->user->getOne();
 $this->template->podwidok=$view;

czy jest jakiś inny sposób na to? Czy ten ktory opisałem to jedyny możliwy?

Zacząłem używać template_controller ponieważ ułatwia to programowanie i kod jest bardziej poukładany :)

Odnośnik do komentarza
Udostępnij na innych stronach

Hmm to tak samo mógłbym wstawić swój kod, ponieważ mój z Twoim różnią się tylko stylem zapisu:

$view=new View('test');
$view->dane=$this->user->getOne();
$this->template->podwidok=$view;

zamieniłeś na:

$this->template->podwidok = new View('test');
$this->template->podwidok->dane = $this->user->getOne();

Czyli, tak czy siak wychodzi na to że muszę kopiować cały kod.

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz w routerze ustawić jaki kontroler ma byś wywoływany przy danym żądaniu np:

$config['do_index/'] = 'test/';
$config['do_testy/'] = 'test/';

Żądanie https://mydomena.pl/do_index/ wywoła w tym wypadku kontroler index() w pliku test.php

Możesz też napisać metodę prywatną zawierającą jakiś tam kod która będzie wywoływana w kontrolerach self::myMetoda();

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Tu nie chodzio kopiowanie kodu tylko o dobranie odpowiednich widoków do kontrolerów np widok-plik:

formularza rejestracji konta w konto/rejestracja/,

formularza logowania w konto/logowanie/,

formularza przypomnij haslo w konto/przypomnij/

Główny plik widoku będzie w tym wypadku ten sam.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności