2015-04-10, 22:53
  #1
Medlem
En funktion i modellen måste få data från en annan funktion i modellen. Bör man gå tillbaka till kontrollern eller anropa den direkt från modellen?

Anropa generate från kontrollern

Kod:
class Inventory extends Controller {

    function 
add_stock()
    {
        
$generate $this->model->generate(); //call generate from controller
        
$this->model->current_stock($generate);
    }
}

class 
Model {
    public function 
current_stock($generate)
    {
        
//do something
    
}

    public function 
generate()
    {
        
//do something
        
return
    }


ELLER

Anropa generate från modellen

Kod:
class Inventory extends Controller {

    function 
add_stock()
    {
        
$this->model->current_stock();
    }
}

class 
Model {
    public function 
current_stock()
    {
        
$generate =    $this->generate(); //call generate from model
        //do something
    
}

    public function 
generate()
    {
        
//do something
        
return
    }


Vilken lösning är bäst?

OBS! Detta är bara kodexemel och kan innehålla något fel, bara för att illustrera hur jag menar.
__________________
Senast redigerad av _x3m_ 2015-04-10 kl. 22:57.
Citera
2015-04-10, 23:35
  #2
Medlem
Kenny Kuks avatar
Andra alternativet är helt klart enklare och tydligare.
Citera
2015-04-11, 11:01
  #3
Medlem
Ett tredje alternativ är att anropa en funktion vars enda uppgift är att deligera till andra funktioner i modellen, dvs såhär. Hur ser det ut?

Kod:
class Inventory extends Controller
{
    function 
add_stock()
    {
        
$this->model->add_stock();
    }


Kod:
class Model
{
    public function 
current_stock($generate)
    {
        
//do something with information from generate
    
}

    public function 
generate()
    {
        
//do something
        
return;
    }

    function 
add_stock()
    {
        
$generate $this->generate();
        
$this->current_stock($generate);
    }

Citera
2015-04-15, 09:42
  #4
Medlem
Jimmits avatar
Beror väl på om current_stock ska kunna ta emot annan data. Annars gillar jag alternativ 2 klart bäst.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in