Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы.


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Рассылка сайта
РНР для всех!

Выпуск номер 2


Здравствуйте все, кто не побоялся трудностей и решил окунуться в удивительный и странный мир программирования. Дело это не простое, но затягивает не хуже игрушек, например. Вообще это и есть игра, только противник твой - упрямый сервер, а оружие - голова. Итак, начнем. А начнем мы с организационных вопросов. Рассылка РНР для всех! позволит Вам сделать первые шаги в программировании на скриптовом языке РНР. У Вас будет возможность задать вопрос по интересующей Вас теме и получить на него профессиональный ответ. Вы сможете обмениваться мнениями и читать авторские статьи, а так же размещать здесь свою информацию. И это - только начало. Я надеюсь, что рассылка РНР для всех! станет хорошим помощником для многих из Вас! Вопросы по организации рассылки и свои мнения присылайте на адрес virtualphp@tut.by Буду рад любым предложениям о сотрудничестве.

Что такое РНР ?

В первой статье я кратко расскажу, что же представляет из себя РНР как язык и укажу на основные преимущества и недостатки его перед другими языками программирования. Идея РНР родилась в голове некого Расмуса Ледорфома(Rasmus Lerdorf). Как предполагается, где-то в конце 1994 года. Не так давно между прочим, и именно по этой причине - по причине молодости РНР, так мало есть ресурсов на его тему. Кстати, полная расшифровка РНР звучит так - Personal Home Page Tools. На великом и могучем это звучит примерно так - персональные инструменты для домашней странички. Ну примерно так. Так вот, в начале 1995 вышла коммерческая версия, которая была гораздо шире и функциональней, и именно ей было суждено завоевать признание тысяч (в те еще времена) web - мастеров. В 1998 году появился РНР3 - тот же язык, но гораздо более усовершенствованный и переписанный заново уже другими людьми. Он стал еще более популярным во всем мире. Но довольно истории.

Так что же это за зверь такой - РНР, и с чем его прикажете подавать? PHP Версии 3.0 - язык написания сценариев, внедренный в HTML. Многое из синтаксиса заимствовано из C, Java и Perl (это тоже языки программирования), с добавлением специфичных для PHP возможностей. Задача языка состоит в том, чтобы дать возможность Web-разработчикам легко и быстро создавать динамично изменяемые html-страницы. Уж что что, а это он делает великолепно! Это и есть основное преимущество РНР - его код внедряется прямо в HTML, причем никаких ограничений не существует. Единственное условие - не забывать открывать и закрывать теги, которыми ограничивается код РНР.

Что бы сервер узнал, что в коде страницы кроме стандартного HTML есть код РНР, надо сказать ему об этом. Сделать это просто - достаточно в нужном файле изменить расширение со стандартных *.htm или *.html на *.phtml, *.php3 или *.php Желательно первый вариант. Хотя все эти вещи зависят от администратора сервера, где расположена Ваша страничка или Ваш сайт. Кстати, по умолчанию я подразумеваю, что у Вас уже есть сайт, или по крайней мере Вы представляете, как его сделать. И еще. Иногда можно услышать мнение, что РНР совсем не нужен, ведь есть SSI. Отвечаю - РНР может делать тоже, что и SSI с такой же легкостью, но плюс к этому он может еще гораздо больше! Вот Вам и еще один плюс. Если Вы еще не определились, надо ли будет в какой то конкретный файл добавлять код РНР, смело ставьте расширение *.phtml. Дело в том, что весь код HTML интерпретатор РНР просто передаст браузеру как есть без ограничений. Из этого следует первое правило, которое Вам надо будет усвоить. Не перегружайте интерпретатор. Если есть выбор, пользуйтесь стандартным HTML-ом. Это не принципиально, но рекомендуется как признак профессионализма.

Еще один плюс РНР - это удивительная похожесть его синтаксиса с языками С, С++, Java и т.д. Точнее будет сказать, что РНР впитал все самое лучшее из этих языков и максимально избавился от их недостатков. Нет никакой необходимости выделять память, следить за типами переменных (в обычных условиях), определять переменные и т.д. Все улучшения коснулись уже 3 версии, но есть и недостатки. Один из основных - отсутствие возможности условных и безусловных переходов в скрипте. Это накладывает ограничения на большие скрипты. А точнее - ограничений нет, просто очень большие скрипты становится писать уже сложно. Впрочем, РНР разрабатывался именно как небольшие включения в HTML, и в этом качестве ему нет равных. А если учитывать еще и тот факт, что РНР удивительно легко интегрируется со всеми основными базами данных и позволяет делать много удивительных вещей. Например - прайсы с возможностью поиска информации. На CGI аналогичный скрипт получается много больше чем на РНР.

Надеюсь, что убедил Вас и не отпугнул. Дальше будет проще. Как и всякий язык, РНР основан на алгоритмическом языке, который составляет основу всех языков программирования в мире. Это означает, что зная необходимый алгоритм, Вы с легкостью реализуете его на РНР, применив соответствующие инструкции. Вот Вам на окончание один пример...


Пример в номер

Тут будут публиковаться примеры кода РНР с подробными описаниями. Вы можете просто вырезать его и вставить к себе на страничку, и он будет непременно работоспособен. Если есть желание разместить тут свои примеры - присылайте.

Задача: вывести на экран через пробел числа 1,2,3,4,5

Код:

<?php
$i = 1;       //
присваиваем переменной $i значение 1
echo $i;     //
выводим переменную
$i++;         //
увеличиваем переменную на 1-цу
echo " ".$i; //
опять выводим переменную не забыв про пробел
             // повторяем все снова и снова столько, сколько надо
$i++;         //
echo " ".$i; //
$i++;         //
echo " ".$i; //
$i++;         //
echo " ".$i; //
?>

Согласен, пример не самый лучший, но основные понятия языка уяснить можно. Итак - открывающий тег РНР - <?php или просто <? . Тег закрытия кода в любом случае одинаков - ?> Все переменные должны начинаться со значка доллара, а комментарии - с // Все переменные имеют имя и значение. В примере имя переменной - $I, значение - 1. Операторы языка в любом случае должны разделяться точкой с запятой. Отсутствие этого разделителя - самая основная ошибка начинающих, и поэтому всегда приучайте себя обращать внимание, есть ли в конце операторов разделитель. Лишние пробелы и переводы строк как и подобает просто игнорируются.
Вывод на экран осуществляется оператором echo. Переменные не обязательно заключать в кавычки, текст - обязательно. Любое слияние текста ( числовые переменные в этом случае воспринимаются как текстовые ) осуществляется с помощью разделителя - точки. Увеличение переменной на еденицу реализовывается указанием двух плюсов после переменной, хотя ни что не мешает писать так - $i = $i + 1; Но правильно будет как в примере - $i++; Выполнив эту инструкцию пять раз, соответственно увеличим переменную на пять, выводя между делом результат, не забывая про пробел. На экран в результате работы скрипта будут выведены подряд ( в строку ) цифры "1 2 3 4 5". Если бы стояла задача вывести указанные цифры не в строчку, а в столбец - вместо пробелов в кавычках надо было бы поставить HTML - овский тег <br> перевода строки. Вот так -
echo "<br>".$i; В результате на экране появяться столбик из пяти цифр.
Вообще, этот скрипт не правильный. Так никто не пишет. Надо было воспользоваться функцией или циклом, но на первых порах для знакомства все будет упрощаться. Вспоминая об упомянутом мною алгоритмическом языке, привожу алгоритм этого скрипта. Он таков:

начать скрипт - присвоить перменной $I значение 1 - вывести переменную $I на экран - увеличить переменную $I на еденицу - вывести пробел и переменную $I на экран - увеличить....  выполнять столько, сколько надо .... вывести пробел и переменную $I на экран - закончить скрипт

Это - алгоритмическое выражение реализованного выше скрипта. Как видите, ничего сложного нет. Просто берем, и делаем то, что нам надо. Кстати, посмотрите, что получится в результирующем коде HTML! Ни следа РНР! Это ли не мечта многих - иметь возможность скрыть свой код HTML? А ведь все это - не самые главные преимущества РНР. Но и не столь незначительные. Теперь Вы, я надеюсь, поняли что код страницы можно клеить буквально на лету, и каждая новая страница будет абсолютно не похожа ( если только это надо ) не предыдущую. Вот именно для этих целей и создавался первоначально РНР, но на сегодняшний день язык превратился в нечто большее.


Вопросы и ответы
задать вопрос

Предлагаю Вам присылать свои вопросы на адрес рассылки. Первое время будет действовать только вариант пересылки вопроса по почте, но в будущем приорете будет отдаваться вопросам, заданным с формы на сайте. Вопрос должен быть кратким, точным и по теме. Ответы на вопросы по мере знаний будут даваться мной, а если я не смогу дать Вам исчерпывающий ответ - кто-то из подписчиков обязательно поможет. А если Вы знаете ответ на заданный вопрос - не поленитесь ответить. Этим Вы очень поможете кому-то решить свою проблему. Синтаксис и граматика - авторские.

задать вопрос

Вопросы:

  1. Что то я не могу въехать, как мне сделать запись в файл. Все делаю как положено в описании, но в том месте, где должна идти запись в файл, РНР выдает ошибку. Что бы это могло быть?
    ответить

  2. Как мне сделать так, что бы не закачивать каждый раз файлы для проверки на сервер. Можно ли проверять работоспособность РНР в offline?
    ответить

Ответы на заданные вопросы:

  1. Вопрос: Решил я заняться php скриптами.Скачал мануал по php3, вроде все просто, ан нет даже самый простой скрипт вставленый в html не выполняется. Если не в падлу, подскажи как самый простой скрипт выполнить типа "Hello World", какие нужны настройки?

    Ответ: Самый простой вот - <?php echo "Hello World"; ?> Настроек никаких не надо, за исключением того, что надо не забыть изменить расширение имени файла на *.phtml Затем закачиваем новый файл на сервер (он должен иметь поддержку РНР) и вводим в браузере адрес (полный) файла. Результат - на экране. От такого скрипта мало проку, но смысл ясен.

задать вопрос


Обмен ссылками и баннерами

Предлагаю Вам стать участниками баннерообмена. Ваши ссылки и описания Ваших сайтов вы можете присылать по адресу рассылки - virtualphp@tut.by Все ссылки обязательно появятся в этой рассылке. Если есть желание разместить свой баннер 88*31 на сайте рассылки http://virtual.bresttelecom.by/php/ , укажите это дополнительно, и пришлите код своего баннера. В любом случае, Вам надо будет разместить у себя код баннера сайта рассылки. Он еще пока не сделан, но я думаю, что это не проблема. Как только баннер будет доступен, я выложу его код в рассылке. Правила у меня стандартные - описания Ваших сайтов будут переодически (в зависимости от из количества) размещаться в рассылке. И конечно - будет отдельная страничка на сайте, на которой будут представлены все друзья сайта.

http://virtual.bresttelecom.by - Виртуальный Брест. Региональный информационно - развлекательный портал города Бреста. Чат, форум, статьи, услуги, объявления, каталог сайтов - это и многое другое ждет Вас на страницах сайта.
http://tweak.tut.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевого друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!


Подпишитесь на рассылки!

Рассылки Subscribe.Ru
Программируем на PHP - вопросы и ответы.
Новости сайта Виртуальный Брест
Здесь будет публиковаться список рассылок, рекомендуемых к подписке. Если у Вас есть рассылка - предлагаю Вам обменяться подобной рекламой.

Разное

Обращаю Ваше внимание, что правильный адрес рассылки - virtualphp@tut.by Сайт рассылки доступен по адресу http://virtual.bresttelecom.by/php/
Если Вы можете помочь сделать баннер для сайта, буду Вам очень признателен. С графикой я не очень дружу, но думаю, что смогу быть полезен и Вам. Жду предложений. Нужен баннер 88*31, лучше анимированный, по теме РНР, вопросы, ответы, статьи и т.д. Возможна оплата показами баннера или через RLE. Рассмотрю любые варианты.


автор рассылки Андрей Кухарчик


http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное