Опубликован: 01.03.2005 | Уровень: для всех | Доступ: платный
Лекция 3:

Управляющие конструкции

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >

Решение задачи

И наконец, вернемся к задаче, сформулированной в начале лекции. Мы хотим создать программу, которую можно было бы использовать для отправки писем (или просто для их генерации) с приглашениями на различные мероприятия множеству пользователей. В предыдущей лекции уже рассматривался подобный случай. Сейчас мы вынесем всю информацию о людях и событиях в отдельный файл data.php и напишем программу, не зависящую (ну, может, совсем чуть-чуть зависящую) от этой информации и ее структуры. В этом случае для того, чтобы, например, расширить список адресатов, не нужно будет изменять скрипт, генерирующий приглашения. Кроме того, можно будет использовать информацию о людях и событиях в других скриптах. В самом скрипте, генерирующем приглашения letters.php, мы использовали условные операторы, циклы, require и другие изученные ранее конструкции.

<?php
define("SIGN","С уважением, Вася"); 
// пусть наша подпись 
// будет константой

// информация о событиях
$events = array(
    "f" => "день открытых дверей",
    "o" => "открытие выставки", 
    "p" => "бал выпускников");
// имеющаяся информация о людях 
// (имя и электронный адрес)
$people = array(
    "ivan" => array(
	    "name" => "Иван Иванович",
        "email"=>"user_ivan@intuit.ru"),
    "pit" => array(
	    "name" => "Петр Петрович",
        "email" => "user_petr@intuit.ru"),
    "semen" => array(
	    "name" => "Семен Семенович"));
// кто куда приглашается
$who_where["ivan"] = "o" ;  
    // Иван – на выставку
$who_where["pit"] = "p";        
    // Петр – на бал
$who_where["semen"] = "f"; 
    // Семен – на день открытых дверей
?>
Листинг 3.12. data.php
<?php
require("data.php");    
    // включаем файл с данными о событиях
foreach($people as $key => $man_info){ 
    // для каждого человека делаем следующее:
$event_key = $who_where[$key]; 
    // получаем событие, 
	// на которое он приглашается
if ($event_key<>""){
    foreach($man_info as $key1 => $info){
    // получаем имя и email 
	// конкретного человека
    if ($key1=="name") 
	   $str = "Уважаемый (ая), $info";
    if ($key1=="email") $email = $info;
     }
    // составляем приглашение
    $str .= "<br>Приглашаем Вас на ". 
	    $events[$event_key];
    switch ($event_key){ 
	// в зависимости от события 
    // добавляем какую-нибудь строчку
        case "f":
        $str .= "<br>Подтвердите Ваше 
		    участие по телефону!";
        break;
        case "o":
        $str .= "<br>Приходите за 15 
		    минут до открытия!";
        break;
        case "p":
        $str .= "<br>Не забудьте подарок :-)";
        break;
    }
    $str .= "<br>" . SIGN . "<hr>"; 
	// добавляем подпись
    
	echo $str; // выводим приглашение на экран 

/* если у вас настроена отправка почты с 
помощью PHP, то письмо можно отправить 
командой mail($email,"Letter",$str); */
    }
}
?>
Листинг 3.13. letters.php

Заключение

Итак, мы завершили изучение управляющих конструкций языка PHP. Мы старались привести самое основное и не углубляться в различные нюансы тех или иных конструкций. Подробную информацию можно найти в руководстве по PHP.

< Лекция 2 || Лекция 3: 123456 || Лекция 4 >
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Сергей Крупко
Сергей Крупко

Добрый день.

Я сейчас прохожу курс  повышения квалификации  - "Профессиональное веб-программирование". Мне нужно получить диплом по этому курсу. Я так полагаю нужно его оплатить чтобы получить диплом о повышении квалификации. Как мне оплатить этот курс?

 

Мария Кравцова
Мария Кравцова
Россия, Сочи, РГПУ им. А.И.Герцена, 1997
Екатерина Архангельская
Екатерина Архангельская
Россия, СПбГУАП