
PHP Basic.pptx
- Количество слайдов: 97
PHP Base-1
Сборка Open Server http: //open-server. ru/
PHP Тэги • Так PHP обрабатывает файл <p>Это будет проигнорировано. </p> <? php echo 'А это будет обработано. '; ? > <p>Это тоже будет проигнорировано. </p>
Комментарии echo "Это тест"; // Это однострочный комментарий в стиле c++ /* Это многострочный комментарий еще одна строка комментария */
Вывод данных echo "Привет мир!"; print("Привет мир!"); print "print можно использовать и без скобок. "; echo strftime('%d-%B-%Y, %A');
Переменные • Переменные в PHP начинаются со знака доллара ($) • Имя переменной должно начинаться с буквы или символа подчеркивания • Последующие символы в имени переменной могут быть буквами, цифрами или символом подчеркивания в любом количестве • Имя переменной чувствительно к регистру
Оператор присваивания Присвоить переменной $x значение 10 $x = 10; Теперь прибавим к значению переменной $x значение 15 $x = $x + 15; // $x теперь равно 25 Выведем значение переменной $x print $x; Удалим переменную $x unset($x);
Вывод данных $name = "Вася"; <h 1>Привет <? php echo $name? ></h 1> <h 1>Привет <? = $name? ></h 1> Этот сокращенный синтаксис допустим только когда включена директива конфигурации short_open_tag Работает всегда с PHP 5. 4
Типы PHP – язык с динамической типизацией PHP поддерживает восемь простых типов Четыре скалярных типа: • boolean • integer • float (число с плавающей точкой) • string Два смешанных типа: • array • object • Два специальных типа: • resource • NULL
Арифметические операции
Строковый оператор Оператор конкатенации ('. ') возвращает объединение левого и правого аргумента $a = "Hello "; $b = $a. "World!"; // $b теперь содержит строку "Hello World!" $a = "Hello"; $b = "World!"; $c = $a. " ". $b; // $c теперь содержит строку "Hello World!" $c = "$a $b"; // $c тоже "Hello World!"
Строковый оператор Оператор конкатенации ('. ') возвращает объединение левого и правого аргумента $a = "Hello "; $b = $a. "World!"; // $b теперь содержит строку "Hello World!" $a = "Hello"; $b = "World!"; $c = $a. " ". $b; // $c теперь содержит строку "Hello World!" $c = "$a $b"; // $c тоже "Hello World!"
Строковый оператор Оператор конкатенации ('. ') возвращает объединение левого и правого аргумента $a = "Hello "; $b = $a. "World!"; // $b теперь содержит строку "Hello World!" $a = "Hello"; $b = "World!"; $c = $a. " ". $b; // $c теперь содержит строку "Hello World!" $c = "$a $b"; // $c тоже "Hello World!"
Управляющие конструкции : if
Управляющие конструкции
Функции isset и empty if (isset($var)) Устанавливает, определена ли переменная Возвращает TRUE, если переменная определена; FALSE в противном случае if (empty($var)) Определяет, считается ли переменная пустой Возвращает FALSE, если переменная является непустой и ненулевым значением
Операторы сравнения
Логические операторы
Управляющие конструкции : else
Управляющие конструкции : else
Управляющие конструкции : switch
Управляющие конструкции : switch
Массивы
Массивы
Массивы
Массивы
Операторы
Операторы
Цикл for
Цикл while
Цикл foreach
Цикл foreach
Функции
Функции
Функции
Функции
Функции
Функции
Подключение файлов
Подключение файлов
Методы запросов
GET
POST
Прием данных
Обработка данных
Обработка данных
Требования к структуре Базы Данных
Вторая нормальная форма
Оператор SELECT
Обьеденение таблиц
Оператор INSERT
Оператор DELETE
Оператор UPDATE
Создание БД и таблицы
My. SQL. Why?
Программы для работы с My. SQL
Использование утилиты mysql. exe
Экспорт и импорт БД
Использование My. SQL в PHP приложениях
Алгоритм работы с сервером БД My. SQL
Работа с соединением
Соединение и выбор БД
Соединение и выбор БД
Соединение и выбор БД
Создание запроса
Получение результата запроса
Полезные функции
SQL инъекции
Подстановка текста
Расщепление SQL запроса
Использование UNION
Экранирование хвоста запроса
Выполнение команд на сервере
Подготовленные запросы
ООП. Зачем?
ООП. Основные понятия ООП – это методология (способ, подход) программирования согласно которой программный продукт представляется в виде взаимодействующих объектов
ООП. Основные понятия ООП – это методология (способ, подход) программирования согласно которой программный продукт представляется в виде взаимодействующих объектов
ООП. Основные понятия Под объектом обычно понимается некая именованная сущность, хранящая в себе данные и имеющая своё собственное поведение. Поведение объекта и структуру данных, которые он хранит, а также способы доступа к этим данным, описывает класс, к которому этот объект принадлежит.
ООП. Основные понятия Класс это описание чем-то похожих, родственных объектов, которые обычно хранят одинаковый набор данных и имеют одинаковое поведение. Объект, который принадлежит какому-то конкретному классу, называют его экземпляром. В качестве примера можно привести класс, описывающий пользователя. Этот класс описывает структуру данных, которые будет хранить в себе каждый экземпляр этого класса. Пусть этими данными будут логин и пароль. Объект класса, хранящий конкретные значения логина и пароля будет экземпляром этого класса.
Три кита ООП
Инкапсуляция – это принцип, согласно которому данные объединяются и хранятся в объектах, а так же защищаются от неверного использования. На практике принцип инкапсуляции заключается в том, что для доступа к данным используются методы, которые могут фильтровать или корректировать значения данных, которые мы пытаемся изменить.
Наследование – это процесс приобретения одним типом объектов (классом) некоторых свойств другого типа объектов. Цепочка наследования может быть сколь угодно длинной. Кроме того у одного предка может быть несколько потомков, каждый из которых полностью приобретёт свойства своего предка и добавит в них что-то своё, иначе наследование бессмысленно.
Полиморфизм – это использование одного и того же имени метода для решения нескольких похожих задач.
Описание класса в PHP начинается с ключевого слова class. После него следует имя класса. Именовать классы принято с большой буквы. После имени класса в фигурных скобках следует описание членов класса – его полей (данных) и методов. class Имя. Класса { // члены класса }
ООП Создание экземпляра класса ничем не отличается от записи результата работы функции в переменную, за исключением использования ключевого слова new. $экземпляр. Класса = new Имя. Класса();
Поля класса При описании полей класса нужно указывать спецификатор доступа – ключевое слово, которое будет определять область видимости поля, к которому оно относится. В php есть три спецификатора доступа: public, protected и private. Спецификатор public обеспечивает доступ к полю из любого места, protected– только из классов стоящих в той же цепочке наследования (из класса-потомка, из потомка и т. д. ) и private запрещает доступ ото всюду, кроме самого класса. После спецификатора доступа идёт имя поля, предварённое знаком доллара. class User { public $login; public $password; // описание методов класса }
Поля класса Для доступа к полям класса используется символ '->'. Имя поля, к которому мы хотим обратиться пишется без знака доллара. Поля доступны извне класса в этом случае, потому что мы используем спецификатор доступа public. $user = new User(); $user->login = 'true-coder'; $user->password = 'qwerty'; echo "Логин: $user->login<br />". "Пароль: $user->password";
Методы класса class Rectangle { public $width; public $height; public function get. Area() { return $this->width * $this->height; } } $rect = new Rectangle(); $rect->width = 15; $rect->height = 20; echo $rect->get. Area();
Конструкторы Для того, чтобы присвоить полям значения при создании экземпляра класса существуют конструкторы. При объявлении конструктора указывается спецификатор доступа, затем пишется ключевое слово function и __consturct. Конструктор, как и метод, имеет доступ ко всём полям класса через ключевое слово $this. class Rectangle { public $x; public $y; public $width; public $height; public function __construct($x, $y, $width, $height) { $this->x = $x; $this->y = $y; $this->width = $width; $this->height = $height; } public function get. Area() { return $width * $height; } public function translate. To($x, $y) { $this->x = $x; $this->y = $y; } }
Теперь можно создать прямоугольник вот так: $rect = new Rectangle(10, 20, 100, 200); echo "x: $rect->x<br />". "y: $rect->y<br />". "Ширина: $rect->width<br />". "Высота: $rect->height<br />";
MVC
Шаблон MVC описывает простой способ построения структуры приложения, целью которого является отделение бизнес-логики от пользовательского интерфейса. В результате, приложение легче масштабируется, тестируется, сопровождается и конечно же реализуется.
Модель — содержит бизнес-логику приложения и включает методы выборки (это могут быть методы ORM), обработки (например, правила валидации) и предоставления конкретных данных, что зачастую делает ее очень толстой, что вполне нормально. Модель не должна напрямую взаимодействовать с пользователем. Все переменные, относящиеся к запросу пользователя должны обрабатываться в контроллере. Модель не должна генерировать HTML или другой код отображения, который может изменяться в зависимости от нужд пользователя. Такой код должен обрабатываться в видах. Одна и та же модель, например: модель аутентификации пользователей может использоваться как в пользовательской, так и в административной части приложения. В таком случае можно вынести общий код в отдельный класс и наследоваться от него, определяя в наследниках специфичные для подприложений методы.
Вид — используется для задания внешнего отображения данных, полученных из контроллера и модели. Виды cодержат HTML-разметку и небольшие вставки PHP-кода для обхода, форматирования и отображения данных. Не должны напрямую обращаться к базе данных. Этим должны заниматься модели. Не должны работать с данными, полученными из запроса пользователя. Эту задачу должен выполнять контроллер. Может напрямую обращаться к свойствам и методам контроллера или моделей, для получения готовых к выводу данных. Виды обычно разделяют на общий шаблон, содержащий разметку, общую для всех страниц (например, шапку и подвал) и части шаблона, которые используют для отображения данных выводимых из модели или отображения форм ввода данных.
Контроллер — связующее звено, соединяющее модели, виды и другие компоненты в рабочее приложение. Контроллер отвечает за обработку запросов пользователя. Контроллер не должен содержать SQL-запросов. Их лучше держать в моделях. Контроллер не должен содержать HTML и другой разметки. Её стоит выносить в виды. В хорошо спроектированном MVC-приложении контроллеры обычно очень тонкие и содержат только несколько десятков строк кода. Чего, не скажешь о Stupid Fat Controllers (SFC) в CMS Joomla. Логика контроллера довольно типична и большая ее часть выносится в базовые классы. Модели, наоборот, очень толстые и содержат большую часть кода, связанную с обработкой данных, т. к. структура данных и бизнес-логика, содержащаяся в них, обычно довольно специфична для конкретного приложения.
PHP Basic.pptx