// Получаем список Id страниц с parentId = {$parentId}
// Возвращаем этот список Id
}
Если я правильно понимаю, в соответствии с паттерном ActiveRecord, в классе Page должны быть методы для обработки только экземпляра класса, и не содержать статических полей и методов. Тогда в какой класс запихнуть этот метод?
Да, одна страница в одной записи БД. И разбивка на страницы тут не причем. Здесь дело в получении списка страниц. Допустим, мы создали экземпляр класса Page (страницу) с Id = 10, при этом в наш экземпляр загружает страницу из БД. Затем нам нужно получить все ее дочерние страницы. Как это правильно сделать? Делать метод get_childrens в классе Page, по-моему, не правильно. Вот я и спрашиваю, как правильно.
Я решил использовать паттерн ActiveRecord. И тут появилась одна проблема: как вывести список страниц? Т.е. у меня есть класс Page, и одна страница = один экземпляр класса Page. При создании страницы (экземпляра класса Page) в скобках указывается Id страницы, и если оно указано, то данные подгружаются из БД, а если нет, то создается как бы новая страница. А как при этом правильно организовать вывод всех страниц сайта (не перечисляя все страницы вручную) ?
// Устанавливаем соединение с БД в переменную $connection
}
publicfunction query($query){
// Выполняем запрос и возвращаем результат
}
}
Это как бы урезанная версия, но для наглядности сойдет. Суть в том, что соединение с БД у меня будет только одно. Стоит ли создавать единственный экземпляр этого класса? Какой из этих вариантов наиболее правильный?
Привет всем! Недавно решил написать маленькую CMS. Да и вообщем, написал, но к сожалению в процедурном стиле. Решил переписать заново, но уже в объектно-ориентированном стиле. Посмотрел много уроков и статей и в результате запутался . Какие классы должны быть? Видел, что используют Config и Db (extends Config) и уже от класса Db создают классы Page, User и т.д. Еще видел что создают один класс с именем CMS (или Main). В этом классе создают все функции (для соединения с БД, создания страниц, пользователей и т.д). Подскажите, пожалуйста, как правильнее делать? Какая структура, приблизительно, должна быть? Заранее большое спасибо!
DeepVarvar, да мне не время важно, а безопасность... что бы никто конфиг не мог посмотреть, вдруг запрет через .htaccess не сработает. Данил_123, согласен, поэтому я и хочу хранить в php...
DeepVarvar, спасибо! Bio man, мне нужно как раз то что написал DeepVarvar.
Кстати, есть ли для этого какие-то стандартные функции? Или лучше хранить конфиурацию не в PHP а в INI-файлах?
Можно ли как то из массива (или любой другой переменной) сделать PHP-код? Допустим есть массив $config. Нужно с помощью функции превратить его в PHP-код и записать в файл config.php, так что бы этот самый config.php содержал что-то вроде:
Спасибо всем! Решил хранить конфигурацию в INI-файле. В моем случае это безопасно, т.к. у меня все файлы кроме index.php и папки uploads закрыты через .htaccess. (Добавление)
Хотел еще узнать относительно класса Config. У меня он выглядит так:
Далее создаются другие классы (напр. Db) на основе него. Правильно ли так делать? И еще хотел спросить, можно ли как-то превратить массив обратно в ini?
Как правильнее хранить конфигурацию сайта? Хранить ее в классе Config (поля static) или в отдельном объекте класса Config, или вообще не испоьзовать классы, а хранить конфигурацию в константах (под конфигурацией я имею ввиду данные для соединения с БД, URL сайта и т.п.). Заранее спасибо!