Skip to content

Latest commit

 

History

History
53 lines (37 loc) · 2.1 KB

model.md

File metadata and controls

53 lines (37 loc) · 2.1 KB

##Модели

###Основы

Условия работы с моделями идентичны работе с контроллерами.

Пользовательские модели должны храниться в директории /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();
	}
}