Характерные конструкции
То, что PHP относится к интерпретируемым языкам, позволило реализовать гибкий и удобный механизм обращения к переменным, функциям и классам. Обращение к переменным производится с помощью символа $, за которым следует имя переменной. Данная конструкция может быть применена также для вызова функций, методов и т.п., имя которых совпадает с содержимым переменной. Например: $a = 'I am a'; //записываем значение в переменнуюecho $a; //Выводим содержимое переменной а $b = 'a';echo $$b; //Выводим содержимое переменной а $c = 'function_name';$c(); // Вызовется функция function_name $d = 'Class_name';$obj = new $d(); // Создастся объект класса Class_name $obj->$b; //Обращение к полю a объекта$obj->$c(); //Вызов метода function_name объекта [2]. Объектно-ориентированное программирование PHP поддерживает широкие объектно-ориентированные возможности, полная поддержка которых была введена в пятой версии языка. Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает наследование (родительский класс указывается с помощью ключевого слова extends после имени класса) и интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent. Классы в PHP 5 имеют ряд специальных методов (так называемых «magic methods»), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct, в ранних версиях конструктором служил метод, одноименный с классом) и деструктор (__destruct), а также методы чтения (__get) и записи (__set), свёртывания (__sleep) и развёртывания (__wake), клонирования (__clone) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно легко добиться существенного изменения поведения объекта. Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием символов ->. Для доступа к членам класса из его методов используется переменная $this. class C1 extends C2 implements I1,I2{ private $a; protected $b; function __construct($a,$b){ parent::constructor($a,$b); $this->a = $a; $this->b = $b; } public function plus(){ return $a+$b; }/* ............... */} $d = new C1(1,2);echo $d->plus(); [3] Другие возможности Среди наиболее часто используемых возможностей PHP стоит отметить следующие: · имеется большой арсенал функций для работы со строками; · работа с регулярными выражениями PCRE выполняется функциями с префиксом preg_ · работа с базами данных осуществляется посредством модулей php5-mysql для MySQL, php5-pgsql для PostgreSQL и др. Функции этих модулей позволяют открывать соединение, выполнять SQL-запросы к СУБД, получать данные в удобной для обработки виде и т.д. В серьезных проектах рекомендуется использовать модули абстракции базы данных и объектно-реляционные проекции (ORM); · для PHP разработаны средства шаблонирования web-страниц, позволяющие эффективно разделить представление от модели в духе MVC, например Smarty[4]; СТРУКТУРА БАЗЫ ДАННЫХ
Таблица ` anketa `:- Предназначена для хранения параметров анкет `idank` int(11) NOT NULL auto_increment, Унифицированный номер анкеты. Используется как PK, не может быть не заполнено, автоматическое увеличение поля, целочисленное. `title` varchar(100) NOT NULL default '', Текст названия анкеты. Храниться как уникальный (не допускает одинаковых имен), не может быть не заполнено, по умолчанию значение пробел, символьное(100). `votes` int(11) NOT NULL default '0', Поле, содержащее количество ответов на анкеты пользователей, не может быть не заполнено, по умолчанию значение 0, целочисленное. Таблица ` answer `: - Таблица предназначена для хранения ответов пользователя на анкеты. `id` int(11) NOT NULL auto_increment, Унифицированный номер ответа пользователя на анкету. Используется как PK, не может быть не заполнено, автоматическое увеличение поля, целочисленное. `iduser` int(11) NOT NULL default '0', Унифицированный номер пользователя используется как FK к таблице `users`, не может быть не заполнено, по умолчанию значение 0, целочисленное. `idank` int(11) NOT NULL default '0', Унифицированный номер анкеты используется как FK к таблице `ankets`, не может быть не заполнено, по умолчанию значение 0, целочисленное. `idquest` int(11) NOT NULL defa-ult '0', Унифицированный номер вопроса (для формирования анкет) используется как FK к таблице `quest`, не может быть не заполнено, по умолчанию значение 0, целочисленное. `answer` varchar(100) NOT NULL default '0', Записывается текст самого ответа, не может быть не заполнено, по умолчанию значение 0, символьное(100). Таблица ` quest `:-Предназначена для хранения вопросов для анкет. `id` int(11) NOT NULL auto_increment, Унифицированный номер вопроса (для формирования анкет) . Используется как PK. ` idank ` int (4) NOT NULL default '0', ИД анкеты Унифицированный номер анкеты используется как FK к таблице `ankets`, не может быть не заполнено, по умолчанию значение 0, целочисленное. `text` text NOT NULL, текст вопроса . Содержит текст вопроса, не может быть не заполнено, текстовое. Таблица ` users `: -Предназначена для хранения данных пользователей. `id` int(11) NOT NULL auto_increment, Унифицированный номер пользователя. Используется как PK. ` name ` text NOT NULL , Содержит Логин пользователя, не может быть не заполнено, текстовое. ` pass ` text NOT NULL , Содержит пароль пользователя, не может быть не заполнено, текстовое. `type` boolean NOT NULL default '0', Логическое поле для определения типа пользователя (обычный или администратор) , не может быть не заполнен, значение по умолчанию false.
Структура приложения
Приложение состоит из следующих 8 файлов: Ankets_manager.php Форма управления администратора, администрирование анкет, создание сохранение, правка. Под каждое действие рисуется отдельная форма. Для редактирования одна, для панели администратора другая. Answer . php Работа с ответами и с базой. Реализует функцию администратора для проверки ответов конкретных пользователей на конкретную анкету. Так же реализует счетчик, для подсчета количества ответов на анкету. Form . php Прорисовка форм. Производит sql выборки из таблицы ank по её ID номеру и многое другое. Function . php Реализованы функции по работе с сессиями, подключение к базе. Удаление пользователя, добавление, и остальные функции. Index . php Начальная страница, создает начальную форму авторизации, создает сессию, рисует форму. Register . php Реализация регистрации. Создает форма регистрации пользователя, используются функции для её обработки. Result_view.php Форматирование и вывод результатов. Users_manager.php Редактирование добавление записями пользователей. Примерная работа приложения отражена на рис. 4.1, который приведен ниже. Рис. 4.1 Структура работы приложения
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (143)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |