![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Alexey007 |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Решил написать новый движок, буду очень признателен за советы и полезные линки, по ходу дела
![]() ![]() Это может выглядеть как и урок для начинающих програмистов ![]() 1. Пути к папкам и их значения: site/ Главная директория сайта, собственно site/configuration.php Файл главных настроек сайта site/install Файлы инсталяции движка site/administrator Админ-центр site/includes Различные модификации(сначала будет только новости) site/class Различные классы site/logs Файлы, в которых будут сохранены ошибки различных кодов ![]() site/pages Файлы текстов site/templates Файлы шаблонов site/templates/images Картинки ![]() P.S. Скажу сразу, делаю постепенно.. install и administrator буду делать в конце 2. Настройки: site/configuration.php:
P.S. Данный файл будет в создаваться автоматически в инсталяции. 3. Первый класс, подключение к БД: site/class/mysql.php:
P.S. Сразу вопрос к знатокам: Как брать значение пути к ЛОГ файлам брать из файла настроек? 4. Файл site/index.php:
P.S. Вопрос к знатокам: а)Как сделать, чтобы можно было вставлять не только файлы с разрешение .html, но и с другими? б)Если ничего не передается(в поле $_GET), то подгружать index.html в)Новости будут не в этой папке, как сделать критерий на новости? г)Как разбить файл на 2 вывода, т.е. содержимое файла:
Требуется примерно такое вывод:
Много уважаемые начинающие програмисты, спрашивайте, не стесняйтесь ![]() ![]() Это сообщение отредактировал(а) Alexey007 - 2.5.2007, 15:02 |
||||||||||
|
|||||||||||
WolfON |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
2. лучше хранить настройки хотя-бы в ассоциативном массиве, хотя о вкусах не спорят
3.
4. а) в чем проблема? ) б)
в) в смысле критерий? добавь еще одну строчку в бд или сформируй запрос для поиска г)
|
||||||
|
|||||||
Alexey007 |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Можно поподробнее? тут надо регулярки использовать?
Критерий - не нужно грузить страницу news, т.к. она существует в папке site/includes
наверное я не так сформулировал задачу ![]() текст, который находится между #######, должен вставляться в шаблон оформления(в таблицу например для начала) P.S. Прошу посмотреть с точки зрения безопасности ![]() а global ничего не портит в безопасности? Это сообщение отредактировал(а) Alexey007 - 2.5.2007, 16:05 |
||||||||
|
|||||||||
Alexey007 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Как можно целые функции запихнуть под определенной переменной, т.е. есть шаблон:
нужно: Заметь {****} на определенные значения... Как заменить {PAGE}? В него должна включаться функция
Тексты наверно примерно так, а всю страницу пихать в переменную $text.:
Но все это очень громозко, можно как-нибудь облегчить код? Задача: Совместить структуру и шаблон воедино, но чтобы не потерялась читабельность и быстрота выполнения скриптов. |
||||||
|
|||||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Тут назрела идея, записать эту функцию в файл, а потом просто его записывать в переменную и приставлять туда, куда нужно
![]() P.S. Неужели никто не может помочь ![]() |
|||
|
||||
Glip |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 7 Всего: 18 |
до fopen() можно проверить is_readable() и "глотать" ошибки @ не есть гуд.
|
|||
|
||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Glip, что тогда посоветуешь?
|
|||
|
||||
Glip |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 7 Всего: 18 |
лично мне очень нравится
|
|||
|
||||
Alexey007 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Обновил, по советам Glip:
P.S. Сообщение об ошибке внес в файл конфигурации, чтобы код самого скрипта был чище, и не было посторонних текстов:
Добавлено через 4 минуты и 55 секунд Glip, запостил сообщение, не увидев твое сообщение ![]() можешь чуть-чуть объяснить что это за функция? А потом как её вставлять? |
||||
|
|||||
Glip |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 7 Всего: 18 |
можно вынести в отдельную переменную. оно в 3-х местах уже одно и то же. Добавлено @ 21:01 код взят из этого проекта там же можно найти и пример использования
отчет об ошибке в отладочной версии получаем на экран. в рабочей - перенаправляем пользователя на главную страницу, а отчет об ошибке себе в почту. Это сообщение отредактировал(а) Glip - 2.5.2007, 21:03 |
||||
|
|||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Glip, это вообще для чего? я не вижу связи!
|
|||
|
||||
Glip |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 7 Всего: 18 |
||||
|
||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Glip,
поточнее надо, что за что отвечает(переменные) Если менять нужно много значений, как быть? И вопрос про замену {PAGE} на целую функцию остается нерешенным. |
|||
|
||||
Glip |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 7 Всего: 18 |
если в двух словах, то: ошибку (error) которую обрабатывать сложно, преобразуем в исключение (exception) для обработки которого есть конструкция try catch. это один из варинтов. при этом не прячем их совсем как @fopen и не показываем клиенту как fopen, а "ловим" и решаем что с ними дальше делать а в итоге фиксим со временем. можно поискать еще что-нибудь на пердмет использования set_error_handler(). просто данным вариантом я пользуюсь и пока доволен. |
|||
|
||||
Alexey007 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 30.3.2007 Репутация: 1 Всего: 1 |
Вообщем вот что откапал:
http://php.ru/forum/viewtopic.php?t=1372&a...asc&start=0 По этому есть сразу вопрос, там написано, что так не безопасно. вопрос, как обезопасить себя? ![]()
Есть ли какие-нибудь ещё недочеты в данном классе (см. выше) Glip, спасибо за подсказку функции set_error_handler(), изучаю... Простите за такую настойчивость, но как быть, если мне {PAGE} надо заменить фнукцией?? ![]() ![]() Это сообщение отредактировал(а) Alexey007 - 2.5.2007, 23:48 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |