Как сделать логику приложения на PHP?

Здравствуйте! У меня есть класс сайт и его методы:
1. Прикрепление алиасов (доменов) к сайту
2. Открепление доменов (алиасов) от сайта
3.Редактирование основной информации сайта
4. Удаление сайта
5.Получение информации о сайте
6.Создание нового сайта
Вопрос: в конструкторе класса должен быть метод получения информации о сайте, или метод создания нового сайта? И можно ли созданный объект класса сохранить в сессии?
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Конструктор для объектов может содержать неявный вызов инициализации. Например при передаче в конструктор id или имени сайта по нему загружается из базы все данные, однако обычно это делают через отдельный метод инициализации, который в конструкторе вызывают. если никаких параметров не передается - создается пустой(новй) объект.
По поводу сессии - если в объекте нет ссылок на внешние ресурсы(например на DB), то serialize() работает, храните как строку, потом unserialize() для чтения из сессии.

У вас в коде все же как-то все кривовато,
1) прям в объекте сайта создается подключение к бд и фигачатся запросы,
2) Названия классов пишутся с большой буквы
3) тут же вывод каких то обработок... Вообще как будто не ооп а попытка писать объекты процедурным стилем.

// конструктор объекта
function __construct($id = ""){
  if($id==="") {do some}// создаем пустой объект
  else{ $this->initById($id);}
}

// в коде где создаем новый сайт
$site = new Site();
$site->add($dataset); // передаем параметры, можно отдельно каждый, можно заранее созданным массивом.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы