##Модели
###Основы
Условия работы с моделями идентичны работе с контроллерами.
Пользовательские модели должны храниться в директории /app/models/
, директория может иметь вложенные папки.
Доступ к модели осуществляется "точечным путем" dir.subdir.name
, а имя класса такой модели должно иметь вид Dir_Subdir_Name_Model
.
В директории /app/models/
могут быть приватные папки имя которых начинается с "_" - нижние подчеркивание. Такие папки недоступны по точечному пути и могут хранить вспомогательные классы моделей.
Используя приватные папки можно делать более сложные модели, методы которых возвращают другой объект связаный с этой моделью, но реализация которого вынесена за пределы модели.
##Доступ
Предположим, у нас имеется файл модели user.php
, который расположен в директории /app/models/auth/
.
К такой модели можно обратиться, используя путь auth.user
, и имя её класса должно иметь вид Auth_User_Model
.
class Auth_User_Model
{
public function __construct()
{
// action
}
public function name()
{
return "User Name";
}
public function password()
{
return "User Password";
}
}
Мы можем обратиться к методам этой модели практически из любого уголка нашего приложения, но обычно это делается из контроллеров.
class Auth_User_Controller
{
public function auth()
{
return Model::get('auth.user')->name();
}
}