Курсовая работа: Создание инструментального средства для организации социологических опросов

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];

3 СТРУКТУРА БАЗЫ ДАННЫХ

Таблица ` 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 ` :-Предназначена для хранения вопросов для анкет.

К-во Просмотров: 729
Бесплатно скачать Курсовая работа: Создание инструментального средства для организации социологических опросов