StenT3

                   Поучитесь                                                               HOME  Books  GuestBook   E-mail       LogoS2

PHP

                                                                                                                                            Краткий обзор

 

PHP (урок 1): Шишок (не ругательное слово!)
Для справки: Шишок - домовой из детского фильма "Деревня Утка"

Работает ли ?

Прежде чем начать изучение основ языка PHP вы должны проверить установлены ли РНР-модули на вашем WEB сервере, сделать это можно следующим образом:
Создайте файл с расширением .php - на пример, "test.php"
Вставьте туда эти строки:

<?php

phpinfo();

?>

Сохраните то, что получилось, и поместите, к примеру, в корень вашей папки на Web сервере. Чтобы проверить, что получилось надо набрать в адресной строке вашего броузера: http://путь к вашей папке на сервере/test.php Если в окне появилась куча информации о настройках PHP и сервера, то считайте что вы победили … теперь вам открыт путь для дальнейшего изучения … вперед!

Тем, у кого все обломалось советую поменять сервис. Кстати, многие солидные провайдеры не поддерживают PHP! Слишком накладно! Не по деньгам (PHP распространяется бесплатно), по проблемам от него возникающим… ;-))
А если у вас у самих стоит Web сервер, то надо всего лишь поставить РНР.

Начнем…

Прежде всего, надо понять, как втиснуть PHP код в нашу страницу, а очень просто! Берем и помещаем текст программы в спецовый тег :

<?php

... PHP код ...

?>

более короткая версия

<?

... PHP код ...

?>

А вот демонстрация того как можно совмещать PHP и HTML:

<html>

<head>
<title>Шишок</title>
</head>

<body>

Шишки часто таскают ножи с общего стола, а ты ?

<br>

<?php

// это РНР код
echo "<b>Шишок - друг семьи</b>";

?>

</body>
</html>

И если вы захотите увидеть HTML содержимое своей страницы через броузер, то вот что увидите:

<html>

<head>
<title>Шишок</title>
</head>

<body>

Шишки часто таскают ножи с общего стола, а ты?

<br>

<b>Шишок - друг семьи</b>

</body>
</html>

Не удивляйся, что нет PHP кода! Он проработан интерпретатором! Здесь присутствует только результат его выполнения.

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

Вот тоже самое, но наглядно:

<?php

// двойной слеш в виде комментария

/* комментарий */

?>

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

PHP поддерживает несколько типов переменных:

  • integers - целые числа,
  • double - числа с дробной частью,
  • floating point numbers - числа с плавающей запятой,
  • strings - строки,
  • arrays - массивы.

Есть еще несколько, но они нам не нужны (они есть в мануале).
Вообще РНР не требует от программиста определения типа переменной, это делает сам интерпретатор во время выполнения программы. Очень приятно, что не надо думать о том, какой тип присвоить своей переменной.

Как и в других языках, в РНР переменной присваивается уникальное имя. Имя переменной обязательно должно начинаться со знак доллара [$].
Ниже примеры переменных:

$name $one $INCOME - все это РНР переменные.

Надо заметить, что PHP очень чувствителен к содержанию имени переменной так что переменная

$me отлична от $Me и $ME

Этот пример демонстрирует один из способов применения переменных:

<html>

<head>
<title>Шишкование вместе с РНР</title>
</head>

<body>

Все ли ты знаешь о Шишках?

<br>

<?

// Присвоим значения двум переменным
$fname = "Шишок";
$lname = "Иванович";

?>

<b> <? echo "Я $lname...$fname $lname!"; ?> </b>

</body>
</html>

В этой конструкции переменным $fname и $lname было присвоено строковое значение, и была использована функция echo(). Она (эта функция) служит для вывода на экран переменных, текста и др. … (в СИ это printf)
Есть функция синонимичная по действию echo() это print(), служит для того же. Вот пример ее использования:

<html>

<head>
<title>Шишкование вместе с РНР</title>
</head>

<body>

Все ли ты знаешь о Шишках?

<br>

<?

// Присвоим значения двум переменным
$fname = "Шишок";
$lname = "Иванович";

?>

<? print("<b>Я $lname...$fname $lname! </b>"); ?>

</body>
</html>



Кстати, вы можете использовать теги выделения <b></b> когда работаете cо строковой константой в PHP. Честное пионерское… ;-)))

Я думаю, что следующий пример использования переменных и некоторых самых распространенных математических операций пробудит в некоторых желание экспериментировать … посмотрим !!!

Пример: Таблица сделанных в магазине покупок.

<?php

// Установим значения некоторых переменных

// Игрушки
$item1 = "Шишковый мяч";
$item2 = "Шишковатые кубики";
$item3 = "Шишканутая скакалка";

// цена
$item1_cost = 100;
$item2_cost = 20;
$item3_cost = 48;

// количество
$item1_qty = 1;
$item2_qty = 15;
$item3_qty = 1;

// подсчет полной стоимости каждого товара
$item1_total = $item1_cost * $item1_qty;
$item2_total = $item2_cost * $item2_qty;
$item3_total = $item3_cost * $item3_qty;

// подсчет общей стоимости
$grand_total = $item1_total + $item2_total + $item3_total;

// Спец. скидка Шишковым друзьям - 10%
$discount = 10;

// Вычисление скидки
$amount = ($grand_total * 10)/100;

// вычитание ее из общей суммы
$net_total = $grand_total - $amount;

?>

<html>
<head>
<title>Шишковые игрушки</title>

<style type="text/css">
td {font-family:Verdana;}
</style>

</head>
<body>

<center>

<table border="3" cellspacing="0" cellpadding="4">

<tr>
<td colspan="4" align="center" valign="middle">
<b>Ваши покупки</b>
</td>
</tr>

<tr>
<td>
<b>Описание</b>
</td>
<td>
<b>Стоимость<b>
</td>
<td>
<b>Количество</b>
</td>
<td>
<b>Общая стоимость</b>
</td>
</tr>

<?php

echo "<tr>
<td> $item1 </td>
<td align=right> $item1_cost </td>
<td align=right> $item1_qty </td>
<td align=right> $item1_total </td>
</tr>";

echo "<tr>
<td> $item2 </td>
<td align=right> $item2_cost </td>
<td align=right> $item2_qty </td>
<td align=right> $item2_total </td>
</tr>";

echo "<tr>
<td> $item3 </td>
<td align=right> $item3_cost </td>
<td align=right> $item3_qty </td>
<td align=right> $item3_total </td>
</tr>";

echo "<tr>
<td colspan=3 align=right>
<b>Общая стоимость</b>
</td>
<td align=right>
<b>$grand_total</b>
</td>
</tr>";

echo "<tr>
<td colspan=3 align=right>
<b>Ваша скидка [$discount%]</b>
</td>
<td align=right>
<b>$amount</b>
</td>
</tr>";

echo "<tr>
<td colspan=3 align=right>
<b>Итого</b>
</td>
<td align=right>
<b>$net_total</b>
</td>
</tr>";

?>

</table>

<font size=-2 color=silver face=Verdana>Спасибо за сделанные покупки!</font>

</center>
</body>
</html>

Попробовали? Не думайте, что это все ерунда! Это очень полезный пример. Многие сложные скрипты содержат в своей основе, части этой самой программы.
Запомните!!!! Просто не значит не важно!!! Постепенно учась на чем-то мелком вы подходите к более сложному! Все впереди…

Соединение…

В РНР есть такая вещь как конкатенация - соединение строк, строковых значений переменных…и т.д. (В BASICe это знак "+"). Она обозначается знаком [.].
Например: "Я пошел"."гулять" = "я пошел гулять"
Более подробно на примере:

<?php

// Установим значения некоторых переменных

$a = "Шишок";
$b = "реальный";
$c = "черт";

// первый вариант
$gamma = $a . " " . $b . " " . $c;

// второй вариант
$delta = $a . " " . $c . " " . $b;

?>

<html>
<head>
<title>Да?!…Да!!!</title>

</head>
<body>
Первый вариант это:
<? echo $gamma; ?>

<br>

Второй вариант это:
<? echo $delta; ?>

</body>
</html>

В результате вы увидите следующее:

Первый вариант это: Шишок реальный черт
Второй вариант это: Шишок черт реальный

Первые функции

Если вы уже знакомы с Си, то вы точно знаете такую директиву как "include" с которой, как раз, начинаются все программы. В РНР есть две функции, выполняющие похожую работу - это include() и require().
Посмотрите на их работу:

<html>
<head>
<title>Деревня Утка</title>
<style>
h1,h3,li { font-family:Verdana; }
</style>
</head>

<?php

// Шишку надо поесть…
require("eat.php");

// попить…
include("drink.php");

// и, конечно, набить морду лешему
require("draka.php");

?>

<body>
<h3>Отделение милиции.</h3>
<ol type="a">
<li>Что ели:
<?php echo "$eat"; ?>
<li>а пили: <?php echo "$drink"; ?>
<li>За что лешего пытались в луже утопить: <?php echo "$draka"; ?>
</ol>
<br>
<h3>Кстати,...дети есть? Идите - идите… буян!!!</h3>
</body>
</html>

Сохраните это в файле с РНР расширением. Создайте еще три РНР файла со следующими названиями: "eat.php", "drink.php" и "draka.php", затем все три сохраните в одной папке с первым.
Вот текст трех:

[eat.php]

<?php

$eat = "Мясо";

?>

[drink.php]

<?php

$drink = "Самогон и сок";

?>

[draka.php]

<?php

$draka = "за правду";

?>

Теперь, если вы загрузите главную страницу, то РНР автоматически вложит содержимое тех трех файлов в переменные $eat, $drink, $draka и выведет на экран. Радуйтесь, если это произошло!!! Вы программер… ;-))))))

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

Очень используемым и практичным способом применения функции include() является вкладывание в нее низа страницы или т.н. копирайта:

<html>
<head>
<title></title>
</head>

<body>

...твоя HTML страница ...

<br>

<?

include("footer.html");

?>

</body>
</html>

где "footer.html" содержит:

<font size=-1 face=Arial>This page copyright 2001 by Archer. All rights reserved.</font>

Теперь этот копирайт можно использовать на любой странице! Для этого надо всего лишь вставить include(), а если захочется поменять содержание, то вперед … поменяйте содержимое файла "footer.html"!

Вот и закончился урок! Мы показали вам наиболее простые составляющие РНР - переменные, их типы, операторы. Вы прикоснулись к фундаментальным вещам - функциям. На их примере мы попытались продемонстрировать силу и мощь РНР!!!

 

 

Более подробную версию этого описания и урока

этого раздела вы можете скачать здесь