Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Движок сайта, что это такое? Как написать... 
:(
    Опции темы
PARROT
Дата 30.7.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Вот, вопрос назрел, еще один.
Было время, одна знакомая прислала мне письмо и сказала, что это движек сайта, что это удобно.
Что поисковые системы лучше видят такие сайты.
Как написать движок? Что туда должно входить? Где можно почитать об этом. Поиском пользовалась, но ничего не нашла. Спасибо!


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 30.7.2005, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Движок это единая программная часть, которая в зависимости от параметров подключает и работает с теми или иными модулями.
PM ICQ   Вверх
PARROT
Дата 30.7.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Mal Hack, можно узнать примерную структуру движка?



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 30.7.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(PARROT @ 30.7.2005, 18:50)
Mal Hack, можно узнать примерную структуру движка?

тут ты вольна сама придумывать.
Модульная структура это уже твое видение работы системы.
http://forum.vingrad.ru/index.php?showforum=189 - глянь
PM ICQ   Вверх
Наставник
Дата 30.7.2005, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: 4
Всего: 15



Очень просто


Создать главный файл под названием admin.php, и в него подключать доп. модули, которые нужны для конкретного сайта.
Допустим нужен модуль опрос.
просто в admin.php пишем в начале самого файла include "vote.php", в файле vote.php просто пишем код для голосования, и так со всеми остальными модулями. Если нужно отключить какой-то модуль, то просто комментируем нужный include и все.

Далее также необходим файл, который обеспечивает интерфейс с БД, для этого создаем что-то типа db_connect.php и подключаем его с помощью того же include в файл admin.php, за счет чего все остальные модули могут ичпользовать этот интерфейс для работы с БД.

Далее можно также сделать отделный файл, в котором будут схожие функции, тоже его в admin.php

В итоге получается ядро... с помощью которого управляем сайтом.

Теперь пишем файл под названием userfunc.php, который привязываем к главной странице сайта - index.php. В этом файле пишем, как будут отображаться конкретные страницы сайта... можно это реализовать, если исследовать переменные переданные по методу GET, что в большенстве CMS сейчас и используется.

Удачи.

Это сообщение отредактировал(а) Наставник - 30.7.2005, 18:10


--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
Vidocq
Дата 1.8.2005, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



PARROT
Насколько я понял, движок - это динамическая часть сайта. Другимим словами, есть дизайн (статическая часть) и есть динамическая составляющая, работающая посредством (к примеру) пхп-сценариев. Они как бы "на лету" формируют хтмл страницы (да ты и сама писала много такого) .
П.С. В целом, это довольно упрощённо


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
PARROT
Дата 1.8.2005, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



А есть какой-то минимум-максимум? Или обязательные файлы?
Если можно пример. smile
Мой сайт вроде как на движке, но мне кажется этот движок смешным. Слишком все просто.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 1.8.2005, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



PARROT минимум - минимум функционала, вложенноого тобой в движок. Максимум.... Всегда есть к чему стремиться.

PM ICQ   Вверх
PARROT
Дата 2.8.2005, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



А можно попросить примерную схему движка, в наборе фалов и что за что отвечает?
И зачем...
Допустим я впервые слышу что такое движок, помоим понятиям движек это то что крутиться не переставая...
Как заставить его крутиться?


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
ManiaK
Дата 2.8.2005, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Цитата(PARROT @ 2.8.2005, 11:26)
Допустим я впервые слышу что такое движок, помоим понятиям движек это то что крутиться не переставая...

smile Не совсем так. Движок - это то, что заставляет крутиться сайт. Проще говоря, это набор методов, которые позволяют брать от куда-то (из какого-либо хранилища) инфу, править её как необходимо и представлять пользователю в нужном виде.
PM MAIL WWW   Вверх
PARROT
Дата 2.8.2005, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Хорошо. Как написать этот самый движок?
1)...
2)...
3)...
smile
Если можно по пунктам. И желательно с объяснениями.



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
ManiaK
Дата 2.8.2005, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Чтобы что-то писать, нужно сначала знать, что тебе нужно. Для какого сайта тебе нужен движок?
PM MAIL WWW   Вверх
PARROT
Дата 2.8.2005, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Для моего рабочего http://www.avtodiesel.spb.ru
Как я могу знать что мне нужно, если я этого никогда не писала? smile


Это сообщение отредактировал(а) PARROT - 2.8.2005, 11:13


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
ManiaK
Дата 2.8.2005, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Цитата(PARROT @ 2.8.2005, 12:11)
Как я могу знать что мне нужно, если я этого никогда не писала?

Вспоминаю себя, когда пытался игры писать, знакомое ощущение smile Видишь, что все на движках делают, а для чего они вообще нужны - не понятно smile Сейчас объясню.

Итак, у тебя на сайте есть:
1. Информационные страницы (главная, о компании, странички о тракторах и т.д.).
2. "Бюро заказов".
3. Прайс лист.
4. Доска объявлений.
5. Ссылки.
6. Галерея.
7. "Вопросы-ответы".
8. Новости.

По мимо этого, я заметил, на сайте можно регистрироваться:

9. Картотека регистрированных пользователей (реестр).

Может что-то пропустил, не суть важно. Важно то, что для каждого из этих пунктов нужно сделать свой модуль. Причём часто делают модули, состоящие из двух половинок: одна часть читает/записывает информацию из/в Базы Данных, другая половинка берёт эту готовую информацию и отображает у пользователя призапросе. Также обычно делают нечто вроде диспетчера этих модулей. Вот:

index.php - главный, распределительный модуль. Загружает:
gui/content.php - модуль для отображения информационных страниц у пользователя. Использует в свою очередь:
drv/content.php - модуль для считывания этих страниц из БД.

gui/guestbook.php - модуль для отображения сообщений гостевой книги у пользователя, испольует:
drv/guestbook.php - модуль для считывания этих сообщений из БД.

Теперь мы, пользователь, направляем запрос серверу:
http://www.avtodiesel.spb.ru/index.php?Mod...Book&PostID=123
index.php смотрит на параметр Module и подключает нашу гостевую книгу (gui/guestbook.php), которая смотрит на параметр PostID, номер просматриваемого поста, и добывает с помощью модуля drv/guestbook.php этот пост, оформляет его содержание и выдаёт пользователю на экран. Фух, вроде не сбился smile...

Разбиение - чисто условное. Можно было бы вообще всё делать на одном модуле - информационных страницах, но, согласись, в гостевой книге и чаще эти страницы(посты) добавляются да и инфа там немного другая (дата постинга, логин и пр.).

ВОт, ещё более подробно позже чуть-чуть если надо.
PM MAIL WWW   Вверх
PARROT
Дата 2.8.2005, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Цитата

ВОт, ещё более подробно позже чуть-чуть если надо.

ManiaK, надо. Спасибо! Буду очень благодарна. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
ManiaK
Дата 2.8.2005, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



PARROT Я тогда сразу статейкой оформлю, завтра-послезавтра выложу.
PM MAIL WWW   Вверх
Mal Hack
Дата 2.8.2005, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Кхе-Кхе... Маньяк, не соглашусь с тобой, подход ИМХО не правильный.

1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п.
2. Разбиваем этот функционал на модули и ядро системы.
3. Писать надо на ООП все-таки ;) (лирическое отступление)
4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п.
5. Строим функциональную схему.
6. Строим Структурную схему.
7. Проектируем БД.
Пока ты не будешь 100% уверена в базе, не продмаешь ее головой писать нельзя.

Теперь пишем, начиная с админки.
Добавлено @ 13:10
ManiaK можешь не парится, есть целый ISO стандарт по проектированию smile
PM ICQ   Вверх
ManiaK
Дата 2.8.2005, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Mal Hack не понял, где у меня что-то, что противоречит твоим пунктам? Ты просто написал вообщем, а я чуть-чуть конкретней.
Добавлено @ 13:12
Цитата(Mal @ 2.8.2005, 14:09)
можешь не парится, есть целый ISO стандарт по проектированию

Ссылочку не подкинешь? smile
PM MAIL WWW   Вверх
Mal Hack
Дата 2.8.2005, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(ManiaK @ 2.8.2005, 14:12)
Ты просто написал вообщем, а я чуть-чуть конкретней.

А имхо, как раз наоборот smile
У тебя написано со стороны порльзователя, как он будет видеть, а работать надо как администратор...

Цитата(ManiaK @ 2.8.2005, 14:12)
Ссылочку не подкинешь? smile

Платный, английский 150 $...
Обещали мне на халяву, да так пока никак smile
PM ICQ   Вверх
ManiaK
Дата 2.8.2005, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Цитата(Mal @ 2.8.2005, 14:20)
Платный, английский 150 $...

Буржуи блин... smile

Цитата(Mal @ 2.8.2005, 14:20)
У тебя написано со стороны порльзователя, как он будет видеть, а работать надо как администратор...

Во! Именно так я и писал! Почему? Потому что так, как мне кажется, проще понять что вообще такое движок.
PM MAIL WWW   Вверх
Mal Hack
Дата 2.8.2005, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



ManiaK когда ты будешь движок для игры (обычной) писать, ты будешь думаьт как там фигуры выглядеть будут или как они двигаться должны?
PM ICQ   Вверх
ManiaK
Дата 2.8.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Mal Hack новичёк не пишет сразу движок, для этого ему сначала понять что вообще это такое smile
PM MAIL WWW   Вверх
ManiaK
Дата 2.8.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Цитата(Mal @ 2.8.2005, 14:09)
можешь не парится, есть целый ISO стандарт по проектированию


Цитата(Mal @ 2.8.2005, 14:20)
Платный, английский 150 $...
Обещали мне на халяву, да так пока никак


Дык я не понял, писать дальше али как?..
PM MAIL WWW   Вверх
PARROT
Дата 2.8.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



ManiaK, конечно писать smile
Много вариантов не помешает. Пока что я только еще больше запуталась. Куда и чего подключать надо... зачем smile
При чем, чем будет больше вариантов, тем лучше. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 2.8.2005, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



PARROT рано еще подключать, сначала определись что тебе нужно:

Цитата(Mal @ 2.8.2005, 14:09)
1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п.
2. Разбиваем этот функционал на модули и ядро системы.
3. Писать надо на ООП все-таки ;) (лирическое отступление)
4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п.
5. Строим функциональную схему.
6. Строим Структурную схему.
7. Проектируем БД.
Пока ты не будешь 100% уверена в базе, не продмаешь ее головой писать нельзя.


PM ICQ   Вверх
PARROT
Дата 2.8.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Ничего что я сейчас буду задавать глупые вопросы:
1) Что такое функционал?



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 2.8.2005, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(PARROT @ 2.8.2005, 18:54)
1) Что такое функционал?

То, что тебе надо от движка:

Цитата(Mal @ 2.8.2005, 14:09)
т.е. Добавление, удаление, редактирование категорий и т.п.


PM ICQ   Вверх
ManiaK
Дата 10.8.2005, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



WEB-ДВИЖОК.

В данной статье я бы хотел рассказать, что скрывается под загадочным названием "Web-движок" и немного осветить вопрос построения этих самых движков. Несмотря на то, что я не буду делать упор на реализации даже тестового проекта, некоторый набор базовых знаний у читателя должен присутствовать. Хотя, конечно, главное - это желание понять принцип, а не содрать готовое решение.

Что заставляет человека двигаться, не стоять на месте, изучать новые области жизни, развиваться? Необходимость. Вы мне, конечно, скажете, что иногда нужно делать совершенно бессмысленные действия, только для того, чтобы что-то делать. На это я вам отвечу: раз вы их делаете, они вам необходимы. Для чего это? а для того, чтобы заставить задуматься тех людей, которые хотят "сделать движок", но не знают для чего он нужен. Да, он есть почти на каждом сайте (а если брать более широкое понятие - на всех без исключения сайтах), но это ещё не повод бездумно следовать за стадом. Нужно сначала понять, что из себя этот движок представляет и для чего он нужен остальным, а уж потом решать нужен ли он нам.

Знаете в чём самая главная хитрость в жизни? чтобы наиболее эффективно развиваться, нужно в любой момент времени знать конечную точку развития (цель). Иначе: всему должна быть причина. Поэтому сначала определимся: какова наша цель? - сделать сайт (заметьте - просто сайт). Далее: для чего нам нужен этот сайт? - (пример) нам нужно сделать web-представительство неинформационной фирмы, чтобы привлечь в неё дополнительных клиентов. Неинформационную фирму в качестве примера я выбрал потому, что информационные обычно значительно сложнее и для примера новичкам не годятся. Допустим мы работаем в заборостроительной фирме; шеф дал задание: "создать сайт". Встаём мысленно на место разработчика сайта и вперёд!..

Что мы хотим дать пользователям? какую информацию мы им предоставим, какие услуги? Во-первых, не плохо было бы рассказать пользователям о фирме: чем она занимается, в каком году основана, кем и пр. пр. пр. Оббуквиваем страницу как "О фирме" - один пунктик есть, ставь птичку...

Необходимо также сообщать пользователям об нововведениях в компании, новых услугах, тарифах и пр. Ага - лента новостей - ещё одна птичка.

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

И последнее - обратная связь "потребитель-производитель". Для этого можно просто создать страничку со списком почтовых адресов (как обычных, так и электронных), но лучше помимо этого дать возможность моментально размещать сообщения прямо на сайте - эдакая электронная книжа жалоб и предложений.

Итого - 4 пункта, 4 независимых модуля. Уже сейчас можно создать мысленно/реально каталог с проектом и в нём - 4 папочки. Теперь с каждым модулем отдельно.

а) Страница "О фирме". Если страницу не нужно часто обновлять, что можно её сделать статической (простой HTML-файл). Но в некоторых случаях этого мало - иногда необходимо быстро и довольно регулярно менять информацию на этой странице. Вот у нас уже определились две функции: изменение текста страницы "О фирме" и чтение этого текста. Возникает вопрос: где хранить этот текст? И вот тут пришло время познакомиться со способами хранения информации.

Способ 1. Хранить в файле прямо на сайте. Тогда при открытии пользователем страницы мы читаем этот файл и вставляем в нужное место шаблона. Да, про шаблоны два слова: оформление всех страниц сайта принято делать схожим, чтобы не возникало ощущения, что мы ходим по разным сайтам. Сразу навязывается вопрос: а можно ли отделить оформление от содержимого; оформление сделать одним для всего сайта, а содержимое просто вставлять в этот оформление (в шаблон). Можно! и даже просто! для этого нужно лишь знание одного из языков вроде PHP, Java, Perl и т.п. Тогда мы делаем, к примеру, HTML шаблон для всего сайта, записываем его на сайте как main.tpl, а всё содержание храним где-нибудь в другом файле (ах). В этом шаблоне помечаем специальными словами места, куда надо вставлять содержание (контент) и при открытии пользователем страницы просто заменяем эти спец. слова на нужные данные. Так вот, сохраняем, к примеру, текст страницы "О фирме" в файле info.txt. Дальше пишем скрипт в котором определяем два действия над этим файлом: прочитать из него данные и записать в него данные. Всё, при открытии указываем на чтение или на запись мы открываем (по умолчанию - на чтение, чтобы простому пользователю было проще) и первый модуль готов. Это один способ хранения контента, но не единственный.

Способ 2. Второй способ заключается в использовании Баз Данных (БД). Данный способ лучше в том случае, если вы используете большой объём информации - операции с базами данных происходят быстрее. Способ от первого отличается только тем, что вам не нужно создавать файл на сайте, вы просто направляете специальные запросы к БД и получаете/кладёте от туда/туда данные.

б) С каталогом сложнее. Особенно если использовать первый способ хранения информации - ведь тут надо будет добавлять новые записи (товары) в список, а потому либо придётся создавать какой-то свой формат хранения списка товаров в одном файле, либо для каждого товара выделять свой файл. И то и другое муторно, а потому рассматривать я этот способ не буду. Перейдём сразу ко второму.

При использовании БД каталог организовать значительно проще. Мы лишь создаём таблицу и определяем поля, которые будут описывать товар (наименование, код, описание, цена, есть/нет в наличии на складе и пр.). Далее мы просто добавляем/читаем/изменяем/удаляем записи в этой таблице. Кстати, Excel - тоже БД. Представьте, что запись в какой-нибудь MySQL (одна из самых популярных БД) - это строка в экселе и всё станет понятно. Вот мы и получили 4 действия над каталогом. К ним ещё можно добавить поиск по каталогу при заданном фильтре - при большом ассортименте товаров это бывает необходимо. Точно также нам не нужно уже писать интерфейс на HTML, мы просто загружаем же готовый шаблон main.tpl и отрисовываем всё в нём.

в), г) Аналогично определяем, что нам нужно для новостей (добавление/изменение/удаление новости, чтение) и гостевой книги (добавление/изменение/удаление/чтение сообщений).

В итоге у нас получилось нечто вроде такой архитектуры:
Цитата

/site/ - корневой каталог
  /site/index/ - модуль главной страницы ("О фирме")
      /site/index/view.php - скрипт для просмотра содержимого
      /site/index/admin.php - скрипт для редактирования содержимого
  /site/news/ - новостной модуль
      /site/news/view.php
      /site/news/admin.php
  /site/catalog/ - модуль каталога товаров
      /site/catalog/view.php
      /site/catalog/admin.php
  /site/gb/ - модуль гостевой книги
      /site/catalog/view.php
      /site/gb/admin.php
  /site/sup/main.tpl - шаблон интерфейса
  /size/index.php - через этот скрипт загружаются все модули, к нему обращается пользователь
  /size/admin.php - тоже самое, но для администрирования


Всё это, разумеется, только пример. Лично я считаю такую организацию достаточно удобной, но это не значит, что всё, что сделано не так - не движок. Движок - это программа (скрипт), которая связывает пользователя сайта с информацией. Можно весь движок написать в одном файле и он будет в сто раз круче и навороченей этого - это тоже будет движок, но как искать ошибки в таком многокилобайтном файле и как добавлять в него новые функции?..
PM MAIL WWW   Вверх
Mal Hack
Дата 10.8.2005, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(ManiaK @ 10.8.2005, 16:31)
В итоге у нас получилось нечто вроде такой архитектуры:

smile Без обид, ничего удобного в этом нет. Уж как минимум то, что все админские скрипты в КМСах всегда выносятся в отдельные каталоги.

Цитата(ManiaK @ 10.8.2005, 16:31)
Поэтому сначала определимся: какова наша цель? - сделать сайт

CMS создается для автоматизации ведения сайта, а не для того чтобы его сделать ;)

И потом. Ты рссматриваешь вопрос на конкретных модулях, а так делать нельзя яркий пример этот форум. Тут порядка 14-15 модулей.
PM ICQ   Вверх
ManiaK
Дата 10.8.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Mal Hack Не одна критика, предложения smile
PM MAIL WWW   Вверх
PARROT
Дата 10.8.2005, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Любая информация это уже плюс.
Mal Hack, ждем Ваших предложений, пожеланий.
Я хочу написать движек для своего сайта, что мне делать?
По пунктам. Как правильно. smile

Это сообщение отредактировал(а) PARROT - 10.8.2005, 16:01


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 10.8.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



PM ICQ   Вверх
ManiaK
Дата 10.8.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Mal Hack Ты критикуешь способ обучения и отправляешь на уже разрабатываемый проект. Не логично... smile
PM MAIL WWW   Вверх
Mal Hack
Дата 10.8.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



PARROT
Я уже выше писал:
Цитата(Mal @ 2.8.2005, 14:09)
1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п.
2. Разбиваем этот функционал на модули и ядро системы.
3. Писать надо на ООП все-таки ;) (лирическое отступление)
4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п.
5. Строим функциональную схему.
6. Строим Структурную схему.
7. Проектируем БД.
Пока ты не будешь 100% уверена в базе, не продмаешь ее головой писать нельзя.

Спрашивай что не понятно или хочешь расширить, объясню. Сразу писать статью не хочу, т.к. это будет навязыванием своего видения.

Цитата(ManiaK @ 10.8.2005, 17:08)
Mal Hack Ты критикуешь способ обучения и отправляешь на уже разрабатываемый проект. Не логично... smile

Там пока ничего по работе - нет, в основном только проектирование, т.е. теория.

PM ICQ   Вверх
PARROT
Дата 10.8.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Я посмотрела, наверно это будет клево, но опять не понятно, не доконца.
Я конечно почитаю, попытаюсь вникнуть.

Скорее всего нужен план действий, поступательный.
ManiaK, если Вы уделите мне немного внимания, я буду очень Вам благодарна, желательно в этом топике. smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 10.8.2005, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(PARROT @ 10.8.2005, 17:15)
Я посмотрела, наверно это будет клево, но опять не понятно, не доконца.

Что именно?

Цитата(PARROT @ 10.8.2005, 17:15)
Скорее всего нужен план действий, поступательный.

А чем я тебе не поступательный вариант описал? то что там нет пунктов: "Кодим одно", "кодим второе", так это следствие того что сам процесс кодинга - минимален, если задача спроекирована грамотно ;)
PM ICQ   Вверх
PARROT
Дата 10.8.2005, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Mal Hack, есть план, но он не совсем понятен, пока для меня, не совсем на русском языке.
Может более поподробнее, чуть...
Цитата

1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п.
2. Разбиваем этот функционал на модули и ядро системы.
3. Писать надо на ООП все-таки ;) (лирическое отступление)
4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п.
5. Строим функциональную схему.
6. Строим Структурную схему.
7. Проектируем БД.
Пока ты не будешь 100% уверена в базе, не продмаешь ее головой писать нельзя.

Почему данный вопрос возник: У меня ощущение, что сейчас на моем сайте полный бардак, начиная от базы и далее...
Я хочу исправить ситуацию.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
ManiaK
Дата 10.8.2005, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 1
Всего: 29



Цитата(PARROT @ 10.8.2005, 17:37)
Почему данный вопрос возник: У меня ощущение, что сейчас на моем сайте полный бардак, начиная от базы и далее...
Я хочу исправить ситуацию.

Тут максимум нужно переустановить/заменить на уже готовый. Разработка нового - довольно серьёзная задача в особенности для новичка. Я попробовал связаться по Асе, но ответа не последовало.
PM MAIL WWW   Вверх
Mal Hack
Дата 10.8.2005, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Окей. Чуток распишу.
1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п.
Тут ты должна приблизительно прикинуть какие у тебя модули и их возможности будут сразу, а какие могут появиться.
К примеру Изначально просто информативный ресурс, а потом добавится небольшой магазинчик.
Определилась. Теперь все это расписываешь, должно быть то-то и то-то. И прикидываешь что, к примеру - должны быть категории информации. Замечательно, значит как следствие функцинала - Добавление, Удаление (полное или логическое), Редактирование.

2. Разбиваем этот функционал на модули и ядро системы.
Теперь все это разбиваешь на куски, мол это относится к модулю информации, а это к модулю гостевой книги, а это к модулю списка изделий. Отдельно прорабатываешь функции ядра, т.е. тех функций которые должны связывать все воедино. Как правило это: интерфейс для работы с БД, шаблоизатор, функции проверка общих параметров, авторизация пользователей. Т.е. то, что не завязвно на каком-то конкретном модуле, а может использоваться нескольким модулями как вспомогательные функции, ну или то, что необходимо для работы системы в независимости от модулей.

4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п.
Тут в принципе понятно, только мы уже на бумажке четко расписываем какие у нас будут группы, и права.

5. Строим функциональную схему.
Это тебе пожет визуально понять. Что и как.
Схема показывает небольшой алгоритм действий. (Ф.JPG)

6. Строим Структурную схему.
Показывает уже с точки зрения файлов, что от чего зависит. (С.JPG)

7. Проектируем БД.
Когда ты уже поняла что ты хочешь и как это должно работать ты начинаешь делать базу, начиная с таблиц, которые необходимы для ядра системы, к примеру таблицы пользователей, прав доступа, списка модулей.
Это дело тяжелое. Поищи в интете "Нормализация Баз Данных", "1,2,3-я нормальная форма".

В архиве приложил пример картинок со схемами. В принципе этоиз моего ДП, который я писал не так давно. Сейчас я пишу скрипт немножко по другому, но суть взаимодействия - таже.

ЗЫ: Что касается структуры каталогов... Я не хочу навязывать, но, оптимальный вариант:
/skin
/cfg
/lang
/skin
/ext - модули
/classes - классы , к примеру посылки почты.
index.php
kernel.php - ядро.
Ну еще html ные.. Тут можно все в одно загнать, можн в разные класть.
/css
/js
Еще иногда бывает нужно хранить картинки к постам
/data/images/ тут дальшеуказывается раздел и т.п. Раздел по ID

В архиве схема. ПЗ полностью кидать смысла нет, думаю вряд ли поймешь, хотя оно тебе может помочь.

Присоединённый файл ( Кол-во скачиваний: 151 )
Присоединённый файл  _____.zip 53,00 Kb
PM ICQ   Вверх
Kurt
Дата 15.9.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: нет
Всего: 36



Также интересуюсь вопросом "что такое web-движок".
Никак не могу понять, зачем весь сайт "делается через index.php"?
То есть все URL представляют собой строку вида
index.php?part=123&id=678 (например, это гостевая)
Почему не написать прямо
guestbook.php?id=678
?


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
bilbobagginz
Дата 16.9.2005, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



насчёт движка.
сегодня большинство сайтов - динамические. т.е основанные не базе данных, в которой хранят и стиль и картинки и всё остальное.
обычно та часть которая не зависит от информации сайта и ею манипулирующая наз-ся движком. очень советую посмотреть на зоуп... (или в народе жоп) - zope.org
этот зоп - как раз и есть движок в полном смысле этого слова.
по-моему сейчас в принципе уже практическая нужда писать движок с нуля - пропала.
есть зоп, есть плонь ( plone.org ), берём фотошоп, фотошопим, выбираем компоненты, раскладываем их, и имеем прекрасный динамический сайт.

насчёт пхп, Курт:
2 нормальные причины на это:
2.1. когда ты работаешь в интернете - обрабатываешь строки, от тебя не зависящие. потому надо и шибко сильно проверять. намного легче анализировать цифры и &,= вместо всего алфавита.
2.2.можно сказать - скрытие информации.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
CyClon
Дата 8.12.2005, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Обязательно интегрировать с форумом. ИМХО н 80% сайтах есть форум, а систему авторизации лучше IPB 2.1.3 зер не напишет рядовой, как с точки зрения безопасности, так и функционала...


--------------------
user posted image
PM   Вверх
Enya
Дата 6.1.2006, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Цитата(Mal Hack @ 10.8.2005, 16:58)
Окей. Чуток распишу.
1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п.
Тут ты должна приблизительно прикинуть какие у тебя модули и их возможности будут сразу, а какие могут появиться.
К примеру  Изначально просто информативный ресурс, а  потом добавится небольшой магазинчик.
Определилась. Теперь все это расписываешь, должно быть то-то и то-то. И прикидываешь что, к примеру - должны быть категории информации. Замечательно, значит как следствие функцинала - Добавление, Удаление (полное или логическое), Редактирование.

2. Разбиваем этот функционал на модули и ядро системы.
Теперь все это разбиваешь на куски, мол это относится к модулю информации, а это к модулю гостевой книги, а это к модулю списка изделий. Отдельно прорабатываешь функции ядра, т.е. тех функций которые  должны связывать все воедино. Как правило это: интерфейс для работы с БД, шаблоизатор,  функции проверка общих параметров, авторизация пользователей. Т.е. то, что не завязвно на каком-то конкретном модуле, а может использоваться нескольким модулями как вспомогательные функции, ну или то, что необходимо для работы системы в независимости от модулей.

4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п.
Тут в принципе понятно, только мы уже на бумажке  четко расписываем какие у нас будут группы, и права.

5. Строим функциональную схему.
Это тебе пожет визуально понять. Что и как.
Схема показывает небольшой алгоритм действий. (Ф.JPG)

6. Строим Структурную схему.
Показывает уже с точки зрения файлов, что от чего зависит. (С.JPG)

7. Проектируем БД.
Когда ты уже поняла что ты хочешь и как это должно работать ты начинаешь делать базу, начиная с таблиц, которые необходимы для ядра системы, к примеру таблицы пользователей, прав доступа, списка модулей.
Это дело тяжелое. Поищи в интете  "Нормализация Баз Данных", "1,2,3-я нормальная форма".

В архиве приложил пример картинок со схемами. В принципе этоиз моего ДП, который я писал не так давно. Сейчас я пишу скрипт немножко по другому, но суть взаимодействия - таже.

ЗЫ: Что касается структуры каталогов... Я не хочу навязывать, но, оптимальный вариант:
/skin
/cfg
/lang
/skin
/ext - модули
/classes - классы , к примеру посылки почты.
index.php
kernel.php - ядро.
Ну еще html ные.. Тут можно все в одно загнать, можн в разные класть.
/css
/js
Еще иногда бывает нужно хранить картинки к постам
/data/images/ тут дальшеуказывается раздел и т.п. Раздел по ID

В архиве схема. ПЗ полностью кидать смысла нет, думаю вряд ли поймешь, хотя оно тебе может помочь.

Господа, а нельзя ли написать самый минимальный движок сайта. Как расписан в этой теме?
А дальше каждый разработает сам для себя.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 6.1.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Цитата(Enya @ 6.1.2006, 21:57 Найти цитируемый пост)

Господа, а нельзя ли написать самый минимальный движок сайта. Как расписан в этой теме?
А дальше каждый разработает сам для себя.

Нет. Каждый должен писать сам. Да и теория носит лишь общие рекоммендации.

PM ICQ   Вверх
Enya
Дата 15.1.2006, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 386
Регистрация: 5.10.2005

Репутация: нет
Всего: нет



Mal Hack, перечитала всего и всякого, но не могу въехать что должно быть в файле session.php?
Вот config.php понятно, отвечает за соединение с БД.


--------------------

Утсанвлен Денвер
1. PHP Version 5.1.6
2. MySQL 5.0.18-max
3. phpMyAdmin 2.6.1
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 15.1.2006, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 1
Всего: 261



Enya то, как ты будешь проектировать свой движок зависит лишь от тебя. Что тебе нужн, то туда и пихай. Как тебе удобно, то туда и пихай, поэтому, ответа на вопрос: "что должно быть в файле session.php?" тебе никто не даст.
PM ICQ   Вверх
Kefir
Дата 16.1.2006, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: нет
Всего: 87



Прав Мал Хак. Кто как хочет, тот так и пишет. Этим мне и нравится заниматься программированием в целом и ПХП в частности. Мне вот, например, недавно понадобился движок. Я решил, что он будет самопальный, т.к. делать сайты всем и вся на чужих системах не очень-то солидно. Да и к тому же, основная часть работы уже проделана и осталось только подшпаклевать кое-где.
А по теме, я делал так:
1. Админка состоит из класса admin, который, собственно, является главным заведующим администраторской. При необходимости данный класс вызывает/подключает другие классы, уже более специализированные, такие как file_manager (загрузка/удаление файлов), gallery_manager (создание/редактирование/удаление геллерей), page_manager (создание/редактирование/удаление новых разделов/страниц) и т.д. Создание админки, пожалуй, было самым сложным.
2. Внешняя часть по логике мало отличается от админки, т.к. тут тоже есть начальник - public_content, который отвечает за связывание воедино всех страниц сайта и показ их юзеру. Для различных типов страниц, естесственно, существуют свои обработчики.

В принципе, у меня получилась довольно небольшая система администрирования сайта, весящая (сейчас...) чуть меньше 40 килобайт (ессесно, я считаю без дизайнерских пампушек! если считать с дизайном админки, получается 170 килобайт).

Собственно, целевая аудитория моего ЦМС - сайты на 15-20 страниц с не очень сложным контентом.
PM MAIL WWW Skype   Вверх
IZ@TOP
Дата 16.1.2006, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Согласен с Mal-Hack'om. Сам такой файл не обязателен, при желании можно все в один пихнуть. Дело вкуса, опыта и стремлений smile .


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
sugee
Дата 20.1.2006, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: нет
Всего: 4



Цитата(ManiaK @ 10.8.2005, 15:31 Найти цитируемый пост)

Тогда мы делаем, к примеру, HTML шаблон для всего сайта, записываем его на сайте как main.tpl, а всё содержание храним где-нибудь в другом файле (ах). В этом шаблоне помечаем специальными словами места, куда надо вставлять содержание (контент) и при открытии пользователем страницы просто заменяем эти спец. слова на нужные данные.

Вот об этом можно чуть подробнее?! Что это за спец слова?
Я просто плохо представляю себе что такое tpl-файлы.
Если они позволяют включать в html-ный код код PHP, то всё ясно.
Добавлено @ 13:21
И ещё... В том чтобы сохранять html-код в файлах с расширением .tpl
вместо .html или .htm(или .php коли уж мы собираемся что-то в них включать) есть какой-то практический смысл? Какие это дает преимущества?
PM MAIL   Вверх
Guedda
Дата 20.1.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: нет
Всего: 78



tpl-файлы - это так называемые шаблоны.
Вот небольшой примерчик:

tpl_1.tpl
Код

<html>
<head>
<title>Простой пример "Hello World!"</title>
</head>
<body>
<font face="Verdana, Arial" size="+2" color=#000000>


Вот второй файл tpl

tpl_2.tpl
Код

</font>
</body>
</html>

Теперь сам код php:

index.php
Код

$tpl_file=file("tpl_1.tpl");
for($i=0;$i<sizeof($tpl_file);$i++)
{
  echo $tpl_file[$i];
}
echo "Hello World!";
$tpl_file=file("tpl_2.tpl");
for($i=0;$i<sizeof($tpl_file);$i++)
{
  echo $tpl_file[$i];
}

Короче, это файлы шаблоны.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Kefir
Дата 21.1.2006, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: нет
Всего: 87



sugee, говоря простым языком tpl файл - это то, где ты хранишь свой ХТМЛ. Самым простым примером можно считать следующее:
naidis.tpl
Код

<html>
<head>
<title>
{{!:TITLE:!}}
</title>
</head>
<body>
{{!:BODY:!}}
</body>
</html>

В скрипте:
Код

$tpl = file_get_contents("index.tpl");
$tpl = str_replace($search, $replace, $tpl);
echo $tpl;

Это по крайней мере то, что делаю я smile))
Добавлено @ 00:58
* забыл - $search = array("{{!:TITLE:!}}", "{{!:BODY:!}}");, а $replace содержит само содержание страниц.
PM MAIL WWW Skype   Вверх
sugee
Дата 21.1.2006, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: нет
Всего: 4



Это всё понятно, ещё раз цитирую то место из статьи ManiaK
которое мне не совсем ясно
Цитата(ManiaK @ 10.8.2005, 15:31 Найти цитируемый пост)

В этом шаблоне помечаем специальными словами места, куда надо вставлять содержание (контент) и при открытии пользователем страницы просто заменяем эти спец. слова на нужные данные.

То есть как я понял создается пустой шаблон страницы без контента,
а контент туда включается динамически. Как это делается в случае с tpl-файлами?
Guedda, ты показал как прочитать файл tpl в скрипте PHP.
Меня же интересует обратная ситуация: включение динамически сформированного(извлеченного) контента в статический шаблон.
Вот у меня есть пустой шаблон, и некая переменная пхп,
скажем $content, в которой содержится строка извлеченная из базы данных или файла. Можно ли вставить текст который содержит эта переменная в tpl файл?



PM MAIL   Вверх
Kefir
Дата 21.1.2006, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: нет
Всего: 87



ЭЭЭ... ну, собственно я вроде это и пытался объяснить smile))
PM MAIL WWW Skype   Вверх
sugee
Дата 21.1.2006, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: нет
Всего: 4



Kefir, я просто запостил свой вопрос до того как прочитал твой ответ! smile Теперь всё понятно.
PM MAIL   Вверх
Kefir
Дата 21.1.2006, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: нет
Всего: 87



%) бывает. удачи в разработке! smile
PM MAIL WWW Skype   Вверх
Kludge
Дата 23.1.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 11.1.2006

Репутация: нет
Всего: нет



все время хранил куски щаблона в *.txt или *.html файлах. по сути не вижу особой разницы в *.tpl файлах.

где преимущество ?
PM MAIL ICQ   Вверх
IZ@TOP
Дата 23.1.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Kludge, tpl - Template. Сразу знаешь что это не просто какая-та страничка. Хотя если ты хранишь все шаблоны в одной директории, то можешь давать расширение какое хочешь. Дело вкуса.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
artfabrique
Дата 26.2.2007, 04:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Дизайн
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 5.2.2006
Где: СПб

Репутация: нет
Всего: 2



не забывайте писать .htaccess для папок с шаблонами а то .tpl не причислен к исполняемым файлам поэтому в лёгкую скачиваться будет я лично использую .tpl.php
--------------------
Я спасу мир! © ЙУХ 0000г.
PM MAIL WWW ICQ   Вверх
boombick
Дата 26.2.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.4.2005
Где: Moscow, Russia

Репутация: нет
Всего: 9



Такой большой тред, а даже никто и не обмолвился об MVC (в общих чертах упоминалось, но конкретики не было =)). Имхо, сначала нужно ознакомится с этим паттерном, потом на базе его строить движок
Азы неплохо расписаны у Котерова "PHP5 - Профессиональное программирование" (http://www.books.ru/shop/books/233988)


--------------------
Все вышесказанное - имхо, и на истину в последней инстанции не претендует
------
UNIX and other
PM MAIL WWW ICQ   Вверх
Закрытая темаСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Избранное | Следующая тема »


 




[ Время генерации скрипта: 0.5600 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.