Чтобы слушать сокеты, необходимо держать скрипт запущенным, скорее всего, вы просто упретесь в лимит времени выполнения скрипта и он будет благополучно убит хостингом.
Blog по идее не должен быть отдельным объектом, т.к. это и есть контекст приложения. При правильном подходе, все действия по загрузке блогозаписей (если мы уже говорим о блоге) должны происходить в неком контроллере, который, по сути, может быть простой функцией.
Что касается объектов, то может существовать, например, объект Category — категория, или Article — одна запись в блоге.
Если опустить вопросы с производительностью, то да, объект Category может иметь в себе массив объектов Article, т.е. записей, относящихся к этой категории.
Для того же класса User, в контексте приложения может быть, например, два объекта: один для текущего авторизованного пользователя, а второй для отображения профиля другого пользователя.
А конкретно по данной ситуации какое решение подскажите?
Ну смотрите, попробуйте сделать наоборот.
Сейчас у вас работает так:
— какая-то ситуация » загрузка шаблона » загрузка данных.
А вы сделайте так:
— какая-то ситуация » загрузка данных » загрузка шаблона.
Сделайте так, чтобы не данные зависели от шаблона, а шаблон зависел от данных.
Если я все правильно понимаю, то на данный момент, если в шаблоне есть, например, теги title и content, то должны загрузиться данные, относящиеся к этим тегам.
Сделайте наоборот, вначале загружайте данные, а затем занимайтесь с шаблоном.
Похоже на реализацию своего шаблонизатора, но все как-то слишком запутанно.
Может вы лучше напишите для чего это нужно?
Описание искусственное, наверняка есть более лучшие решения вашей задачи, если, конечно, у вас не было цели написать именно этот код.
в данном же случае(и подобных этому) лучше методами класса возвращать массив, в котором содержит результат выполнения и элемент с ошибкой если они есть.
все равно не должен в браузер выкидывать по идее. Возможно есть какой-то парсер, как-то экранируются тэги, это плюс к тому, что короткие тэги таки отключены.
Это поведение PHP корректно.
<? и <?= — совершенно разные теги.
Первый — сокращение от <?php и его можно отключить директивой short_open_tag.
Второй — сокращение от <?php echo ... ?> и его нельзя отключить начиная с PHP 5.4.