Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Конструкция continue





Конструкция continue так же, как и break, работает только "в паре" с циклическими конструкциями. Она немедленно завершает текущую итерацию цикла и переходит к новой (конечно, если выполняется условие цикла для цикла с предусловием). Точно так же, как и для break, для continue можно указать уровень вложенности цикла, который будет продолжен по возврату управления.
В основном continue позволяет вам сэкономить количество фигурных скобок в коде и увеличить его удобочитаемость. Это чаще всего бывает нужно в циклах-фильтрах, когда требуется перебрать некоторое количество объектов и выбрать из них только те, которые удовлетворяют определенным условиям. Приведем пример использования конструкции continue:

<?php
$x=0;
while ($x++<5) {
if ($x==3) continue;
echo "<b>Итерация $x</b><br>";
}
// Цикл прервется только на третьей итерации
?>

Рассмотренный скрипт выводит:

Итерация 1
Итерация 2
Итерация 4
Итерация 5

Грамотное использование break и continue позволяет заметно улучшить "читабельность" кода и количество блоков else.

37. Обработка запросов к веб-серверу с помощью PHP.

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

Внутри PHP-скрипта существует несколько способов получения доступа к данным, переданным клиентом по протоколу HTTP. До версии PHP 4.1.0 доступ к таким данным осуществлялся по именам переданных переменных (напомним, что данные передаются в виде пар «имя переменной, символ «=», значение переменной»). Таким образом, если, например, было передано first_name=Nina, то внутри скрипта появлялась переменная $first_name со значением Nina. Если требовалось различать, каким методом были переданы данные, то использовались ассоциативные массивы $HTTP_POST_VARS и $HTTP_GET_VARS, ключами которых являлись имена переданных переменных, а значениями – соответственно значения этих переменных. Таким образом, если пара first_name = Nina передана методом GET, то $HTTP_GET_VARS["first_name"]="Nina";.

Использовать в программе имена переданных переменных напрямую небезопасно. Поэтому было решено начиная с PHP 4.1.0 задействовать для обращения к переменным, переданным с помощью HTTP-запросов, специальный массив – $_REQUEST. Этот массив содержит данные, переданные методами POST и GET, а также с помощью HTTP cookies. Это суперглобальный ассоциативный массив, т.е. его значения можно получить в любом месте программы, используя в качестве ключа имя соответствующей переменной (элемента формы).

Пример 4.2. Допустим, мы создали форму для регистрации участников заочной школы программирования, как в приведенном выше примере. Тогда в файле 1.php, обрабатывающем эту форму, можно написать следующее:

<?php

$str = "Здравствуйте,

".$_REQUEST["first_name"]. "

".$_REQUEST["last_name"]."! <br>";

$str.="Вы выбрали для изучения курс по

".$_REQUEST["kurs"];

echo $str;

?>

Пример 4.2. Файл 1.php, обрабатывающий форму form.html

Тогда, если в форму мы ввели имя «Вася», фамилию «Петров» и выбрали среди всех курсов курс по PHP, на экране браузера получим такое сообщение:

Здравствуйте, Вася Петров!

Вы выбрали для изучения курс по PHP

После введения массива $_REQUEST массивы $HTTP_POST_VARS и $HTTP_GET_VARS для однородности были переименованы в $_POST и $_GET соответственно, но сами они из обихода не исчезли из соображений совместимости с предыдущими версиями PHP. В отличие от своих предшественников, массивы $_POST и $_GET стали суперглобальными, т.е. доступными напрямую и внутри функций и методов.

38. PHP. Операторы INCLUDE и REQUIRE. Особенности написания функций. ООП и работа с классами.

Какую конструкцию и когда использовать - Include или Require?

В этой статье я расскажу Вам про инструкции include, require, include_once и require_once, которые предназначены для подключения дополнительных PHP-файлов в сценарий.

Синтаксис:

include имя_файла;

require имя_файла;

Эти директивы заменяются интерпретатором в процессе выполнения скрипта на содержимое файла, указанного в качестве параметра.

Кроме открытия локальных файлов, можно подключать файлы по сети используя вместо пути - URL. Эта возможность может быть блокирована параметром конфигурации PHP.

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

Как было сказано выше, include если не обнаружит файла, просто выдаст предупреждение, require выдаст фатальную ошибку.

Давайте рассмотрим это на примере, подразумевая, что файла test.php нет.

<?php

// Выведет: Warning: include(test.php)

// но сценарий продолжает выполняться

include 'test.php';

// Выведет: text

echo 'text';

?>

А теперь рассмотрим код с конструкцией require:

<?php

// Выведет: Fatal error: require()

// и сценарий прекратит выполняться

require 'test.php';

echo 'text';

?>

В большинстве случаев, особенно учитывая что на рабочем сервере вывод ошибок отключен, не подключение любого из файлов критично, и лучше остановить работу приложения, чем ловить кучу warning'ов в лог от других компонентов, которым требовались различные ресурсы и функционал данного файла (класс, константы, функции и т.п.)

Конструкция require поддерживает включения удаленных файлов (начиная с версии PHP 4.3.0), если такая возможность включена в конфигурационном файле PHP.

Помимо include и require существуют инструкции однократного включения - include_once и require_once. Они работают так же, как и обычные include и require, но перед подключением файла проверяют, был ли он подключен ранее или нет. Это уберегает Вас от многократного подключения одного и того же файла.

До версии PHP 4.0.2 применялись следующие правила: require всегда пыталась читать файл назначения, даже если строка, в которой он указан никогда не выполнялась. Условный оператор не влиял на require. Однако, сейчас, они практически идентичны. Единственное отличие этих конструкций в том, что require требует обязательного присутствия подключаемого файла и выдает критическую ошибку при его отсутствии, а include - лишь предупреждение.

Иногда бывает нужно узнать какие файлы были подключены выше описанными директивами. Для этого в php есть две идентичные функции: get_included_files и get_required_files. Каждая из них возвращает массив с именами включенных файлов.







Дата добавления: 2015-09-15; просмотров: 419. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Studopedia.info - Студопедия - 2014-2026 год . (0.012 сек.) русская версия | украинская версия