Главная страница
Навигация по странице:

  • Средства PHP для отправки/принятия HTTP-сообщений.

  • Использование HTTP-контекста

  • 2.Объектная модель документа

  • 3.Cookie, назначение, время жизни

  • «Разработка серверных приложений для веб». 1. Функции в php стек вызовов функций, функции вывода стека


    Скачать 30.58 Kb.
    Название1. Функции в php стек вызовов функций, функции вывода стека
    Анкор«Разработка серверных приложений для веб
    Дата04.04.2022
    Размер30.58 Kb.
    Формат файлаdocx
    Имя файла«Разработка серверных приложений для веб».docx
    ТипРассказ
    #439486

    1.Функции в PHP: стек вызовов функций, функции вывода стека.

    Чтобы понять, как работают исключения, нужно рассказать о том, что представляет собой стек вызовов. По существу, стек вызовов (call stack) представляет собой запись, в которой указывается очередность вызова функций и методов в сценарии. Рассмотрим следующий пример:

    function firstFunction() {

    secondFunction();

    }

    function secondFunction() {

    thirdFunction();

    }

    function thirdFunction() {

    echo "Добро пожаловать!";

    }

    firstFunction();

     

    В процессе выполнения этого сценария функция firstFunction() вызовет функцию secondFunction(), которая, в свою очередь, вызовет функцию thirdFunction(). Что же будет представлять собой стек вызовов, если мы будем находиться внутри вызова функции thirdFunction()? Он будет выглядеть примерно так:

     

    thirdFunction();

    secondFunction();

    firstFunction();

     

    Теперь становится понятным, что стек вызовов — это ни что иное, как запись очередности вызова функций. Первой функцией, которая была помещена в стек вызовов, является функция firstFunction(), потому что именно она была вызвана первой из всех других функций, а текущая функция, thirdFunction(), находится вверху стека. По мере возврата результата этими функциями они покидают стек до тех пор, пока мы снова не вернемся к ним. Принцип стека вызовов является важной частью обработки исключений, о чем будет сказано далее.
    Средства PHP для отправки/принятия HTTP-сообщений.

    PHP функцию mail().
    bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])


    Обязательные параметры:



    • E-mail получателя

    • Заголовок письма

    • Текст письма


    Необязательные параметры:



    • Дополнительные заголовки письма

    • Дополнительные параметры командной строки


    Возвращаемое значение:



    • true, если письмо было принято к доставке

    • false, в противном случае.


    Простейший пример


    mail("E-mail получателя", "Загаловок", "Текст письма \n 1-ая строчка \n 2-ая строчка \n 3-ая строчка");

    ?>

    Использование HTTP-контекста

    method string

    GET, POST или любой другой метод HTTP, поддерживаемый удалённым сервером.

    По умолчанию GET.

    header array или string

    Дополнительные заголовки для отправки вместе с запросом. Значения в этой опции будут переопределять другие значения (такие как User-agent:, Host: и Authentication:), даже при следующих переадресациях Location:. Таким образом, не рекомендуется устанавливать заголовок Host:, если включён параметр follow_location.

    user_agent string

    Значение для отправки вместе с заголовком User-Agent:. Это значение будет использоваться, если заголовок user-agent не был указан в опции контекста header выше.

    По умолчанию используется значение директивы user_agent из файла php.ini.

    content string

    Дополнительные данные для отправки после заголовков. Обычно используется с запросами POST и PUT.

    proxy string

    URI, указывающий адрес прокси-сервера. (Например, tcp://proxy.example.com:5100).

    request_fulluri bool

    Когда установлено в true, весь URI будет использован при формировании запроса. (Например, GET http://www.example.com/path/to/file.html HTTP/1.0). Хотя это нестандартный формат запроса, некоторые прокси-серверы требуют его.

    По умолчанию false.

    follow_location int

    Следовать переадресациям заголовка Location. Для отключения установите в значение 0.

    По умолчанию 1.

    max_redirects int

    Максимальное количество переадресаций, которым можно следовать. Значение 1 или меньше означает, что никаких переадресаций не будет произведено.

    По умолчанию 20.

    protocol_version float

    Версия протокола HTTP.

    По умолчанию 1.1, начиная с PHP 8.0.0; до этой версии значение по умолчанию было 1.0.

    timeout float

    Тайм-аут на чтение в секундах, указанный с помощью типа float (например, 10.5).

    По умолчанию используется значение директивы default_socket_timeout из файла php.ini.

    ignore_errors bool

    Извлечь содержимое даже при неуспешных статусах завершения.

    По умолчанию false.

    2.Объектная модель документа

    Этот раздел представляет краткое знакомство с Объектной Моделью Документа (DOM) - что такое DOM, каким образом предоставляются структуры HTML и XML документов, и как взаимодействовать с ними. Данный раздел содержит справочную информацию и примеры.

    Объектная Модель Документа (DOM) – это программный интерфейс (API) для HTML и XML документов. DOM предоставляет структурированное представление документа и определяет то, как эта структура может быть доступна из программ, которые могут изменять содержимое, стиль и структуру документа. Представление DOM состоит из структурированной группы узлов и объектов, которые имеют свойства и методы. По существу, DOM соединяет веб-страницу с языками описания сценариев либо языками программирования.

    Веб-страница – это документ. Документ может быть представлен как в окне браузера, так и в самом HTML-коде. В любом случае, это один и тот же документ. DOM предоставляет другой способ представления, хранения и управления этого документа. DOM полностью поддерживает объектнориентированное представление веб-страницы, делая возможным её изменение при помощи языка описания сценариев наподобие JavaScript.

    Стандарты W3C DOM и WHATWG DOM формируют основы DOM, реализованные в большинстве современных браузеров. Многие браузеры предлагают расширения за пределами данного стандарта, поэтому необходимо проверять работоспособность тех или иных возможностей DOM для каждого конкретного браузера.

    Например: стандарт DOM описывает, что метод getElementsByTagName в коде, указанном ниже, должен возвращать список всех элементов
    в документе.

    paragraphs = document.getElementsByTagName("P");

    // paragraphs[0] это первый
    элемент

    // paragraphs[1] это второй
    элемент и т.д.

    alert(paragraphs[0].nodeName);

    Copy to Clipboard

    Все свойства, методы и события, доступные для управления и создания новых страниц, организованы в виде объектов. Например, объект document, который представляет сам документ, объект table, который реализует специальный интерфейс DOM HTMLTableElement, необходимый для доступа к HTML-таблицам, и так далее. Данная документация даёт справку об объектах DOM, реализованных Gecko-подобных браузерах.

    3.Cookie, назначение, время жизни

    Установка cookie происходит следующим образом:

    setcookie('name', 'value');

    Это базовые значения, которые обязательны для заполнения. Но параметров гораздо больше, а именно 7! Семь, Карл! И вот для чего каждый из них нужен.

    1

    Name

    Название (имя) cookie

    2

    Value

    Значение (как правило переменная)

    3

    Expires

    Время жизни куки

    4

    Path

    Путь для которого будут сохранены куки

    5

    Domain

    Можно указать поддомен (‘.domain.ru’)

    6

    Secure

    Использование только на HTTPS (true или false)

    7

    HttpOnly

    Использование только на HTTP (true или false)

    В подавляющем большинстве случаев используются первые 3 параметра чтобы записать cookie в PHP. То есть имя, значение и время жизни. Этого вполне достаточно для полноценной работы. Давайте к практике.

    setcookie('name', 5, time()+60)

    Здесь я установил cookie name со значением — 5, которая удалится через 1 минуту.

    Как получить, прочитать, проверить cookie в PHP

    В этом нам поможет глобальный массив COOKIE. Чтобы получить значение куки нам нужно вызвать ее по имени.

    echo $_COOKIE['name'];

    Как вы уже догадались, на экран выведется пятерка. Теперь сделаем проверку. Если данная кука была установлена, то выедем одно сообщение, если не была, то другое.

    if(isset($_COOKIE['name'])){

    echo 'Куки успешно установлены!';

    }else{

    echo 'Куки НЕ установлены!';

    }

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

    Теперь у нас есть условие и его можно использовать в некоторых случаях.

    Время жизни cookie в PHP

    Если не указан третий параметр (Expires), то куки будут храниться до окончания сессии, то есть пока вы не закроете браузер. Но можно выставить и другие временные рамки, к примеру на 1 час или на 1 день и т. д. Вот некоторые примеры:

    time()+3600 — один час

    time()+86400 — один день

    time()+86400 * 30 — 30 дней

    time()+86400 * 30 * 12 — 1 год

    Этого вполне достаточно, но многие интересуются, как сделать так, чтобы куки жили вечно или сделать время жизни бесконечным. Не очень понимаю в каких случаях это может понадобиться, однако ответ на этот вопрос будет — НЕТ, нельзя. Но можно поставить максимальное время. Пишется так: 0x7FFFFFFF — дата 19.01.2038 года.

    Как удалить или очистить (unset) куки в PHP

    Удаление куки в PHP можно сделать двумя способами. Оставить значение пустым или установить прошедшую дату, со знаком минус:

    1

    2


    setcookie('name', '');

    setcookie('name', '$value', time()-86400);







    4.Написать скрипт на PHP, в котором создать функцию. Функция принимает два аргумента: шрифт и размер. Функция выводит в окно браузера строку в формате «Текст – размер шрифта = N». Вывести с помощью функции на экран три примера разного шрифта

    function bar($string)

    {

    $array = (array)$string;

    $new_string = '';

    $i = 0;

    foreach($array AS $char)

    {

    if($i%3 == 0)

    $new_string .= 'Е'.$char;

    else

    $new_string .= $char;

    }

    echo $new_string;

    }


    написать администратору сайта