Я пишу программу, которая должна выводить код PHP, содержащий в основном базовый код HTML, но несколько команд PHP.Поэтому я хотел использовать QDomDocument для записи этого файла в объектно-ориентированном стиле.
Я создал класс QDomPHPCode, унаследованный от QDomNode.Я переписал save()
, который записывает код PHP, включая <?...?>
, в QTextStream.
Теперь проблема в том, что для создания такого элемента мне нужно вызвать один из фабричных методов QDomDocument::create...()
, но, конечно, не существует ни одного для моего собственного класса.
Я думал о создании подкласса QDomDocument, чтобы реализовать такой метод для моего узла QDomPHPCode, и поэтому наблюдал исходный код QDomDocument.Функции create...()
вызывают функции в QDomDocumentPrivate с одинаковыми именами, поэтому для реализации собственной функции create ... () необходимо создать ее в QDomDocumentPrivate.Последнее требует от меня подкласса QDomDocumentPrivate, который невидим для #include <QDomDocument>
и поэтому не может быть разделен на подклассы, насколько я знаю.
Есть ли возможность сделать то, что я хочу сделать?Или это определенно лучший (или единственный) способ полностью создать файл PHP самостоятельно?
Заранее спасибо!