Мегаобучалка Главная | О нас | Обратная связь


Характерные конструкции



2020-02-03 143 Обсуждений (0)
Характерные конструкции 0.00 из 5.00 0 оценок




То, что 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 Структура работы приложения

 




2020-02-03 143 Обсуждений (0)
Характерные конструкции 0.00 из 5.00 0 оценок









Обсуждение в статье: Характерные конструкции

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (143)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)