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?