Ga het proberen zo duidelijk mogelijk te maken.

Ok, ik ben begonnen met Kohana en dit is MVC gebaseerd.
Ik heb een pagina Producten (www.example.com/producten) door de router class wordt de pagina automatisch gemaakt door de producten controller.
Nu zouden alle hoofdcategorien te zien moeten zijn op deze pagina. Dat kan heel makkelijk door gewoon even een methode aan te spreken in mijn producten model en deze dan via mijn controller door te spelen aan de view.
Maar nu zou ik graag elke hoofdcategorie als een object zien, dus ik heb een aparte class aan gemaakt productcategorie.

Even een voorbeeldje van hoe die class zou integreren in mijn controller.

<?php
class Controller_Producten extends Controller_MainTemplate{
	private $view;
	private $model;
	private $categorie;

	public function action_index(){	
		$this->view = new View('producten/categorie');
		$this->model = new Model_Producten();
		$this->categorie = new Product_Categorie();
		//inhoud van de home view
		$this->view->title = 'Test';
		$this->view->content = 'test producten pagina';

		//categorien --> hier gaat het dus om
		$categorien = $this->model->getCategories();
		$drawcategorien = array();
		foreach($categorien as $cat){
			$drawcategorien[] = $this->Categorie->getCategorie($cat['id']));
		}
		$this->view->categorien = $drawcategorien;

		//set title
        $this->template->title = 'Home';
		//render Template met view
		$this->template->content = $this->view;		
	}
}
?>


Nu is mijn vraag of dit nu de juiste werkwijze is of dat ik de bal totaal mis sla.
@Jelmer: Als ik hier nu nog een class product heb, moet ik deze dan ook extenden met de class productsubcategory of gaat dit geen meerwaarde hebben?
Mr.Moe schreef op 13.01.2010 16:25
@Jelmer: Als ik hier nu nog een class product heb, moet ik deze dan ook extenden met de class productsubcategory of gaat dit geen meerwaarde hebben?
Vraag je af of een 'productsubcategory' altijd een 'product' is en of je dus wel op die manier mag extenden. Dan blijkt al vrij snel dat je dat nooit kunt doen!

Een categorie is een eigenschap van een product, net zoals een subcategorie dat zou zijn. Extenden is hier niet mogelijk.
Een product is niet een soort productcategorie.
Een productcategorie is wel een soort categorie

Dus een product hoort niet een productcategorie te extenden.
Ik had al zo een vermoeden, wou het gewoon even navragen. Alvast bedankt.

Reageren