Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Архитектура сайта
 
 автор: Shey   (25.05.2008 в 17:14)   письмо автору
 
 

Здраствуйте, господа...
Недавно я заводил похожую тему, назвав её немного по другому, но никто мне так ответа толкового и не дал, потому что очень много умников на форуме :((
Что ж, постараюсь подробнее объяснить то, в чём я нуждаюсь совета...
Меня интересует то, как более менее организовать архитектуру сайта (опять же, более менее не самого простого). Я использую, например, такую:
1) В гл. каталоге у меня нах. файл index.php, который делает всю подготовительную работу, подкл. модули и выводит страничку.
2) В этом каталоге сущ. след. подкаталоги: site_files (все файлы, отличные от скриптов php, используемые на сайте), patterns (шаблоны, у меня это чистейший html, в котором статический текст заменяется на макросы. Например: ...<title>%title%</title>...), sys_inc (модули, не отвечающие напрямую, так сказать, за накопление текста генерируемой странички. Это функции, файл с пременными и т.д.), inc (модули, которые напрямую связанны с накоплением текста генерируемой страницы. В них и происходит в основном замена макросов (%macroc%) на готовый текст, который берётся либо из базы, либо из файла title.inc, который представляет собой массив, в котором хранятся все короткие строки).
Для любого крупного раздела, например, форума создаётся папка с точно такой же архитектурой...
Понимаю, много чего здесь будет Вам непонятно...но моя просьба должна быть понятна.
Просто, мне эта архитектура не очень нравиться, и поэтому хотелось бы узнать, может вы посоветуете что-нибудь другое (архитектуру я имею в виду)???
Только прошу отвечать нормально, мне лействительно нужен совет...

   
 
 автор: cheops   (25.05.2008 в 17:26)   письмо автору
 
   для: Shey   (25.05.2008 в 17:14)
 

>Просто, мне эта архитектура не очень нравиться
Чтобы дать какие-либо конструктивные советы, нужно хотя бы в общих чертах описать чем не нравится архитектура, например, несколько вариантов:

1) Неудобно сопровождать код, каждый раз приходится долго искать файлы, которые отвечают за тот или иной вывод
2) Очень сложно внедрять не традиционный дизайн - структура движка жёстко его кодирует и чтобы вы не делали получается одно и то же.
3) Всё устраивает, но очень сложно вводить людей в проект и добавлять сторонние блоки
4) Высокая нагрузка на сервер - сайт подтормаживает.
5) Сложно вводить вложенные директории на сайте вида www.site.ru/firts/2008/12/
и т.д.

PS Просто в описании ничего вопиющего не наблюдается - вполне успешная структура, непонятно, также какие цели вы преследуете? Хотите повысить производительность, сократить время разработки или упростить код, чтобы в нём было проще разбираться сторонним людям? Просто зачастую для достижения тех или иных целей приходится придерживаться противоположных рекомендаций.

   
 
 автор: Shey   (25.05.2008 в 17:59)   письмо автору
 
   для: cheops   (25.05.2008 в 17:26)
 

Цели следующие:
1. Ускорить загрузку сайта.
2. Максимально просто изменять содержание сайта.
3. Создание удобной ситемы администрирования.
Вообще, особенностью является то, что иоговая страничка у меня накапливается в переменной $page, а потом я просто пишу следующее в конце index.php: echo $page;
С шаблонами я работаю след. образом:
Например, есть файл main.tmpl, сод. след. код:
<html>
<head>
<title>%title%</title>
</head>
<body>
%data%
</body>
</html>
Я просто записываю содержимое файла в одну строку, предварительно заменив макросы значением.
Таких шаблонов получается очень много, т.к. весь повторяющийся html код я храню в отдельном шаблоне. Либо потому, что приходиться выбирать из нескольких значений и потому каждый html код надо хранить в нескольких файлах шаблонов.
Что скажете, прочитав вышеописанное???

   
 
 автор: cheops   (26.05.2008 в 05:46)   письмо автору
 
   для: Shey   (25.05.2008 в 17:59)
 

Лучше отказаться от шаблонов - они предназначены для облегчения работы дизайнера (которого не пугают шаблоны, но пугает PHP :). Вместо шаблонов лучше использовать продуманную структуру каскадных таблиц CSS, названия ключевых элементов в которых должно совпадать для целой серии сайтов - тогда их можно будет безболезненно встраивать в движок. Из шаблонов лучше оставить только шапку и завершение страницы - формируя центр динамически. В результате вы уберете один лишний слой в виде шаблонов, что частично улучшит показатели по пунктам 1 и 2 (последний особенно) и развяжет вам руки при создании принципиально новых видов страниц.

3. Система администрирования должна быть удобна для администратора (потребуется больше времени на её создание) или для разработчика (потребуется меньше времени на её создание)?

   
 
 автор: Виктор 20008   (26.05.2008 в 06:18)
 
   для: cheops   (26.05.2008 в 05:46)
 

Все это больше описывает "классический" подход разработки
А хочется узнать как лучше разрабатывать применяя технологию AJAX ?

Если можно хотелось бы услышать ваше мнение по поводу обработки форм (все же это "основа" страниц) как лично ВЫ обрабатываете формы в своих проектах ;)
какие методы существуют и почему вы выбрали тот, на котором остановились ?

И ожидается ли выход книг на тему "архитектура сайтов" и "AJAX" .
И будут ли книги по специфическим функиям php ? (Этакая серия книг по PHP)
Оф. документация до сих пор скудно переведена . :(

   
 
 автор: cheops   (27.05.2008 в 00:46)   письмо автору
 
   для: Виктор 20008   (26.05.2008 в 06:18)
 

В формах мы используем классические JavaScript-проверки в купе с серверными, предпочитая использовать AJAX лишь там, где его использование имеет неоспоримое преимущество перед чисто серверными методами. Пока книг по AJAX не планируем, во-первых их достаточно много (и даже неплохих), во-вторых необходимо пособирать материал (если мы и будем писать книгу, то с упором на то, где AJAX эффективен, а где нет).

>И будут ли книги по специфическим функиям php ?
Под специфическими функциями что подразумеваете?

   
 
 автор: Виктор 20008   (27.05.2008 в 03:20)
 
   для: cheops   (27.05.2008 в 00:46)
 

К примеру работы с
IRC/ICQ
Aspell/Pspell (что-то из них помоему больше не поддерживается да? )
DOM
XML (во всем разнообразии потянет на отдельную книгу)
.NET
Network Functions
URL Functions
Tidy Functions
OpenSSL
Функции протокола HTTP
Error Handling and Logging Functions
PDF
Flash
Криптографические функции
Я бы сказал что почти все книги по php. мусолят одно и тоже :(
По AJAX на русском книг 6 (опять же пишут об одном и том же )

Снижение трафика и нагрузки на сервер помоему это не маленькое преимущество ...


А если не секрет, какие книги сейчас пишутся и готовятся к печати ?

   
 
 автор: GeorgeIV   (27.05.2008 в 10:21)   письмо автору
 
   для: Shey   (25.05.2008 в 17:59)
 

Используйте SMARTY шаблоны, это значительно ускоряет работу.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования