Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по ООП

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
landcaster
Отправлено: 13 Февраля, 2014 - 06:43:21
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+]


Здравствуйте, у меня возник вопрос по ООП.
Раньше писали класс User который находился в файле User.php.
Например это выглядело вот так:

Class User() {

protected $name;
protected $password;

protected function SetName($name) {

$this->name=$name;

}
}

А в ООП получается есть контроллер и модель.

Куда девается Class User?
и куда девается:
protected $name;
protected $password;

Может кто-нибудь объяснить пожалуйста? Буду очень благодарен
 
 Top
PHPLamer
Отправлено: 13 Февраля, 2014 - 08:02:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Сент. 2008  
Откуда: Russia, Krasnodar


Помог: 2 раз(а)




Вы путаете понятия из ООП и MVC.
ООП - классы, экземпляры классов, методы и т.п.
MVC - модель, представление, контроллер.
Перечитайте определения данных понятий и всё встанет на свои места.
 
 Top
landcaster
Отправлено: 13 Февраля, 2014 - 08:41:29
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+]


Точно, ООП применяется в MVC. Всмысле в MVC используются классы и методы и т.д.

Как мне использовать $this->name=$name; в MVC?

в моделе вот это:

protected $name;
protected $password;

function setName($name) {
$this->name=$name;

}
а в контроллере присваивать им значения?
типа:

require ("app/models/Model_task.php");

class Controller_Task extends Controller

{
function __construct()
{
$this->view = new View();
$this->model = new Model_Task();

}

$this->model->setName($name);

Так правильно?
 
 Top
Мелкий Супермодератор
Отправлено: 13 Февраля, 2014 - 08:50:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Класс User - это, обычно, модель пользователя.


-----
PostgreSQL DBA
 
 Top
PHPLamer
Отправлено: 13 Февраля, 2014 - 08:57:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Сент. 2008  
Откуда: Russia, Krasnodar


Помог: 2 раз(а)




ООП - это возможность создания абстракций.
MVC - это паттерн, который задаёт правила взаимодействия абстрактных сущностей.

Посмотрите примерю любого PHP MVC фреймворка. Думаю всё сразу станет понятно.
 
 Top
landcaster
Отправлено: 13 Февраля, 2014 - 09:02:29
Post Id


Гость


Покинул форум
Сообщений всего: 95
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)

[+]


т.е. моей пример правильный?
 
 Top
PHPLamer
Отправлено: 13 Февраля, 2014 - 09:15:59
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Сент. 2008  
Откуда: Russia, Krasnodar


Помог: 2 раз(а)




Правильный для чего?

Это тоже самое если бы я написал



И спросил, правильный пример или нет.

Почитайте документацию к любому из PHP MVC фреймворков. Например Kohana. Там всё подробно описано.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB