Mikmak Model Category
Home

Mikmak Model Category

Mikmak Model Category


De model klasse voor de Category entiteit.

Probleem

Bij het toevoegen of wijzigen van een categorie zijn er enkele regels waarmee we rekening moeten houden. De validatie hiervan gebeurt in deze Model klasse in de setters.

Design

We baseren ons daarvoor op Mikmak logisch model van de Category entiteit. Bij het maken van het model moet je enkele afspraken volgen:

  1. de namespace moet overeenkomen met de overeenkomst die je gelegd hebt tussen namespace en pad in het autoload_psr4.php bestand;
  2. fields moeten in de zelfde volgorde staan als in het logisch model;
  3. fields moeten dezelfde naam hebben als de naam in de Column Name kolom, maar in camelcase notatie;
  4. fields die geïnserted of geüpdated moeten worden hebben een private access modifier, andere hebben een protected access modifier;
  5. de model klasse erft over van de Threepenny MVC Model klasse; deze klasse heeft twee velden met een protected access modifier omdat die niet geïnserted of geüpdated moeten worden:
    1. protected $modelState: is een prikbord waarop berichten geplaatst kunnen worden;
    2. protected $list: is een lijst waarin alle rijen uit de entiteit worden opgeslagen;
  6. de model klasse staat in een bestand met de naam Category.php in de map vendor/modernways/webshop/src;

Oplossing

<?php
/**
 * Created by PhpStorm.
 * User: Jef Inghelbrecht
 * Date: 25/01/2016
 * Time: 21:48
 */
namespace ModernWays\Webshop\Model;

class Category extends \ModernWays\Mvc\Model
{
    private $name;
    private $description;
    private $id;

    /**
     * @return mixed
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * @param mixed $name
     */
    public function setName($name)
    {
        if($this->validRequired($name, "Name"))
        {
            $this->name = $name;
        }
    }

    /**
     * @return mixed
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * @param mixed $description
     */
    public function setDescription($description)
    {
        $this->description = $description;
    }

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     */
    public function setId($id)
    {
        $this->id = $id;
    }
}

JI
2016-02-01 20:38:29