Последним способом задания стилей является определения таблицы стилей отдельного элемента путем задания его атрибута style. Например, стиль элемента H1 из предыдущего примера мог бы быть задан и так:
<H1 style="border-width: 1; border: solid; text-align: center">
Этот заголовок имеет указанный стиль</H1>
Вообще говоря, подобной практики следует избегать; она приемлема только в том случае, когда ваш документ содержит единственный элемент с данным набором стилей.
13.Общие правила построения PHP-программ
PHP-программы состоят из простого текста, поэтому набирать их можно в любом текстовом редакторе. Расширение файлов PHP-программ по умолчанию в PHP4 -.php. На основании этого расширения сервер распознает файл как PHP-программу и запускает интерпретатор. PHP-программа должна быть отделена от обычного HTML-текста. Существует четыре стиля обрамления PHP-кода:
Стиль | Открывающий тег | Закрывающий тег |
Сокращенный | <? | ?> |
XML (стандартный) | <?php | ?> |
ASP | <% | %> |
SCRIPT (программный) | <SCRIPT LANGUAGE="php"> | </SCRIPT> |
Из перечисленных тегов только стандартные и программные работают в любой конфигурации PHP. Для разделения операторов (по аналогии с Си) используется точка с запятой. Комментарии в PHP-программе могут быть трех стилей: /* Многострочный в стиле классического Си */ // Однострочный в стиле С++ # Однострочный в стиле Perl
|
|
В одном документе можно чередовать HTML-текст и блоки PHP-операторов сколько угодно раз. При этом все переменные, функции и классы, определенные в первом блоке, будут доступны и в последующих блоках.
14. Типы данных. Выражения. Функции
PHP поддерживает восемь простых типов.
Четыре скалярных типа:
Boolean - выражает истинность значения - либо TRUE, либо FALSE. введен в PHP 4.Чтобы определить булев тип, используйте ключевое слово TRUE или FALSE. Оба регистро-независимы.
integer Целое это число из множества Z = {..., -2, -1, 0, 1, 2,...}, обычно длиной 32 бита. могут быть в 10ой, 16ой(перед 0х) или 8ой(перед 0) СС, с знаком (- или +).
float - вещественное число довольно большой точности. могут быть определены:
$a = 1.234; $b = 1.2e3; $c = 7E-10;
string - это набор символов любой длины, могут содержать в себе также и нулевые символы. Длина строки ограничена только размером свободой оперативной памяти, можно также непосредственно обратиться к любому ее символу.
Два смешанных типа:
array - это упорядоченный набор данных, в котором устанавлено соответствие между значением и ключом. Индекс (ключ) служит для однозначной идентификации элемента внутри массива. В одном массиве не может быть двух элементов с одинаковыми индексами.
Простой массив (список) Массивы, индексами которых являются числа, начинающиеся с нуля - это списки: $names[0]="Апельсин";$names[1]="Банан";
|
|
Ассоциативные массивы- индексом массива является строка(может содержать пробелы, специальные символы и быть любой длины)я ассоциативными массивами. Индексы ассоциативных массивов называются ключами.$names["Иванов"]="Иван"; $names["Сидоров"]="Николай";
Многомерные массивы - похожи на записи в языке Pascal или структуры в языке C. $A["Ivanov"] = array("name"=>"Иванов И.И.", "age"=>"25", "email"=>"ivanov@mail.ru");
object является одним из базовых понятий объектно-ориентированного программирования. Внутренняя структура объекта похожа на хэш, за исключением того, что для доступа к отдельным элементам и функциям используется оператор ->, а не квадратные скобки. Для инициализации объекта используется выражение new, создающее в переменной экземпляр объекта.
resource - это специальная переменная, содержащая ссылку на внешний ресурс. Ресурсы создаются и используются специальными функциями.
NULL эта переменная не имеет значения. Переменная считается NULL если:
ей была присвоена константа NULL;
ей еще не было присвоено какое-либо значение;
она была удалена с помощью unset().
Замечание: Если вы желаете проверить тип и значение определенного выражения, используйте var_dump(). Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype().Если вы хотите принудительно изменить тип переменной, вы можете либо привести переменную, либо использовать функцию settype().
Выражения в PHP
Под выражением в PHP понимается то, что имеет значение. И обратно: если что-то имеет значение, то это "что-то" и есть выражение.Основными формами выражений являются константы и переменные. Например,"$a = 100", вы присваиваете '100' переменной $a:
В приведенном примере $a - это переменная, = - это оператор присваивания, а 100 - это и есть выражения. Его значение 100.Выражением может быть и переменная, если ей сопоставлено определенное значение:$x = 7;
Немного более сложными примерами выражений являются функции. Например, рассмотрим следующую функцию:
<?php
function funct ()
{ return 5;}
?>
Функции - это выражения, значением которых является то, что возвращает функция. Поскольку funct() возвращает 5, значением выражения 'funct()' является 5. Как правило, функции возвращают не статическое значение, а вычисленное.
Каждый из 5 типов значений может присваиваться переменной или возвращаться функцией.
PHP - это язык, ориентированный на выражения и рассматривающий почти все как выражение.
Логические выражения — это выражения, у которых могут быть только два значения: ложь и истина Для логических выражений справедливы все свойства логических переменных. Эти выражения чаще всего возникают при применении операторов >, < и == (равно), || (логическое ИЛИ), && (логическое И),! (логическое НЕ) и других.
Строковые выражения Определение строки в кавычках или апострофах может начинаться на одной строке, а завершаться на другой. пример строкового выражения: $a="Это текст";
пользовательских функций в PHP:
1.Доступны параметры по умолчанию. Можно вызывать одну и ту же функцию с переменным числом параметров;
2.Пользовательские функции могут возвращать любой тип;
3.Область видимости переменных внутри функции является иерархической;
4.Есть возможность изменять переменные, переданные в качестве аргумента.
вопрос об области видимости переменных.
Переменные по области видимости подразделяются на глобальные и локальные.
Помимо локальных и глобальных переменных, в PHP существует еще один тип переменных - статические переменные.Если в теле пользовательской функции объявлена статическая переменная, то компилятор не будет ее удалять после завершения работы функции.
|
|
function Имя (аргумент1[=значение1],...,аргумент1[=значение1])
{тело_функции}
функции могут возвращать любые значения в зависимости от переданных им параметров.
15. Константы. Переменные. Операторы
Константы в PHP Константой называется именованная величина, которая не изменяется в процессе выполнения программы (скрипта). После определения константа не может быть изменена. В имени константы обычно используются только заглавные буквы. определяются функцией define ($name, $value, $case_sen), где:
Для проверки существования константы можно использовать функцию defined().В PHP существуют следующие предопределенные константы:
__LINE__ Текущая строка в файле.
__FILE__ Полный путь и имя текущего файла.
__FUNCTION__ Имя функции. (Добавлена в PHP 4.3.0.)
__CLASS__ Имя класса. (Добавлена в PHP 4.3.0.)
__METHOD__ Имя метода класса. (Добавлена в PHP 5.0.0
Общие понятия о переменных в PHP переменная - это область оперативной памяти, доступ к которой осуществляется по имени. Имя любой переменной в PHP начинается со знака $. Имена переменных чувствительны к регистру символов, может состоять из любых символов, код ASCII которых старше 127.Тип переменной не требуется задавать специально. Конкретный тип переменной устанавливается и меняется в ходе выполнения программы. Тип переменной можно проверить с помощью функции gettype().
Операторы напоминают общеизвестные операторы языка Си.
Унарные операторы
- Изменение знака на противоположный
! Дополнение. Используется для реверсирования значения логических переменных
++ Увеличение значения переменной.
-- Уменьшение значения переменной.
Арифметические операторы
- + * / %
Оператор конкатенации "." присоединяет правую строку к левой.
= Присваивание += -= *= /= %=.=
Битовые операторы позволяют изменять отдельные биты целых чисел.
& | ^ Исключающее ИЛИ ~ Инверсия >> <<
Операторы сравнения
> >= < <= == ===!=!==
Логические операторы
and or xor! && ||
16. Управляющие структуры.
Условные операторы: if и?.
Существует три типа оператора if. Первый тип - базовый условный оператор. Например:
if ($a > $b) { echo "А больше Б"; }
|
|
Второй тип - условный оператор if-else. Например:
if ($a > $b) { echo "А больше Б"; }else { echo "А не больше Б"; }
Третий тип - условный оператор if-elseif. Например:
if ($a > $b) { echo "А больше Б"; }elseif ($a == $b) { echo "А равно Б"; }else {echo "А меньше Б"; }
Условный оператор? возвращает одно из двух значений, разделенных двоеточием.
$text = ($a == $b)? "А равно Б": "А не равно Б"; echo $text;
Оператор выбора
switch оценивает одно выражение и в зависимости от его значения выполняет один из нескольких блоков программы. Выражение в операторе switch чаще всего бывает простой переменной.
Цикл с параметром for
сущеcтвует два типа цикла с условием:
while - цикл с предусловием;
do.. while - цикл с постусловием.
Оператор while оценивает значение условия и, если оно истинно, выполняет действия в фигурных скобках (тело цикла). Как только значение условия станет ложным, выполнение цикла прекращается.
while ($a <= 19) { echo "квадрат $a равен ".($a*$a)."<br>"; $a++; }
Цикл do.. while - истинность условия проверяется не до, а после выполнения тела цикла.
do { echo "квадрат $a равен ".($a*$a)."<br>"; $a++; }
while ($a <= 19);
В организации цикла могут участвовать еще два оператора: break (выход из цикла) и continue (переход на следующий шаг).
17. Web-сервер. Классификация
Веб-сервер — это сервер, обслуживающий запросы к одному или нескольким сайтам Всемирной паутины (веб-сайтам).
Клиент, в роли которого обычно выступает веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы — это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.
Веб-сервером называют как программное обеспечение, выполняющее эти функции, так и непосредственно компьютер, на котором это программное обеспечение работает.
Веб-серверы могут иметь различные дополнительные функции, например:
- ведение журнала обращений пользователей к ресурсам;
- аутентификация и авторизация пользователей;
- поддержка динамически генерируемых страниц;
- поддержка HTTPS для защищённых соединений с клиентами.
наиболее распространёнными веб-серверами являются:
Apache — свободный веб-сервер, наиболее часто используемый в Unix-подобных операционных системах;
IIS от компании Microsoft, распространяемый с ОС семейства Windows NT.
В качестве клиентов для обращения к веб-серверам:
- веб-браузер, работающий на настольном компьютере или переносном устройстве
- разнообразные программы, самостоятельно обращающиеся к веб-серверам
- мобильный телефон
- другие интеллектуальные устройства или бытовая техника.
18-19. Загрузка (php)сайтов на сервер
сервер может узнать о клиенте очень мало. Только то, что клиент пришлет в HTTP-запросе. Все, что сервер может знать о клиенте, можно посмотреть командой phpinfo()
Пользователь нажимает на ссылку, браузер посылает запрос серверу и ждет ответа:
Браузер -> PHP
PHP выполняет скрипт, отдает результат в браузер и завершает работу:
PHP -> браузер
Браузер отображает страницу, "просматривая" её на предмет ссылок, которые надо запросить у сервера (теги <img src>, <script src> и так далее) и посылает соответствующие запросы.
Пользователь заполняет форму и нажимает на кнопку:
Браузер -> PHP
PHP обрабатывает форму, записывает данные в базу и посылает браузеру заголовок
Location:
PHP -> браузер
Браузер, получив этот заголовок, запрашивает указанную страницу
Браузер -> PHP
PHP выполняет ее... и так далее.
РНР выполняется на сервере. Браузер посылает серверу запрос на страницу с php кодом. Сервер отдает эту страницу на исполнение интерпретатору PHP, интерпретатор генерирует HTML код, отдает серверу, а сервер посылает клиенту. Никакого РНР кода в браузер не попадает. Единственный способ отправить что-то скрипту - это кликнуть по ссылке или нажать на кнопку в форме. Так, чтобы РНР обрабатывал какие-то действия пользователя в браузере - невозможно. РНР остался на сервере, ждать новых запросов с данными для обработки. Скрипт, который выполнялся, отдавая пользователю страницу, завершил работу. Все данные, которые были в нем - пропали. Именно поэтому, если какая-то переменная нужна при последующих вызовах скрипта, ее надо этому скрипту передать снова.