Вы здесь:
Рефераты и курсовые по IT

Лёгкая смена дизайна с помощью PHP


ИСТОЧНИК: БВБ

PHP. Первые шаги. Действительно легкая смена дизайна.
Предупреждение.

Данный текст ни на что не претендует. Надеюсь, что-то из описанного поможет Вам в освоении PHP и использовании его в повседневной практике.
Сразу оговорюсь, что я не только мало смыслю в программировании вообще, но и в PHP в частности. Соответственно и статья писалась для такой же аудитории. Ламер -ламеру. Или дилетант-дилетанту, как угодно. Большинство информации можно найти в форумах или на англоязычных сайтах.

Краткая аннотация:

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

Легкая смена дизайна

Итак, у вас уже что то есть. Какой то информационный web проект. Серия статей, он-лайн книга, просто страничка.
Хорошо, если у вас все в порядке с проектом на диске. Каждый раздел в своем каталоге, скрипты отлажены и жужжат, дизайн закреплен навеки.
У меня такого не было.
То есть порядок то был, а вот с дизайном - полный завал. Плюс я постоянно что то прикручиваю, балуюсь с содержимым. Что же я сделал?
Мне надо было : легко и безболезненно менять дизайн, навигацию, ссылки и баннеры, вставлять новые разделы и все это должно проходить с минимальными телодвижениями .
Я вовсю использовал SSI. Вы знаете что это такое ? Грубо говоря, у меня был шаблон хтмл, в него я вставлял меняющиеся элемнты типа меню навигации, баннеров и так далее. Но само содержание этого уже наполненного шаблона - не менялось! То есть для каждой странички в шаблон вставлял информацию, и сохранял на сервере. После этого, чтобы изменить цвет таблицы, мне пришлось бы заново делать шаблон, выдергивать информацию из старого и вставлять в новый. Можно, конечно, использовать CSS, фреймы, что там еще. Но меня все это по разным причинам не удовлетворяло
Еще, как выход, мне мерещилось использование программы, которая заменяла бы во всех файлах одни строки на другие. Ни то, господа, ни то! Если что то сложное в плане хтмл, да еще написанного вручную, то все это адский труд. Только не подумайте, что я писал на хтмл.
Бывало, конечно, несколько строк накропаю, но я же ленивый. За меня все делало FrontPage 98. Охаиваемое всеми чудо.
Что же делать с этой кучей файлов с расширением *.shtml и невозможностью сменить дизайн так, то бы это не отозвалось болезненным перелопачиванием всей этой кучи? Я ленив, и в своих поисках я набрел на лучшее решение - PHP.
Возможность, которую он дает - один хтмл-шаблон плюс файлы только с содержимым раздела я очень быстро оценил!
Быстренько и монотонно освободив свои shtml ки от разных табличек, вставок, картинок, и другой мутотени я вытер пот со лба. Убрал расширения файлов. Дело в том, что мой хостер хитро сделал-поздней ночью их скрипт вставляет во все файлы с расширением *.html код баннера.
Вот оно ! Стройный ряд файлов выстроился перед моим взором. Умытые, похудевшие и почистившиеся они требовали новой одежки-дизайна.
Я сваял новый шаблон: index.php3.






function foo ($in) {
< !--если не вызывается просто index.php3 то происходит вставка вызываемого файла-->
if ($in != "") {$out=$in;}
< !-- если происходит вызов index.php3 без имени файла, то по умолчанию, вставляется файл main-->
else {$out="main";} return $out;}?>













Теперь я вызываю странички так
http://myserver.ru/index.php3?news
http://myserver.ru/index.php3?links
http://myserver.ru/index.php3?about

А можно и просто
http://myserver.ru/?news
http://myserver.ru/?links
http://myserver.ru/?about


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

http://myserver.ru/index.php3?news.shtml
http://myserver.ru/index.php3?links.txt
http://myserver.ru/index.php3?about.htm

Конечно, если надо вносить изменения в содержимое (новости подновить, новый линк добавить), то приходится открывать файлы news и link и уже там что-то менять.


Минусы подхода:

1) Таги и распространяются на все страницы раздела, объединенных общим index.php3.<br />2) Если поисковая система некорректно обрабатывает сайты, использующие PHP, то пользователь может и не найти Ваш сайт.<br /> <br /></index> <br> <p align="right">© <a href="https://library.by/referat/" title="Минская коллекция рефератов"><u>Минская коллекция рефератов</u></a></p> <br> <!-- Yandex.RTB R-A-2156586-14 --> <div id="yandex_rtb_R-A-2156586-14"></div> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ renderTo: 'yandex_rtb_R-A-2156586-14', blockId: 'R-A-2156586-14' }) })</script> <div style="display:table; width:100%; margin-left:-20px;"> <p> <font size="6" face="Arial">Комментарии:</font> </p> <div id='vk_comments' style="padding:20px; padding-right:0px; margin-bottom:30px; margin-top:-20px;"></div> <script type='text/javascript'> VK.Widgets.Comments('vk_comments', {limit: 10, width: '730', attach: '*'}); </script> </div> <hr width="100%" size="1" color="#C0C0C0"> <strong><i class="fa fa-shield" style="color:green;"></i> ИНФОРМАЦИЯ ПО РЕФЕРАТУ:</strong><br><small> <br> <b>СТУДЕНТАМ!</b> Уважаемые пользователи нашей Коллекции! Мы напоминаем, что наша коллекция общедоступная. Поэтому может случиться так, что ваш одногруппник также нашел эту работу. Поэтому при использовании данного реферата будьте осторожны. Постарайтесь написать свой - оригинальный и интересный реферат или курсовую работу. Только так вы получите высокую оценку и повысите свои знания.<br><br>Если у вас возникнут затруднения - обратитесь в нашу Службу заказа рефератов. Наши опытные специалисты-профессионалы точно и в срок напишут работу любой сложности: от диссертации до реферата. Прочитав такую качественную и полностью готовую к сдаче работу (написанную на основе последних литературных источников) и поработав с ней, вы также повысите ваш образовательный уровень и сэкономите ваше драгоценное время! Ссылки на сайт нашей службы вы можете найти в левом большом меню. <br><br><b>ВЕБ-ИЗДАТЕЛЯМ!</b> Копирование данной работы на другие Интернет-сайты возможно, но с разрешения администрации сайта! Если вы желаете скопировать данную информацию, пожалуйста, <a href="https://library.by/about.html">обратитесь к администраторам</a> Library.by. Скорее всего, мы любезно разрешим перепечатать необходимый вам текст с маленькими условиями! Любое иное копирование информации незаконно.</small> <br><br> <!--noindex--> <div style="display:table; width:100%;"> <!-- Yandex.RTB R-A-2156586-17 --> <div id="yandex_rtb_R-A-2156586-17"></div> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ renderTo: 'yandex_rtb_R-A-2156586-17', blockId: 'R-A-2156586-17' }) })</script> </div> <!--/noindex--> <br> </div> <form name="form" method="post" id="comment" action=""> <script type="text/javascript"> //<![CDATA[ function insertext(text1,text2,spot){ document.forms['comment'].elements['comments'].value += " " + text1 + text2; } //]]></script> <script type="text/javascript"> //<![CDATA[ function insertext(text1,text2,spot){ document.forms['comment'].elements['comments'].value += " " + text1 + text2; } //]]></script><div><input type="hidden" name="javasubaction" value="showfull" /><input type="hidden" name="subaction" value="addcomment" /><input type="hidden" name="ucat" value="1" /><input type="hidden" name="show" value="" /></div></form> <!-- new DIV 27.01.2023 --> <DIV style="margin:10px;"> <p> <table border="0" cellpadding="10" cellspacing="10" style="border-collapse: collapse;" bordercolor="GoldenRod" width="100%"> <tr> <td> <p style="margin-left:-20px;"> <strong><img src="https://elibrary.com.ua/images/flags/by.png" alt="Флаг Беларуси"> Поиск по БЕЛОРУССКИМ рефератам <span style="color:red;" class="hidden-xs hidden-sm">\\ более 10 тематических сайтов!</span></strong> </p> <br> <table border="0" cellpadding="10" cellspacing="0" width="100%" style="border-collapse: collapse" bordercolor="#111111"> <tr> <td> <!--noindex--> <form class="form" name="search" action="https://library.by/search.html#start" method="get" accept-charset="utf-8" rel="nofollow"> <input type="hidden" name="l10n" value="ru"/> <input type="hidden" name="reqenc" value="utf-8"/> <div class="input-group text-center"> <input class="form-control input-lg" placeholder="Поиск по базе" name="q"> <span class="input-group-btn"> <button class="btn btn-lg btn-success" type="submit">ПОИСК</button> </span> </div> </form> <!--/noindex--> </td> </tr> </table> </td> </tr> </table> </p> <br> <!-- place of the old DIV 27.01.2023 --> <div align="right" style="margin-right:20px; padding-bottom:50px;" class="hidden-xs"> <a href="https://libmonster.net" title="Всемирная библиотечная сеть" target="_blank"><img src="https://elibrary.com.ua/images/mapping.png" alt="World Library" class="logohover"></a> <img src="https://library.by/images/18.png" alt="Проект для детей старше 12 лет!" hspace="10"> <!--noindex--> <!--LiveInternet counter--><a rel="nofollow" href="https://www.liveinternet.ru/click;libmonster" target="_blank"><img id="licnt8A00" width="88" height="31" style="border:0" title="LiveInternet" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7" alt=""/></a><script>(function(d,s){d.getElementById("licnt8A00").src= "https://counter.yadro.ru/hit;libmonster?t57.10;r"+escape(d.referrer)+ ((typeof(s)=="undefined")?"":";s"+s.width+"*"+s.height+"*"+ (s.colorDepth?s.colorDepth:s.pixelDepth))+";u"+escape(d.URL)+ ";h"+escape(d.title.substring(0,150))+";"+Math.random()}) (document,screen)</script><!--/LiveInternet--> <!--/noindex--> <div style="margin-top:20px; margin-left:10px;"> Copyright @ 1999-2026, <b><a href="https://library.by/referat/" title="Минская коллекция рефератов">Минская коллекция рефератов на LIBRARY.BY</a></b> </div> </div> <div class="visible-xs visible-sm"> <a href="https://vk.com/libmonster" type="button" class="btn btn-primary btn-lg btn-block" rel="nofollow" target="_blank"><i class="fa fa-vk" aria-hidden="true"></i> Канал LIBRARY.BY в VK</a> <a href="https://ok.ru/group/53557876949167" type="button" class="btn btn-warning btn-lg btn-block" rel="nofollow" target="_blank"><i class="fa fa-odnoklassniki" aria-hidden="true"></i> Мы в Одноклассниках</a> <a href="https://twitter.com/libmonster_live" type="button" class="btn btn-info btn-lg btn-block" rel="nofollow" target="_blank"><i class="fa fa-building" aria-hidden="true"></i> Twitter города Минска</a> <a href="https://youtube.com/hitby" type="button" class="btn btn-danger btn-lg btn-block" rel="nofollow" target="_blank"><i class="fa fa-youtube" aria-hidden="true"></i> Крутые видео из Беларуси</a> <a href="https://samolet.by" type="button" class="btn btn-default btn-lg btn-block" target="_blank"><i class="fa fa-plane fa-spin" aria-hidden="true"></i> Аэросъемка - все города РБ</a> <a href="http://kahanne.com/" type="button" class="btn btn-danger btn-lg btn-block" rel="nofollow" target="_blank"><i class="fa fa-heart" aria-hidden="true"></i> KAHANNE.COM: это любовь!</a> <a href="https://fut.by" type="button" class="btn btn-success btn-lg btn-block" target="_blank"><i class="fa fa-futbol-o" aria-hidden="true"></i> Футбольная биржа (FUT.BY)</a> </div> <div class="visible-xs visible-sm" style="margin-top:10px;margin-bottom:10px;"> <!-- Yandex.RTB R-A-2156586-12 --> <div id="yandex_rtb_R-A-2156586-12"></div> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ renderTo: 'yandex_rtb_R-A-2156586-12', blockId: 'R-A-2156586-12' }) })</script> </div> <!-- Yandex I like IT! --> <!--noindex--> <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <!--/noindex--> <!-- Yandex.RTB R-A-2156586-20 --> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ type: 'fullscreen', platform: 'touch', blockId: 'R-A-2156586-20' }) })</script> </DIV> <!-- new DIV 27.01.2023 --> </html>