Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.04.2002, 06:02
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 1  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
По умолчанию icnlude и многоязыковость

народ, есть такая ситуасьйон:

сайт делается на 3 языках. наиболее разумным способом на сегодня мне (а я вообще-то дизайнер) кажется сделать так:

есть какой-то шаблон, допустим index.php, в котором описывается вся структура и форматирование, а в тех местах, где должен быть текст, у нас стоят переменные, например $header_1, $paragraf_1, $paragraf_2, $paragraf_3,... При выборе языка мы регстрим переменную $language, и значение переменной служит названием файла для включения. так вот есть у нас значит в папке language/ три файла - ua.inc, ru.inc, en.inc...

прикол вот в чем: у нас эти файлы, описывая 6 разделов и кучу информации, могут весить примером 300 кило...

вопрос вот в чем: если мы включаем с помощью include(); такой файл, юзеру будут отдаваться все 300 кило, или только выбраные интерпретатором 6-10 переменных, которые вызываются на этой странице?

тоесть меня волнует вопрос, не придется ли бедному пользователю при проходе по сайту каждый раз с каждой страницей грузить всю текстуху, если даже на текущей странице написано только 2 слова: thank you...

thanx ahead
__________________
nothing | жежо

Старый 06.04.2002, 06:09
Anton-Killer вне форума Посмотреть профиль Отправить личное сообщение для Anton-Killer Посетить домашнюю страницу Anton-Killer Найти все сообщения от Anton-Killer
  № 2  
Anton-Killer

Регистрация: Jun 2001
Адрес: Украина Днепропетровск
Сообщений: 185
Отправить сообщение для Anton-Killer с помощью ICQ
А как насчет require();
__________________
Why drink and drive when you can smoke and fly

Старый 06.04.2002, 06:21
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 3  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
По умолчанию не знаю...

а каков эффект?

по моему, выигрыш require(); только в том, что он выполняется немного быстрей... или я не прав?
__________________
nothing | жежо

Старый 06.04.2002, 13:03
Anton-Killer вне форума Посмотреть профиль Отправить личное сообщение для Anton-Killer Посетить домашнюю страницу Anton-Killer Найти все сообщения от Anton-Killer
  № 4  
Anton-Killer

Регистрация: Jun 2001
Адрес: Украина Днепропетровск
Сообщений: 185
Отправить сообщение для Anton-Killer с помощью ICQ
Оператор require() заменяется содержимым указанного файла. Этого достаточно в большинстве случаев, когда нужно сделать часто используемые функции и константы в целом доступными для сценария!!!
__________________
Why drink and drive when you can smoke and fly

Старый 06.04.2002, 15:21
technic вне форума Посмотреть профиль Отправить личное сообщение для technic Посетить домашнюю страницу technic Найти все сообщения от technic
  № 5  
technic

Регистрация: Jul 1999
Сообщений: 419
Если я правильно понял вопрос, то в данном случе нет никакой разницы использовать "инклюд" или "рекваер". Тебе ведь надо просто подгружать контент? Или там все-таки есть функции? И ты хочешь узнать, какой трафик получается для пользователя? И что ты подразумеваешь под выражением "всю текстуху"?
Пользователю будет отсылаться только обработанный хтмл. Все форматирование плюс контент включенного файла. Если контент весит 300к, значит отошлется столько. Если там всего два слова, значит и трафик небольшой. И это все не зависит от ПХП-форматирования основной страницы. Она может быть хоть 900к, а выдавать хтмл на 9к.
__________________
(c) All Rights Reserved


Старый 06.04.2002, 22:14
juggy вне форума Посмотреть профиль Отправить личное сообщение для juggy Посетить домашнюю страницу juggy Найти все сообщения от juggy
  № 6  
juggy
 
Аватар для juggy

Регистрация: Feb 2001
Адрес: LJ/~aleshru
Сообщений: 4,777
Отправить сообщение для juggy с помощью ICQ Отправить сообщение для juggy с помощью MSN Отправить сообщение для juggy с помощью Yahoo Отправить сообщение для juggy с помощью Skype™
Попробуй:

Прелоадить файлы.
Записать в куки
Перестать использовать 300 киловые файлы для страниц с двумя thank you
__________________
Что за дурь? 50 символов в подписи!?

Старый 07.04.2002, 05:25
Pr0Head вне форума Посмотреть профиль Отправить личное сообщение для Pr0Head Посетить домашнюю страницу Pr0Head Найти все сообщения от Pr0Head
  № 7  
Pr0Head
 
Аватар для Pr0Head

Регистрация: Dec 1999
Адрес: под ёлкой...
Сообщений: 1,855
По поводу загрузки инклюда.

Точно не уверен, но думаю тут два варианта:

) Полная загрузка файла(инклюда)
(т.к. заранее не известно какие условия выполняются в срипте и в каком именно месте находится наша функция)

) Загрузка и одновременное выполнение инклюда.

хотя думаю все же первый вариант.

ЗЫ: На самом деле не так страшно, что инклюд будет весить 300 кило, т.к. он не передается на клиентскую сторону, а выполняется на сервере. Поэтому на скорость его подгрузки и вывод готовой страницы это особо не повлияет.
__________________
Не криви извилиной!

Старый 07.04.2002, 11:46
DeepDiver вне форума Посмотреть профиль Отправить личное сообщение для DeepDiver Найти все сообщения от DeepDiver
  № 8  
DeepDiver

Регистрация: Oct 2000
Адрес: Подмосковье
Сообщений: 637
Отправить сообщение для DeepDiver с помощью ICQ
Клиенту отдается только то, что ты ему отдаешь (с помощью print, echo, или весь текст за пределами <? ?>)
Посему 300 киловые инлкюды страшны только для сервера, который их будет обрабатывать.
На самом деле для сервера это не страшно.
Ежели все таки хочется немного помучаться и сделать полегче, то можно руководствоваться следующим:

Любой сайт обычно разбит на несколько разделов. Следовательно не все строковые константы используются в одном разделе. Однако есть определенный набор констант (как правило не очень большой), который используется во всех (или во многих) разделах (слова типа "назад", "далее", "отмена" и т.д.). Остальные строки необходимы только в каких-то конкретных разделах (одном или нескольких). Отсюда следует, что можно создать несколько файлов со строковыми константами, разбитыми по таким группам, а потом из каждого раздела подключать только необходимые файлы. Естественно эти файлы дублируются для каждого языка.
__________________
Не ошибается то, что не работает. (с) Windows

Старый 07.04.2002, 19:09
ihorko вне форума Посмотреть профиль Отправить личное сообщение для ihorko Посетить домашнюю страницу ihorko Найти все сообщения от ihorko
  № 9  
ihorko
Теоретик и Практик
 
Аватар для ihorko

Регистрация: Mar 2001
Адрес: Київ, .NET.UA
Сообщений: 1,173
Отправить сообщение для ihorko с помощью ICQ Отправить сообщение для ihorko с помощью AIM Отправить сообщение для ihorko с помощью Yahoo
По умолчанию уточняем...

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

1. вид файла ru.inc (а также en.inc + ua.inc)
<?
// GENERAL MESSAGES
$back = "предыдущая страница";
$fwd = "следующая страница";
...
$close = "закрыть окно";
// "MAIN" PAGE TEXT BLOCKS
$page_title = "Моя домашняя страничка - главная";
$page_header = "Добро пожаловать на мою домашнюю страничку";
$about_paragraph = "Меня зовут Вас Пупкин. Я крутой и очень модный веб-дизайнер...";
$chapters_description = "У меня есть разделы Услуги, Портфолио, Котнакты, Гостевая и раздел, посвященный моему коту Бармалею...";
...
$outro = "Приятного путешествия по самому крутому сайту в инете! С вами всегда Вася Пупкин.";
// "SERVICES" PAGE TEXT BLOCKS
$page_title = "Моя домашняя страничка - услуги";
$page_header = "Перечень услуг, предоставляемых Васей Пупкином";
$web_services = "Я могу сделать вам супер-пупер сайт...";
$media_services = "А также я разрабатываю видеоролики, презентации и много другого барахла...";
...
$outro = "Чтобы заказать какую-нибудь шнягу, тыцьни сюда";
?>

Структура файла понятна? Так вот, если у нас 20 разделов, то файл этот может весить те 300 Кб. Интересует же такой вопрос: если мы вызываем на включение этот файл из страницы "Услуги", то из этого файла нам нужны только фрагменты (переменные) под комментариями GENERAL MESSAGES и "SERVICES" PAGE TEXT BLOCKS. При проходе по файлу движок ПХП выберет эти переменные (к ним идет вызов из шаблона с форматированием) и отправит их пользователю, либо отправит весь файл?

надеюсь теперь нормально объяснил...
__________________
nothing | жежо

Старый 07.04.2002, 20:41
Pr0Head вне форума Посмотреть профиль Отправить личное сообщение для Pr0Head Посетить домашнюю страницу Pr0Head Найти все сообщения от Pr0Head
  № 10  
Pr0Head
 
Аватар для Pr0Head

Регистрация: Dec 1999
Адрес: под ёлкой...
Сообщений: 1,855
По умолчанию Re: уточняем...

Цитата:
Оригинал написал(а) ihorko
При проходе по файлу движок ПХП выберет эти переменные (к ним идет вызов из шаблона с форматированием) и отправит их пользователю, либо отправит весь файл?
Выберет нужные переменные, сформирует страницу и отдаст ее пользователю.

ЗЫ: РНР - серверный скрипт, то выполяется на сервере (в отличие напимер от ява-скрипт). Все выполится на сервере и пошлет пользователю только то, что он запросил, а не весь скрипт.
__________________
Не криви извилиной!


Последний раз редактировалось Pr0Head; 07.04.2002 в 20:43.
Создать новую тему   Часовой пояс GMT +4, время: 23:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.