PHP в деталях

       

и не дать ему а)


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

Разделив получение адресов подписчиков и сам процесс рассылки в разные классы, мы получаем много полезного. В том числе

1) все операции на своих местах ("Ты не установил соединение с базой в главной программе!")

2) отсюда? упрощение процесса отладки ("Почему здесь переменная пустая?!")

2) читаемый код ("А что делается в этих строках?!")

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

Если вы используете не MySQL (у меня, к сожалению, поддерживается только он), можно взять класс Database и подправить под нужную вам базу. Конечно, можно было в программе замутить наследственные классы (один класс Database, а остальные ? дочки), но рассыльщик имеет скорее рабочую, чем демонстрационную задачу. К тому же, это не лучший способ поддержки разных баз данных: удобнее держать все в одном классе, который знает функции разных серверов. Да, и, к тому же, здесь сделано два класса лишь для поддержки хранения адресов в файлах.

Скачать рассыльщика можно, нажав на ссылку ниже.
Содержание раздела