| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Организация ядра системы |
| Автор: Mal Hack 4.6.2005, 21:12 |
| Хотел бы посоветоваться на счет оптимальности. Имеем CMS. Имеем index.php. Вопрос в том, как лучше организовать ЯДРО системы. Ядро в моем понимании - функции, которые необходимы при каждом запуске скрипта и ылияют на его работу. Раньше я делал как.. Создавал отдельно объекты для URI, TMPL, дополнительных функций, плдюс два массива с конфигурацией и лэнг-пак. И каждый класс описывал в отдельном файле. Щас думаю все это объедигнить в один класс. Что в нем должно быть: - парс URI (с сохранением параметров в свойствах объекта). - TMPL парсер (тут вопрос, а включать ли сюда парс BB кода или нет?). - "Скелет" скина. - Функции авторизации и персонализации пользователей. - Функции проверки конфигурации, редиректа, установки кук. Что скажете? |
| Автор: Irokez 4.6.2005, 21:22 |
| а зачем объединять? а если понадобятся функции парсера темплейтов без всего остального? может держать эти классы отдельно и создать класс (ядро), который будет иметь по экземпляру от каждого класса? |
| Автор: Mal Hack 4.6.2005, 21:24 | ||||
Это как так?
Как-то это запутанным мне кажется... Я тогда уточню. Сами функции могут быть использованны только внутри системы. |
| Автор: Opik 4.6.2005, 21:41 |
| Mal Hack добавил бы ещё работу над ошибками. аля try, catch, вывод на экран при дебаге, запись в файл при "релизе" |
| Автор: Mal Hack 4.6.2005, 21:45 | ||||||
Да, думаю ты прав. Спасибо.
Не совсем тебя понял. Выводит index.php.
Тоже не совсем понял |
| Автор: Opik 4.6.2005, 21:51 |
| Mal Hack да, немного коряво выразился. Хотя это не везде и нужно. Грубо говоря, при отладке скрипта - error_reporting(E_STRICT) // PHP5, иначе - 0, т.е полное их подавление, можно даже display_errors - off и запись в файл. Если оные всё таки будут возникать. Добавлено @ 21:51 Т.к пользователю они могут ничего не сказать, а тебе помогут уж точно) |
| Автор: Mal Hack 4.6.2005, 21:54 |
| Это в index.php будет. Если в конфиге стоит параметр "debug", то будет вывод ошибок, а в противном случае нет. ЗЫ: А что ты там на счет файлов говорил? |
| Автор: Opik 4.6.2005, 21:58 | ||
| Mal Hack Это в index.php будет - без разницы где.
а в противном случае фиксируем возникшие ошибки - пишем error.log (если к оному от апача нет прав) |
| Автор: Mal Hack 4.6.2005, 21:59 | ||
Я думаю это на будущее... За идею спасибо. |
| Автор: Sardar 4.6.2005, 22:05 | ||
Так удобный логгинг в PHP уже есть, в релизе пишет в лог файл. Зачем своё, да ещё ошибки синтаксиса заноситься не будут...? |
| Автор: Opik 4.6.2005, 22:10 |
| Mal Hack по идее нужен ещё интерфейс для работы с базой. |
| Автор: Mal Hack 4.6.2005, 22:12 | ||||
Это отдельный класс. В ядро не входит.
Я так понимаю, тут лог ведется на ошибки системы, которые обработал скртипт. да и к тому же если появляются ошибки PHP это недопустимые вещти для хорошей системы. |
| Автор: Sardar 4.6.2005, 22:14 | ||
Я всегда использую trigger_error функцию. Доволен, уговаривать не буду |
| Автор: Mal Hack 4.6.2005, 22:18 | ||
Так. стоп.. |
| Автор: Opik 4.6.2005, 22:24 |
| Mal Hack если юзает trigger_error - вроде ничего |
| Автор: Mal Hack 4.6.2005, 22:30 | ||
Можно пояснить что это... Либо я что-то в мане пропустил, либо совсем голова не сображает |
| Автор: Sardar 4.6.2005, 22:43 | ||
Я так понял речь шла о работе с ошибками, идея ловить ошибки самому и писать их в лог. Зачем это если пишем в конфиге:
Затем все ошибки, влючая те что ты генеришь юзая http://www.php.net/trigger_error появяться в логе. В принципе своя либа для логов может понадобиться(сам писал такую) если ведём кучу разных логов, помечаем сообщения разными лейблами, просмтариваем, фильтрируем, выдаём статистику и т.д. На первых стадиях разработки сразу такой лог не подключаю. |
| Автор: Mal Hack 4.6.2005, 22:53 |
| Возникновение PHP ошибок исключается. ИМХО, если такие ошибки огут появиться, значит система не работоспособная. Да, есть класс ошибок которые нельзя никак обработать... К примеру превышение лимита памяти... Но их подавляем просто. Их слишком мало. |
| Автор: Sardar 4.6.2005, 23:14 | ||
Это ещё почему? В любом коде есть ошибки, зачем тогда иметь два механзма лога? Тем более начав юзать линукс(наконец Вообщем дефинитивный вывод: если тебе нравиться юзать свой лог - это хорошо, но это не необходимо, так как колесо уже изобретенно |