О
П
Р
О
С



Язык PHP

Язык PHP (от англ. Hypertext Preprocessor — Гипертекстовый Препроцессор) — широко используемый Открытый Ресурс, язык скриптинга (сценариев) общего назначения, который особенно подходит для Web и может быть внедрён в HTML. Его синтаксис происходит от C, Java и Perl и лёгок для понимания и изучения.

Главной целью создания этого языка является: дать web-разработчикам возможность быстро создавать динамически генерируемые страницы для web, но вы можете сделать гораздо больше с помощью PHP. Создание сайтов с его использованием переходит на качественно новый уровень.

Как перевести сайт на PHP. Руслан Богданов

Язык PHP Как перевести сайт на PHP. Руслан Богданов
Язык:Русский
Формат:
Обновлено:2007-11-27
Автор:





Как перевести сайт на PHP. Руслан Богданов

Освоить азы PHP — очень просто. Убедитесь в этом, прочитав следующую статью:

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

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

Обычно первая мысль, которая возникает у вебмастера, знающего только HTML: «PHP — слишком сложно. Я пока обойдусь чем-нибудь попроще». Тогда возможно он начинает искать и натыкается на технологию SSI, которая также позволяет собирать страницу из блоков и даже разнообразить её с помощью условных операторов.

«О — это для меня! Это просто (всего несколько команд!) и позволяет делать всё, чего я не мог раньше. Не то что этот страшный PHP» — думает он и... совершает большую ошибку. Можете мне поверить, ведь я сам так и сделал — испугался PHP и создал большой сайт (300 страниц!) на основе SSI, о чём теперь очень жалею.

Теперь, когда сайт вырос, преимущество SSI (простота) оказалось недостатком. Эта технология слишком проста, чтобы сделать что-то большее, чем простая сборка страниц. И теперь перевод сайта на php удвоит количество страниц, поскольку придётся делать переадресацию, чтобы работали ссылки с других сайтов... Надеюсь Вы не повторите моей ошибки?

Но, вернёмся к самому переходу на PHP.

Шаг 1. Выбор хостинга

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

Признаки хорошего хостинга: поддержка PHP, MySQL, SSI, WAP и вообще всего что только можно, ежедневный Back-Up (сохранение базы данных), гибкие тарифы, бесплатный домен и (важный момент) дружественная техподдержка, которая решит все Ваши проблемы быстро и без нервов.

Если у Вас ещё нет такого на примете, можете попробовать http://www.hts.ru, работаю с ними давно и претензий никогда не было.

Хорошо, хостинг выбрали, настроили (надеюсь :), скопировали на него свой многострадальный сайт. Что дальше? Как теперь перевести его на PHP?

Шаг 2 — самый простой. Переименование расширений

Просто переименуйте все расширения файлов Вашего сайта с html (или htm) на php. Так же, как обычно переименовывали все другие файлы. И соответственным образом переименуйте все ссылки на Ваших страницах, чтобы они указывали на файлы с новыми расширениями.

Если же Вам совсем не хочется трогать сами файлы, можно сделать иначе. Например, добавить в файл .htaccess строку:
AddHandler application/x-httpd-php .php .shtml .html .htm

Получилось? Вуаля! Теперь Ваш сайт переведён на PHP. Он конечно ещё не использует всех возможностей PHP, но уже должен работать. Дело в том, что php-странички — это тот же самый HTML, в который по мере надобности вставляют кусочки php-кода. То есть Ваш сайт будет работать даже совсем без php-вставок.

С одним «но».

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

Шаг 3. Установка веб-сервера

Здесь Вам понадобится специальная программа — веб-сервер, которая будет делать всю ту работу, которую делает сервер на Вашем хостинге. То есть если у Вас установлен свой веб-сервер, Вам не нужно будет загружать изменённую страницу на хостинг, чтобы посмотреть результат. Загрузите потом, когда она будет полностью готова. Таким образом:

Скачиваем и устанавливаем веб-сервер.

Шаг 4. Выделение блоков из структуры страниц

Выделяем блоки. То есть используем ту самую возможность, ради которой вообще всё это затеяли.

Это несложно. Просто смотрим на странички и выделяем на них повторяющиеся фрагменты. Как правило это:

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

Когда все блоки определены — сохраняем их в отдельные файлы с расширением php и называем как-нибудь романтично (например header, menu, footrr и т.д.).

Шаг 5. Вынос блоков в отдельные файлы

Вставляем блоки в основные файлы. Для этого изучим одну команду:

<?php include "http://www.ваш_сайт/header.php"; ?>

где:

<?php — это начало любого блока с php-кодом

include "http://www.ваш_сайт/header.php"; — это собственно и есть команда вставки содержимого файла header.php

?> — это конец блока с php-кодом.

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

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

Теперь вспомним, что каждая наша страница уникальна, и у каждой свои теги TITLE, DESCRIPTION и т.д., мы же можем вставлять только одинаковые блоки. Непорядок. Здесь нам помогут переменные.

Шаг 6. Переменные

Посмотрите вот на эти строчки:

<?php

$title = "Тег TITLE Вашего сайта";

include "http://www.ваш_сайт/header.php";

?>

С её помощью я задал переменной $title (все переменные начинаются с символа «$» — доллар) значение Тег TITLE Вашего сайта.

Затем команда include вставляет в это место блок header.php и передаёт ему значение этой переменной.

И чтобы наш блок header.php принял переданную ему переменную, вставляем в него вот такой изменённый код тега TITLE:

<title><?php echo $title ?></title>

Думаю тег <title> Вы узнали сразу, а команда echo $title просто вставила вместо себя значение переменной $title.

По аналогии можно вставлять значения и остальных тегов.

Только одно предупреждение — если Вам нужно вставить кавычки — используйте апострофы для ограничения текста, который Вы передаёте.

Например:

$title = 'Официальный сайт «имени меня любимого»';

Но всё равно чего-то не хватает. А именно:

Шаг 7. Условные операторы

Условные операторы — это когда какое-то действие выполняется или не выполняется в зависимости от условий.

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

Для этого нам снова потребуются переменные и один условный оператор:

<?php

if ($stranica == "ГЛАВНАЯ")

{

echo "<p>ГЛАВНАЯ</p>";

}

else

{

echo "<p><a href="index.php">ГЛАВНАЯ</a></p>";

}

?>

Что мы здесь видим?

if ($stranica == "ГЛАВНАЯ") — это условие. Если оно выполняется — то в данном месте меню с помощью команды echo вставляются обычные HTML-теги выводящие надпись «ГЛАВНАЯ».

else — означает «иначе» — что произойдёт, если условие не выполняется. В данном случае при невыполнении условия надпись «ГЛАВНАЯ» будет ссылкой, ведущей на главную страницу.

То есть — если мы находимся на главной странице — нам не нужна ссылка ведущая на эту же страницу и мы закрываем её простым текстом.

{ и } — ограничивают действие команд. В такие скобки можно поместить несколько команд (например если при выполнении условия у нас должно призойти что-то ещё кроме вывода одной строчки).

Ну, и чтобы проверить переменную — нужно её опять-же — задать. Для этого на всех страницах должны быть вот такие блоки кода:

<?php $stranica = "ГЛАВНАЯ"; ?>

где вместо ГЛАВНАЯ ставите разные метки для каждой страницы.

Кстати, эти же переменные можно использовать и при создании заголовка страницы и для тега TITLE, то есть — вставлять везде, где повторяется этот текст. Главное не переборщить и не запутаться.

Выводы

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

В качестве подспорья в работе над сайтами рекомендую программки:

RJ TextEd — редактор html и php кода помощник на все руки,

Шифратор e-mail — защищает ваши адреса от спам-ботов, собирающих e-mail'ы по сайтам.


P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Богданова.

P.P.S. Если Вы всё ещё не уверены, что перевод на язык PHP сделает лучше Ваш HTML-сайт, посмотрите вот эту статью, возможно она переубедит Вас: http://www.bestfree.ru/article/webdesign/language.php



Получать обновления:







Комментарии

Василий 2013-03-10 00:05:36
Вы еще не объясняете народу, что по мимо расширения страниц, надо менять так же расширения ссылок. У тех же менюшек и т. д. Ссылка HTML, на ссыдка PHP. По другому работать не будет.

Ответить
oleg 2013-04-11 23:33:39
Василий, по моему в шаге 2 о ссылках тоже сказано.

Ответить
niko 2013-04-12 12:01:01
Здравствуйте. Меню сайта вещь динамическая. Ссылки на одну и туже страницу могут выглядеть, в зависимости с какой страницы заходишь: str1.php
или ../str1.php или ../bon/str1.php Как такое построение можно организовать всего одним файлом menu.php. Кажется об этом идет речь в Вашей статье?
Заранее благодарен за ответ

Ответить
Руслан Богданов 2013-04-12 13:29:30
Этот самый сайт как раз сделан на php.
Основные инструменты - переменные плюс условия.
То есть, большая часть информации хранится в переменных в разных файлах, из которых файл меню и берёт всё что нужно для построения пути к файлам в меню.
А для того, чтобы к примеру выделить текущую страницу жирным, используются условия типа: если переменная из файла страницы совпадает с вот таким заданным значением - выделить её жирным.

Ответить
Константин 2013-04-12 13:52:15
Сделать самому сайт будет Вам не проблема, если знаете уже некоторые нюансы и основы HTML и CSS, останется побольше освоить серверный язык программирования РНР, с помощью которого везде сейчас строят сайты.
Сначала попрактикуемся на своем компьютере (Денвером, уже имеется программа без установки) и после создания и проверки работы с нею, смело загружаем уже готовые свои проекты. Они будут такими же одинаковыми, в отображении, какие были и на компьютере.

Ответить
niko 2013-04-12 21:14:49
Благодарю за разъяснения. Константин, сайт я уже сделал и залил на хостинг. Дело в другом, я никак не могу понять вот что; на сайте 50 страниц размещенных в 12 папках. Все папки расположены на 3 уровнях от корня сайта. Сколько файлов menu.php потребуется 1, 10? Как будет выглядеть код этих страниц str1.php или ../str1.php или ../bon/str1.php Очень прошу маленький наглядный пример скрипта.

Ответить
niko 2013-04-14 18:11:35
Могу ли я сделать вывод, что ни вы, Руслан, ни вы, Константин, не знаете ответа на мой вопрос? Зачем же тогда пытаться кого- то научить?

Ответить
Руслан Богданов 2013-04-14 20:23:15
Я просто думал - это конкретно к Константину вопрос был, поэтому и не стал отвечать :)))
Было бы неплохо для начала посмотреть Ваш сайт.
На сайте bestfree организовано таким образом:
1. В файле меню с помощью include вставляются файлы второго уровня, к примеру: s_file.php, s_office.php (они у меня отвечают за папки soft/file/ soft/office - соответвенно - файловые и офисные программы)и так далее. Причём, с помощью условий и переменных оговаривается, что если их содержимое нужно для меню, то вставляется только тело этих s_что-то-там, а всякие шапки подвалы и прочие пропускаются.
2. Теперь - сами файлы типа s_file.php. Здесь у меня с помощью той же include снова вставляются файлы, лежащие в соответствующей папке soft/file/
то есть - файлы самого нижнего уровня, на которых уже есть полноценные статьи.
Пожалуй, лучше бы это дело обсуждать в личной переписке, а не в комментах (здесь ограничение размера письма) :) Пишите на мой мейл (внизу страницы).

Ответить
niko 2013-04-14 22:59:01
Благодарю вас за ответ, Руслан. Сайт находится на
... Но меня посещают вот какие мысли: шапка, меню, подвал- неизменные элементы сайта. Изменяется только блок с контентом. Не проще ли при переходе по ссылке просто подгружать новое содержимое контента? Вашим предложением о личной переписке обязательно воспользуюсь.

Ответить
Руслан Богданов 2013-04-15 00:58:06
На одном сайте я видел такое дело. Там значимая только главная страница, а при переходе на другие всё равно остаёшься на главной, только меняется середина.
Но, это не очень хорошо в плане раскрутки. Страницы должны быть разными, у них должны быть уникальные заголовки и т.п. вещи.
У меня с помощью php подгружается на каждую страницу одна и та же шапка, но в ней прописаны разные заголовки для каждой страницы - они вставляются с помощью переменных.
С меню всё сложнее и мудрённее.
Но, по-хорошему, сейчас есть бесплатные движки, которые позволяют почти без знания php делать сайты. У меня есть несколько сайтов на Wordpress и с ними можно работать гораздо удобнее, чем мне приходится это делать с bestfree.
В общем - пишите на почту, может что-нибудь придумаем для Вашего сайта :)

Ответить
nuko 2013-04-15 08:50:47
Благодарю вас, Руслан. Сейчас, под впечатлением от ваших статей, сложу в голове окончательный макет сайта, затем напишу вам.

Ответить
Тлеужан 2013-08-27 20:20:02
Спасибо за статью, но я хотел бы поинтересоваться, как Вы вставили в статью рекламу от Яндекса?

Ответить
Руслан Богданов 2013-08-27 21:53:26
Просто вставил кусок кода, который можно взять в партнёрском аккаунте Яндекса. Никакой магии :)

Ответить

Страницы: [1]

Оставить комментарий


1 Все комментарии проверяются. Спам и некультурные высказывания будут удалены.
2 Задавать вопросы лучше на нашем форуме. Просто зарегистрируйтесь и создайте новую тему.

captcha
Обновить
Идёт загрузка...
* Поля, обязательные для заполнения

Наша рассылка:


Полезный совет:


  
Мы в Google+

Система проверки ошибок от Mistakes.ru