|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
|
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Вот, вопрос назрел, еще один.
Было время, одна знакомая прислала мне письмо и сказала, что это движек сайта, что это удобно. Что поисковые системы лучше видят такие сайты. Как написать движок? Что туда должно входить? Где можно почитать об этом. Поиском пользовалась, но ничего не нашла. Спасибо! -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Движок это единая программная часть, которая в зависимости от параметров подключает и работает с теми или иными модулями.
|
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Mal Hack, можно узнать примерную структуру движка?
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
тут ты вольна сама придумывать. Модульная структура это уже твое видение работы системы. http://forum.vingrad.ru/index.php?showforum=189 - глянь |
|||
|
||||
Наставник |
|
|||
Опытный Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
Vidocq |
|
|||
Опытный Профиль Группа: Участник Сообщений: 431 Регистрация: 15.12.2004 Где: Запорожье, Украин а Репутация: нет Всего: 7 |
PARROT
Насколько я понял, движок - это динамическая часть сайта. Другимим словами, есть дизайн (статическая часть) и есть динамическая составляющая, работающая посредством (к примеру) пхп-сценариев. Они как бы "на лету" формируют хтмл страницы (да ты и сама писала много такого) . П.С. В целом, это довольно упрощённо -------------------- Всё течёт © |
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
А есть какой-то минимум-максимум? Или обязательные файлы?
Если можно пример. Мой сайт вроде как на движке, но мне кажется этот движок смешным. Слишком все просто. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
PARROT минимум - минимум функционала, вложенноого тобой в движок. Максимум.... Всегда есть к чему стремиться.
|
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
А можно попросить примерную схему движка, в наборе фалов и что за что отвечает?
И зачем... Допустим я впервые слышу что такое движок, помоим понятиям движек это то что крутиться не переставая... Как заставить его крутиться? -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Не совсем так. Движок - это то, что заставляет крутиться сайт. Проще говоря, это набор методов, которые позволяют брать от куда-то (из какого-либо хранилища) инфу, править её как необходимо и представлять пользователю в нужном виде. |
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Хорошо. Как написать этот самый движок?
1)... 2)... 3)... Если можно по пунктам. И желательно с объяснениями. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Чтобы что-то писать, нужно сначала знать, что тебе нужно. Для какого сайта тебе нужен движок?
|
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Для моего рабочего http://www.avtodiesel.spb.ru
Как я могу знать что мне нужно, если я этого никогда не писала? Это сообщение отредактировал(а) PARROT - 2.8.2005, 11:13 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Вспоминаю себя, когда пытался игры писать, знакомое ощущение Видишь, что все на движках делают, а для чего они вообще нужны - не понятно Сейчас объясню. Итак, у тебя на сайте есть: 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 этот пост, оформляет его содержание и выдаёт пользователю на экран. Фух, вроде не сбился ... Разбиение - чисто условное. Можно было бы вообще всё делать на одном модуле - информационных страницах, но, согласись, в гостевой книге и чаще эти страницы(посты) добавляются да и инфа там немного другая (дата постинга, логин и пр.). ВОт, ещё более подробно позже чуть-чуть если надо. |
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
ManiaK, надо. Спасибо! Буду очень благодарна. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
PARROT Я тогда сразу статейкой оформлю, завтра-послезавтра выложу.
|
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Кхе-Кхе... Маньяк, не соглашусь с тобой, подход ИМХО не правильный.
1. Надо определиться с функционалом, т.е. Добавление, удаление, редактирование категорий и т.п. 2. Разбиваем этот функционал на модули и ядро системы. 3. Писать надо на ООП все-таки ;) (лирическое отступление) 4. Продумываем, нужно ли нам разграничение пользователей в клиентской части или админке. Если да, то описываем для чего гнужны права и т.п. 5. Строим функциональную схему. 6. Строим Структурную схему. 7. Проектируем БД. Пока ты не будешь 100% уверена в базе, не продмаешь ее головой писать нельзя. Теперь пишем, начиная с админки. Добавлено @ 13:10 ManiaK можешь не парится, есть целый ISO стандарт по проектированию |
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Mal Hack не понял, где у меня что-то, что противоречит твоим пунктам? Ты просто написал вообщем, а я чуть-чуть конкретней.
Добавлено @ 13:12
Ссылочку не подкинешь? |
|||
|
||||
Mal Hack |
|
||||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
А имхо, как раз наоборот У тебя написано со стороны порльзователя, как он будет видеть, а работать надо как администратор...
Платный, английский 150 $... Обещали мне на халяву, да так пока никак |
||||
|
|||||
ManiaK |
|
||||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Буржуи блин...
Во! Именно так я и писал! Почему? Потому что так, как мне кажется, проще понять что вообще такое движок. |
||||
|
|||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
ManiaK когда ты будешь движок для игры (обычной) писать, ты будешь думаьт как там фигуры выглядеть будут или как они двигаться должны?
|
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Mal Hack новичёк не пишет сразу движок, для этого ему сначала понять что вообще это такое
|
|||
|
||||
ManiaK |
|
||||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Дык я не понял, писать дальше али как?.. |
||||
|
|||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
ManiaK, конечно писать
Много вариантов не помешает. Пока что я только еще больше запуталась. Куда и чего подключать надо... зачем При чем, чем будет больше вариантов, тем лучше. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
PARROT рано еще подключать, сначала определись что тебе нужно:
|
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Ничего что я сейчас буду задавать глупые вопросы:
1) Что такое функционал? -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
||||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
То, что тебе надо от движка:
|
||||
|
|||||
ManiaK |
|
|||
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 и отрисовываем всё в нём. в), г) Аналогично определяем, что нам нужно для новостей (добавление/изменение/удаление новости, чтение) и гостевой книги (добавление/изменение/удаление/чтение сообщений). В итоге у нас получилось нечто вроде такой архитектуры:
Всё это, разумеется, только пример. Лично я считаю такую организацию достаточно удобной, но это не значит, что всё, что сделано не так - не движок. Движок - это программа (скрипт), которая связывает пользователя сайта с информацией. Можно весь движок написать в одном файле и он будет в сто раз круче и навороченей этого - это тоже будет движок, но как искать ошибки в таком многокилобайтном файле и как добавлять в него новые функции?.. |
|||
|
||||
Mal Hack |
|
||||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Без обид, ничего удобного в этом нет. Уж как минимум то, что все админские скрипты в КМСах всегда выносятся в отдельные каталоги.
CMS создается для автоматизации ведения сайта, а не для того чтобы его сделать ;) И потом. Ты рссматриваешь вопрос на конкретных модулях, а так делать нельзя яркий пример этот форум. Тут порядка 14-15 модулей. |
||||
|
|||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Mal Hack Не одна критика, предложения
|
|||
|
||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Любая информация это уже плюс.
Mal Hack, ждем Ваших предложений, пожеланий. Я хочу написать движек для своего сайта, что мне делать? По пунктам. Как правильно. Это сообщение отредактировал(а) PARROT - 10.8.2005, 16:01 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
||||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Mal Hack Ты критикуешь способ обучения и отправляешь на уже разрабатываемый проект. Не логично...
|
|||
|
||||
Mal Hack |
|
||||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
PARROT
Я уже выше писал:
Спрашивай что не понятно или хочешь расширить, объясню. Сразу писать статью не хочу, т.к. это будет навязыванием своего видения.
Там пока ничего по работе - нет, в основном только проектирование, т.е. теория. |
||||
|
|||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Я посмотрела, наверно это будет клево, но опять не понятно, не доконца.
Я конечно почитаю, попытаюсь вникнуть. Скорее всего нужен план действий, поступательный. ManiaK, если Вы уделите мне немного внимания, я буду очень Вам благодарна, желательно в этом топике. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
||||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Что именно?
А чем я тебе не поступательный вариант описал? то что там нет пунктов: "Кодим одно", "кодим второе", так это следствие того что сам процесс кодинга - минимален, если задача спроекирована грамотно ;) |
||||
|
|||||
PARROT |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Mal Hack, есть план, но он не совсем понятен, пока для меня, не совсем на русском языке.
Может более поподробнее, чуть...
Почему данный вопрос возник: У меня ощущение, что сейчас на моем сайте полный бардак, начиная от базы и далее... Я хочу исправить ситуацию. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
ManiaK |
|
|||
Homo Sapience Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 1 Всего: 29 |
Тут максимум нужно переустановить/заменить на уже готовый. Разработка нового - довольно серьёзная задача в особенности для новичка. Я попробовал связаться по Асе, но ответа не последовало. |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 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 |
|||
|
||||
Kurt |
|
|||
Увлеченный Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Также интересуюсь вопросом "что такое web-движок".
Никак не могу понять, зачем весь сайт "делается через index.php"? То есть все URL представляют собой строку вида index.php?part=123&id=678 (например, это гостевая) Почему не написать прямо guestbook.php?id=678 ? -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
bilbobagginz |
|
|||
Naughtius Maximus Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: нет Всего: 317 |
насчёт движка.
сегодня большинство сайтов - динамические. т.е основанные не базе данных, в которой хранят и стиль и картинки и всё остальное. обычно та часть которая не зависит от информации сайта и ею манипулирующая наз-ся движком. очень советую посмотреть на зоуп... (или в народе жоп) - zope.org этот зоп - как раз и есть движок в полном смысле этого слова. по-моему сейчас в принципе уже практическая нужда писать движок с нуля - пропала. есть зоп, есть плонь ( plone.org ), берём фотошоп, фотошопим, выбираем компоненты, раскладываем их, и имеем прекрасный динамический сайт. насчёт пхп, Курт: 2 нормальные причины на это: 2.1. когда ты работаешь в интернете - обрабатываешь строки, от тебя не зависящие. потому надо и шибко сильно проверять. намного легче анализировать цифры и &,= вместо всего алфавита. 2.2.можно сказать - скрытие информации. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
CyClon |
|
|||
Опытный Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Обязательно интегрировать с форумом. ИМХО н 80% сайтах есть форум, а систему авторизации лучше IPB 2.1.3 зер не напишет рядовой, как с точки зрения безопасности, так и функционала...
|
|||
|
||||
Enya |
|
|||
Опытный Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Господа, а нельзя ли написать самый минимальный движок сайта. Как расписан в этой теме? А дальше каждый разработает сам для себя. -------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
||||
|
||||
Enya |
|
|||
Опытный Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
Mal Hack |
|
|||
Мудрый... Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 1 Всего: 261 |
Enya то, как ты будешь проектировать свой движок зависит лишь от тебя. Что тебе нужн, то туда и пихай. Как тебе удобно, то туда и пихай, поэтому, ответа на вопрос: "что должно быть в файле session.php?" тебе никто не даст.
|
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
Прав Мал Хак. Кто как хочет, тот так и пишет. Этим мне и нравится заниматься программированием в целом и ПХП в частности. Мне вот, например, недавно понадобился движок. Я решил, что он будет самопальный, т.к. делать сайты всем и вся на чужих системах не очень-то солидно. Да и к тому же, основная часть работы уже проделана и осталось только подшпаклевать кое-где.
А по теме, я делал так: 1. Админка состоит из класса admin, который, собственно, является главным заведующим администраторской. При необходимости данный класс вызывает/подключает другие классы, уже более специализированные, такие как file_manager (загрузка/удаление файлов), gallery_manager (создание/редактирование/удаление геллерей), page_manager (создание/редактирование/удаление новых разделов/страниц) и т.д. Создание админки, пожалуй, было самым сложным. 2. Внешняя часть по логике мало отличается от админки, т.к. тут тоже есть начальник - public_content, который отвечает за связывание воедино всех страниц сайта и показ их юзеру. Для различных типов страниц, естесственно, существуют свои обработчики. В принципе, у меня получилась довольно небольшая система администрирования сайта, весящая (сейчас...) чуть меньше 40 килобайт (ессесно, я считаю без дизайнерских пампушек! если считать с дизайном админки, получается 170 килобайт). Собственно, целевая аудитория моего ЦМС - сайты на 15-20 страниц с не очень сложным контентом. |
|||
|
||||
IZ@TOP |
|
|||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Согласен с Mal-Hack'om. Сам такой файл не обязателен, при желании можно все в один пихнуть. Дело вкуса, опыта и стремлений .
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
sugee |
|
|||
Опытный Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Вот об этом можно чуть подробнее?! Что это за спец слова? Я просто плохо представляю себе что такое tpl-файлы. Если они позволяют включать в html-ный код код PHP, то всё ясно. Добавлено @ 13:21 И ещё... В том чтобы сохранять html-код в файлах с расширением .tpl вместо .html или .htm(или .php коли уж мы собираемся что-то в них включать) есть какой-то практический смысл? Какие это дает преимущества? |
|||
|
||||
Guedda |
|
||||||
Подрывник Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: нет Всего: 78 |
tpl-файлы - это так называемые шаблоны.
Вот небольшой примерчик: tpl_1.tpl
Вот второй файл tpl tpl_2.tpl
Теперь сам код php: index.php
Короче, это файлы шаблоны. -------------------- Ll 2 |
||||||
|
|||||||
Kefir |
|
||||
«Hakuna Matata» Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
sugee, говоря простым языком tpl файл - это то, где ты хранишь свой ХТМЛ. Самым простым примером можно считать следующее:
naidis.tpl
В скрипте:
Это по крайней мере то, что делаю я )) Добавлено @ 00:58 * забыл - $search = array("{{!:TITLE:!}}", "{{!:BODY:!}}");, а $replace содержит само содержание страниц. |
||||
|
|||||
sugee |
|
|||
Опытный Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Это всё понятно, ещё раз цитирую то место из статьи ManiaK
которое мне не совсем ясно То есть как я понял создается пустой шаблон страницы без контента, а контент туда включается динамически. Как это делается в случае с tpl-файлами? Guedda, ты показал как прочитать файл tpl в скрипте PHP. Меня же интересует обратная ситуация: включение динамически сформированного(извлеченного) контента в статический шаблон. Вот у меня есть пустой шаблон, и некая переменная пхп, скажем $content, в которой содержится строка извлеченная из базы данных или файла. Можно ли вставить текст который содержит эта переменная в tpl файл? |
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
ЭЭЭ... ну, собственно я вроде это и пытался объяснить ))
|
|||
|
||||
sugee |
|
|||
Опытный Профиль Группа: Участник Сообщений: 423 Регистрация: 12.6.2005 Репутация: нет Всего: 4 |
Kefir, я просто запостил свой вопрос до того как прочитал твой ответ! Теперь всё понятно.
|
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
%) бывает. удачи в разработке!
|
|||
|
||||
Kludge |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
все время хранил куски щаблона в *.txt или *.html файлах. по сути не вижу особой разницы в *.tpl файлах.
где преимущество ? |
|||
|
||||
IZ@TOP |
|
|||
Панда-бир! Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Kludge, tpl - Template. Сразу знаешь что это не просто какая-та страничка. Хотя если ты хранишь все шаблоны в одной директории, то можешь давать расширение какое хочешь. Дело вкуса.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
artfabrique |
|
|||
Доктор Дизайн Профиль Группа: Участник Сообщений: 171 Регистрация: 5.2.2006 Где: СПб Репутация: нет Всего: 2 |
не забывайте писать .htaccess для папок с шаблонами а то .tpl не причислен к исполняемым файлам поэтому в лёгкую скачиваться будет я лично использую .tpl.php
--------------------
Я спасу мир! © ЙУХ 0000г. |
|||
|
||||
boombick |
|
|||
Опытный Профиль Группа: Участник Сообщений: 305 Регистрация: 20.4.2005 Где: Moscow, Russia Репутация: нет Всего: 9 |
Такой большой тред, а даже никто и не обмолвился об MVC (в общих чертах упоминалось, но конкретики не было =)). Имхо, сначала нужно ознакомится с этим паттерном, потом на базе его строить движок
Азы неплохо расписаны у Котерова "PHP5 - Профессиональное программирование" (http://www.books.ru/shop/books/233988) -------------------- |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Избранное | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |