PHP MVC İyi Uygulama - doğrudan modelinde kumanda veya erişim sınıf Modele Oturum değişken geçmek

0 Cevap php

Our development team is debating a general best practice: Is it better to access a session variable directly from a function in a model class or pass the session variable from the controller as an argument to a function in the model class. Look at the two examples below:

Sorguda kullanmak üzere model sınıfı doğrudan oturum değişkeni Erişme:

class MyModel {
    public function getUserPrefs($userID) {
        $this->query("SELECT * FROM my_table WHERE id=$_SESSION['userID']");
    }
}

Veya bir işlev argüman olarak modeli sınıfında bir işleve denetleyicisi oturum değişkeni geçmek:

class MyController {
    public function displayUsers() {
        $this->model->getUserPrefs($_SESSION['userID']);
    }
}

class MyModel {
    public function getUserPrefs($userID) {
        $this->query("SELECT * FROM my_table WHERE id=$userID");
    }
}

Kontrolörden modele geçirmeden için mantık çok başvurulan tüm veriler, kontrol olarak, giriş bir noktadan geliyor olmasıdır.

Ne daha iyi bir uygulama olarak kabul edilmektedir?

0 Cevap