Forum Webscript.Ru

Программирование => PHP => Тема начата: tarya от 27 Сентября 2003, 10:46:56

Название: Мысль по инклудингу
Отправлено: tarya от 27 Сентября 2003, 10:46:56
Интересная у меня мысль возникала время от времени но не как не мог ни укого спросить да и вычитать опровержение я несмог негде мыслям моим.

Короче мысль такая.

Я использую на своих сайтах инклудинг всей информации из файлов в общий шаблон, так вот у меня такой вопрос, так как я инклудю файл в центре уже всего ХТМЛ файла то выводить fsdgfhjjh достаточно геморойно. Вот я думал еслиб инклудить файл информации где то вначале всего построения документа, выбирать из нее всякие значения например $title ="fsdfsdff"; потом засовывать ее в какуюто переменную для того чтоб  использовать позже... где положено.

Кто что думает? Спасибо за любые мысли.


Благодарствую сердешно
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 27 Сентября 2003, 10:56:27
Прелесть какая.
Самое интересное, что сделать-то это можно.
И ему подскажут. И он сделает :-)
И будет доволен.
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 27 Сентября 2003, 10:58:06
А за словечко - спасибо.
Я теперь буду знать, как называется эта любовь запихать весь сайт в один файл - "инклудинг"!
Название: Мысль по инклудингу
Отправлено: tarya от 27 Сентября 2003, 15:45:07
RomikChef


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

Помоги мне, я ведь не горжусь что я круче всех, ... всему вы научили, вот ты, Маньяк.. и др.. спасибо вам.

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

Если подскажите, благодарствую сердешно.
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 27 Сентября 2003, 15:52:10
Да подскажут-подскажут.
Наберись терпения. Не один же я тут?
Не ясно, разве - что я не буду подсказывать просто потому, что не понимаю в принцципе - ЗАЧЕМ это все. Какой смысл писать весь этот код - определения, какую страницу инклюдить, теперь вот - буферизации ее содержимого...

Какая разница - кто гуру .а кто новичок?
что - мне нельзя свое отношение высказать, что ли?
Название: Мысль по инклудингу
Отправлено: USE от 27 Сентября 2003, 15:53:45
а чего плохого, пускай сделает. увидит свои ошибки возможно. поймет, что потом нужно делать совершенно иначе - научится.

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

примитивный способ, но работает. и достаточен для сайтов домашних страниц и т.п. мути.
Название: Мысль по инклудингу
Отправлено: tarya от 27 Сентября 2003, 16:09:25
USE


все, врубился!

можно сделать так:

просто файл который будет вставляться нужно открывать методом fopen  и считывать первые строки файла, например зарезелвированые 20 строк под всякие переменные, и др.

нужно еще подумать, но все же направили мысли в каком то направлении.

Цитировать
RomikChef:
Какая разница - кто гуру .а кто новичок?


ты гуру, ты все знаешь. :) а я только учусь, вот куплю себе машинку домой буду мозговать над многим...  Пока я делал нетакие сложные сайты, но они работают хорошо и потому я пока недумал про другие концепции. пример:
http://www.britemb-ukraine.net/magazine/ (http://www.britemb-ukraine.net/magazine/) , построено на таком принципе, на двух языках, архив, автоматическое обнавление, все сам намозговал, чтото вы подсказывали.

И еще - это лучший форум что я видел, необижают сильно умные, как с снисхождением относятся, спасибо вам большое.
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 27 Сентября 2003, 16:11:42
USE, даже я тебе отвечу, что то что ты предлагаешь ему не подойдет.
Ну, допустим, у него хомяк.
Гостевая на хомяке должна быть?
И как ты ее будешь запихивать?
Название: Мысль по инклудингу
Отправлено: tarya от 27 Сентября 2003, 16:15:52
Цитировать
RomikChef:
Гостевая на хомяке должна быть?
И как ты ее будешь запихивать?


у меня так и гостевая работает и форум и другое все, короче работает... %)
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 27 Сентября 2003, 16:19:49
Ну расскажи мне теперь, как у тебя гостевая будет работать на методе USE?
Название: Мысль по инклудингу
Отправлено: tarya от 27 Сентября 2003, 16:39:02
А чегоб необъяснить....


На главной странице где весь основной дизайн сделан в место куда все вставляется есть у меня код - сам переработал:



switch (substr($id,0,2)):

case ("ab"):
$sourse = "about/";
break;

case ("ar"):
$sourse = "arhive/";
break;

case ("ad"):
$sourse = "add/";
break;


endswitch;

if (!isset($id))
{
$id = "default";
}

if (!file_exists("docs/".$sourse.$id.".htm"))
{
$id = "default";
}

@include ("docs/".$sourse.$id.".htm");
?>


вот, этот код вставляет файло Хтм из корневой папки документов и еще там есть подпапки по разделам, для того чтоб незапутаться, у меня на роботе http://www.u-t-i.com.ua/ (http://www.u-t-i.com.ua/) более ста документов по разделам (название файла береися из переменной id,ссылки на станицы строятся http://www.home.com?id=about) эти файлы втавляются и сполняются и выдается все гурбою в броузер, у меня так все работает, даже поисковая система, и все все.... проверте..., пока была заминка лиш в одном с этими титлами, я их рисую через Ява скрипт, но они непроверяются поисковиками, и они кстати лазят по всем страницам свободно, даже по запутаным сильно.


вот так я делаю, может и неправильно зато просто и весь дизайн в дримвивере видно и легко латать.
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 27 Сентября 2003, 17:30:15
Тарас, я вот дал себе слово не ругаться на форумах.
Но такая дикая непонятливость меня мягко говоря, удивляет.
Я тебя не спрашивал, как делаешь СЕЙЧАС ТЫ.
Я тебя спросил, как ты БУДЕШЬ делать по методу USE.
причем это было ясно еще в первый раз, когда я его, не тебя, спросил, как он будет встявлять своим способом скрипты.

КАК
ВСТАВЛЯТЬ
ВСПОСОБОМ USE
СКРИПТЫ

Ну неужели было непонятно, когда я спрашивал его?
Ну неужели непонятно я спросил уже тебя?
Неужели как-то иначе можно понять слова
Цитировать
Ну расскажи мне теперь, как у тебя гостевая будет работать на методе USE?


Я не знаю.
вроде, русским языком пишу...

И ты еще хочешь, чтобы я тебе что-то объяснял по твоему вопросу?
Да, я не понимаю, зачем вообще нужна вся эта конструкция, которую ты тут привел.
Почему нельзя обращаться к каждому скрипту напрямую.
Но, боюсь, объяснить тебе это я буду не в состоянии.
И - бог свидетель - не во мне дело.
Если уж ты с двух раз простой вопрос понять не смог...
Название: Мысль по инклудингу
Отправлено: tarya от 27 Сентября 2003, 17:47:13
RomikChef

незнаю, запутался я уже блина, башка пухнет... виноват, непонял, буду стараться исправиться...



во человека замучал
Название: Мысль по инклудингу
Отправлено: USE от 27 Сентября 2003, 23:19:54
Цитировать
RomikChef:
И как ты ее будешь запихивать?

давай так, пойдем немного по другому пути:

если у нас очень простой сайт, весь контент сохраняется в файлах, скрипты тоже в тех же файлах находятся. только одно ограничение: в файлах должны быть заголовки первого уровня (или второго и т.п.) чтобы мы могли выбрать соответствующую информацию для title, keywords, description etc. после чего могут размещаться скрипты. также и с гостевой книгой, ведь должно же писаться, что это мол так и так, гостевая книга. (

Guest Book

)

1. отрываем файл при помощи [p]fopen[/p]
2. читаем заголовки первого уровня (второго, третьего, т.п.)
3. устанавливаем соответственные переменные (для заголовка, ключевых слов и т.п.)
4. в том месте где мы раньше выводили содержимое файла, которое считывали при помощи fopen, теперь используем [p]include[/p] (используем инклудинг ;-) )

в чем плюсы этого метода?
1. контент немного отделен от дизайна
2. навигацию можем строить автоматически (т.е. если нужно подсвечиваем пункт меню активной страницы)
3. еще какие-то приимущества есть...

RomikChef, такой способ можно использовать? хотя он немного отличается от того, что я предложил сначала, но модернизация не очень сложна.
Название: Мысль по инклудингу
Отправлено: USE от 27 Сентября 2003, 23:22:54
Цитировать
RomikChef:
Почему нельзя обращаться к каждому скрипту напрямую.

ты и так будешь обращаться напрямую к каждому скрипту, только он будет вызывать другой скрипт, например, Action throw /index.php
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 28 Сентября 2003, 10:55:35
Можно.
можно использовать такой способ.
И ХТТП заголовки можно засунуть в те же комментарии - или как ты там собрался отделять "контент" от "кода" в одном и том же файле. можно еще кучу способов изобрести.

Можно вообще все. Хоть писать программы, стоя на голове.
Я только не понимаю - зачем.
Зачем в индексе весь этот код, который парсит файлы, открывает их по два раза.
Почему нельзя сделать самосточтельный файл на каждый раздел?
В котором и держать все его настройки. И безо всякого фроу обращаться к нему напрямую?
Чем инклюдинг лцчше этого?
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 28 Сентября 2003, 18:21:08
Вот тут разговор о том же.
http://phpclub.net/talk/showthread.php?s=&threadid=40987
Я постарался изложить свои претензии к методу "инклюдинга".
Название: Мысль по инклудингу
Отправлено: MrGreeN от 29 Сентября 2003, 10:01:34
Ну ладно ждал я ждал когда прекратят ломать старый мир и начнут строить новый...чего-то никак...:(
Претензий по поводу нерациональности "инклюдинга" довольно много, и, надо признать, большинство из них не безосновательны. На эту тему уже писано-переписано достаточно много и в статьях на данном сайте и на цитфоруме и на пхпклубе...стоит только появиться статье посвящённой данному методу - критики разносят и статью и метод в пух и прах.:D
Но покажите мне (или ткните) статейку или просто правильный подход к "сайтостроению на пхп".
К примеру возьмём инетгазету:
1) Само-собой есть главная страничка с банерами, свежими новостями и прочей дребеденью...
2) Есть темы (Политика,Экономика,Спорт, Досуг.....)
3) Сответственно в каждой теме (их дизайн желательно хоть немного, но различать) есть подтемы (Сегодня,Архив,Видео...)
Ну и конечно поиск на главной странице по контенту.
P.S. Я не пишу газету, просто IMHO наиболее удобный пример...а если делать самостоятельный файл на каждую тему и подтему то тогда смысл использования пхп ?
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 29 Сентября 2003, 11:01:19
В пхп нет таких слов "тема" "подтема".
есть очень простые вещи - код и контент.

Речь идет о запихивании КОДА, файлов с кодом в индекс.

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

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

А вот заинклюдить в нее шапку и ноги - это две строчки.
Название: Мысль по инклудингу
Отправлено: Меняздесьдавнонет от 29 Сентября 2003, 11:22:35
я не говорю о том что на каждый чих надо делать файл.
я говорю о том, что не надо запихивать весь сайт в индекс.

Если у тебя всю газету показывает один скрипт, которому передается название раздела - бога ради.
Но кроме этих скриптов еще на сайте присутствует тысяча разделов - подписка, форум, поиск.
Их куда?
в конце концов, разделы могут различаться больше, чем ты думаешь.
и разделив их по адресам сразу (пусть даже внутри скрипта politics.php ты будешь инклюдить свой движок, передавая ему имя файла) ты получишь масштабируемость.

Я не против параметров вообще.
Я за параметры, которые говорят, какой контент показывать, а не какой скрипт загружать.

Я не против множественной функциональности в одном скрипте - у меня самого один скрипт выполняет множество функций. которые в него же и зашиты. к примеру - редактирование-добавление-удаление-показ списка. Функциональный блок.
Но.
В силу технологии РНР, дизайн ЕСТЕСТВЕННО инклюдится в этот блок. В нужных местах. Дизайн - вторичен. он мне не мешает, вися громадой над кодом, как это происходит при "инклюдинге".
Название: Мысль по инклудингу
Отправлено: tarya от 29 Сентября 2003, 11:45:19
Я многое понял, почитав все посты - мозговито!

Еще позавчера придумал как сказал Роман засовывать в первую строку копентарий в котором и будут параметры титла и др., но все же прочевши все посты - чтото еще интересное увидел...
Название: Мысль по инклудингу
Отправлено: USE от 29 Сентября 2003, 21:49:26
Цитировать
RomikChef:
отделять "контент" от "кода" в одном и том же файле

процитируй мои слова, которые можно сопоставить с твоими.

Цитировать
RomikChef:
Почему нельзя сделать самосточтельный файл на каждый раздел?

кто сказал что нельзя?

Цитировать
RomikChef:
Чем инклюдинг лцчше этого?

никто этого здесь не говорил.

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

то что ты пишешь по поводу иклудинга - верно.