Доступны ли функции внутри моделей напрямую пользователям? Может ли пользователь передавать аргументы непосредственно в функцию в модели? Или, нужно ли передавать аргументы через php?
Другими словами: У меня есть модель под названием уведомления, и там есть функция с именем get_notifs($user)
... Я использую контроллер для вызова такой функции, как get_notifs($_SESSION['user_id'])
(которая зашифрована).Я не хочу, чтобы кто-то мог звонить get_notifs()
с чем-либо, кроме своей $ _session в качестве аргумента.Какое лучшее решение?
- Я уже в порядке?
- Должен ли я переименовать
get_notifs()
в _get_notifs()
? - Должен ли я проверять
$_SESSION['user_id']
в самом методе? - Или есть другое лучшее решение
, чем любое из них?
У меня есть контроллер: ajax.php, который загружает уведомление модели
function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->library('tank_auth');
$this->load->model('notification');
$this->load->model('search');
}
function get_notifs()
{
$me = $this->session->userdata('user_id');
if ($e = $this->notification->get_notif($me))
{
...........
}
else{
echo "nothing was found wtf?";
}
......................................................... модель: messages.php
function get_notifs($user){
......
}