Пример динамического сайта на PHP — сайт на PHP своими руками
Самый простой пример динамического сайта на PHP, это проще, чем кажется изначально.
Данный урок покажет пример простого динамического сайта на PHP. В верстке такого сайта особых трудностей нет, нужно только внимательно изучить примеры и для надежности, прочитать статью о том, что нужно для верстки динамического сайта.
Данный пример шаблона работает без баз данных MSQL, но это решается в процессе разработки, а на данном этапе все написано на HTML и PHP. В дальнейшем будет показан пример более сложного шаблона, а пока остановимся на простом, которого вполне достаточно, для создания отличного сайта.
Для начала, нужно узнать и понять различия динамики от простого html сайта, который описан в прошлом уроке и на основе которого будет построен данный проект. Так что желательно изучить создание простого сайта, тогда очень легко будет разобраться в данной статье.
А отличие от простого сайта заключается именно в быстроте обслуживания! Кто уже знаком с простым HTML сайтом, тот знает, что для смены баннера, нужно перелопатить сайт полностью, каждую страницу… Что занимает очень много времени. А в динамическом — все можно сделать за несколько минут, не зависимо от того, сколько страниц у сайта, хоть 1000, на время редактирования это не влияет! Думаю даже этого достаточно, для того чтобы изучить данный пример!
Для примера будет взят шаблон сайта, написанный с применением тега <div> . На мой взгляд, такой шаблон намного прогрессивней за написанный только на таблицах (имеется в виду каркас сайта). Внутри такого шаблона можно применять и таблицы и почти все известные методы верстки.
И так, посмотрите на пример страницы обычного шаблона, которую будем резать на отдельные файлы.
Наполнение сайта
— здесь будет разрез, контент также будет отдельным файлом —
— все что ниже, также будет отдельным файлом —
Порезка HTML — шаблона на PHP блоки.
Дальше формируем отдельные файлы и даем им названия header.php title.php, footer.php.
Первый файл будет содержать всю шапку сайта, аж до открытия блока <div id=»content»> и будет называться header, и обязательно с расширением php!!!
и название файла будет header.php
Второй файл будет основным, содержать все наполнение сайта — контент, который не будет меняться в будущем, или очень редко. Статья обычно размещается один раз, а изменения на одной странице, дело не хлопотное. К нему и будут подключаться остальные файлы, отвечающие за дизайн. И называться будет он будет например — title.php
Наполнение сайта
— здесь будет разрез, контент также будет отдельным файлом —
и название файла будет title.php
Все остальное — блок левого сайдбара и футер, формируем в третий файл — footer.php.
— все что ниже, также будет отдельным файлом —
и название файла будет footer.php
Теперь можно начать собирать наш сайт, как конструктор и понять все таинство создания динамического сайта. Для этого нужно к основному файлу подключить два файла, отвечающие за дизайн и содержащие левый сайдбар. Вот тут нам и нужны элементарные знания PHP, без чего ничего не получиться. И для этого нужно применить уже известную нам функцию require.
<?php require ‘header.php’; ?> — подключение файла header.php
Наполнение сайта
Здесь можно писать что угодно и вставлять любую информацию,
предназначенную для посетителя.
<?php require’footer.php’; ?> — подключение файла footer.php
И вот наша страница собрана! А данный файл — title.php будет шаблоном,с которого формируются новые страницы.
И сотворим главную, название которой будет index.php. Для этого просто скопируем файл title.php и при сохранении его в той же папке, дадим название index.php. И по такому же принципу создаются все новые страницы. Отличным будет только наполнение, все остальное у них будет общим, и легко будет поддаваться мгновенным изменениям!!!
И не зависимо от того, какая программа открывает ваши php-файлы, у меня установлена прога PHP Expert Editor, через которую очень удобно перекодировать страницы, должно получиться так, как на изображении. Два файла обязательных и три страницы.
А дальше можно добавлять свои изменения, зависимо от того, что Вы хотите от Вашего сайта. Например, если ввести переменную, которая будет выводить заголовок для каждой страницы по отдельности,
тогда нужно добавить такой код в файл header.php
<title> <?php echo «$title»; ?> </title>
А в шаблон добавить код, который будет содержать в себе свое уникальное название страницы, что необходимо для правильного продвижения сайта.
<?php
$title =’Пример динамического сайта на PHP. ‘;
require ‘header.php’;
?>
Наполнение сайта
предназначенную для посетителя.
<?php require’footer.php’; ?>
Хочу обратить Ваше внимание на один очень важный момент. Это касается разработки сайта любой сложности — перед созданием нового проекта, очень внимательно и четко определитесь со всеми будущими функциями проекта. Например, если будет блог, тогда нужен блок коментариев, а для этого нужно ввести переменную, которая будет определять уникальный адрес страницы и т.д. Одним словом — общую структуру сайта нужно продумывать до … , потому что после — будет много недоработок, которые исправлять очень долго и мучительно, и этот совет относиться и к простым сайтам, и к сложным проектам, построенным на супер-новом движке!
Для примера, по следующей ссылке, можно скачать шаблон динамического сайта., запустить его на своем локальном сервере и разобраться что к чему… Если будут пожелания, или предложения — тогда пишите через форму обратной связи.
kapon.com.ua
PHP Примеры
PHP Синтаксис
Запись текста в вывод с помощью PHP
Добавить комментарии PHP
Ключевые слова, классы, функции и определяемые пользователем функции не чувствительны к регистру
Имена переменных чувствительны к регистру
Объяснение
PHP Переменные
Создание различных переменных
Тест глобальной области (переменная вне функции)
Тест локальной области (переменная внутри функции)
Используйте ключевое слово global для доступа к глобальной переменной из функции
Используйте массив $GLOBALS[] для доступа к глобальной переменной из функции
Используйте ключевое слово static, чтобы локальная переменная не удалялась после выполнения функции
Объяснение
PHP Echo и Print
Просмотр строк с командой echo
Просмотр строк и переменных с помощью команды echo
Просмотр строк с командой print
Просмотр строк и переменных с помощью команды print
Объяснение
PHP Тип Данных
PHP строки
PHP целое число
PHP число с точкой
PHP массивы
PHP объекты
PHP значение NULL
Объяснение
PHP Строки
Получить длину строки — strlen()
Подсчет количества слов в строке — str_word_count()
Реверс строки — strrev()
Поиск определенного текста в строке — strpos()
Замена текста в строке — str_replace()
Объяснение
PHP Константы
Регистрозависимое имя константы
Не регистрозависимое имя константы
Объяснение
PHP Операторы
Арифметический оператор: Дополнение (+)
Арифметический оператор: Вычитание (-)
Арифметический оператор: Умножение (*)
Арифметический оператор: Модуль (%)
Оператор присваивания: x = y
Оператор присваивания: x += y
Оператор присваивания: x -= y
Оператор присваивания: x *= y
Оператор присваивания: x /= y
Оператор присваивания: x %= y
Оператор сравнения: Равный (==)
Оператор сравнения: Идентичный (===)
Оператор сравнения: Не равный (!=)
Оператор сравнения: Не равный (<>)
Оператор сравнения: Не идентичный (!==)
Оператор сравнения: Более чем (>)
Оператор сравнения: Менее чем (<)
Оператор сравнения: Больше или равно (>=)
Оператор сравнения: Меньше или равно (<=)
Оператор инкремента: ++$x
Оператор декремента: —$x
Оператор декремента: $x—
Логический оператор: И
Логический оператор: ИЛИ
Логический оператор: исключающее ИЛИ
Логический оператор: && (И)
Логический оператор: || (ИЛИ)
Логический оператор: НЕТ
Строковый оператор: Конкатенация $txt1 и $txt2
Строковый оператор: Добавляет $txt2 в $txt1
Оператр массива: Объединение (+)
Оператр массива: Равенство (==)
Оператр массива: Идентичность (===)
Оператр массива: Неравенство (!=)
Оператр массива: Неравенство (<>)
Оператр массива: Неидентичность (!==)
Объяснение
PHP If…Else и Switch Заявления
if заявление
if…elseif…else заявление
switch заявление
Объяснение
PHP While и For Циклы
while цикл
do…while цикл
Другой do…while цикл
for цикл
foreach цикл
Объяснение
PHP Функции
Создание функции
Функция с одним аргументом
Функция с двумя аргументами
Функция со значением аргумента по умолчанию
Функция возвращающая значение
Объяснение
PHP Массивы
Индексный массив
count() — Возвращает длину массива
Цикл по индексированному массиву
Ассоциативный массив
Цикл по ассоциативному массиву
Объяснение
PHP Сортировка Массивов
sort() — Сортировать массив по возрастанию в алфавитном порядке
sort() — Сортировать массив по возрастанию
rsort() — Сортировать массив по убыванию в алфавитном порядке
rsort() — Сортировать массив по убыванию чисел
asort() — Сортировать массив по возрастанию в соответствии со значением
ksort() — Сортировать массив по возрастанию, в соответствии с ключом
arsort() — Сортировать массив по убыванию в соответствии со значением
krsort() — Сортировать массив по убыванию, в соответствии с ключом
Объяснение
PHP Суперглобальные Массивы
$GLOBAL — Используется для доступа к глобальным переменным из любой точки PHP скрипта
$_SERVER — Содержит сведения о заголовках, путях и расположениях сценариев
$_REQUEST — Используется для сбора данных после отправки HTML формы
$_POST — Используется для сбора данных формы после отправки формы HTML. Также используется для передачи переменных
$_GET — Собрать данные, передаваемые в URL
Объяснение
PHP Проверка Формы
PHP Проверка Формы
Объяснение
PHP Многомерный Массив
Вывод элементов из многомерного массива
Цикл по многомерному массиву
Объяснение
PHP Дата и Время
Формат сегодняшней даты в нескольких направлениях
Автоматически обновлять год авторских прав на вашем сайте
Вывести текущее время (время сервера)
Установить часовой пояс, затем вывести текущее время
Создание даты и времени из нескольких параметров в mktime()
Создание даты и времени из функции strtotime()
Создать больше дат/времени из strtotime()
Вывод даты в течение следующих шести субботам
Вывод количество дней до 4 июля
Объяснение
PHP Подключить Файл
Использовать include включить «footer.php» в странице
Использовать include включить «menu.php» in a page
Использовать include включить «vars.php» in a page
Использовать include включить несуществующий файл
Использовать require включить несуществующий файл
Объяснение
PHP Обработка Файлов
Использовать readfile() для чтение файла и записи его в выходной буфер
Объяснение
PHP Файл Открыть/Прочитать/Закрыть
Использовать fopen(), fread(), и fclose() для открытия, чтения и закрытие файла
Использовать fgets() для чтения одной строки из файла
Использовать feof() для чтения файла строки за строкой до тех пор, пока не будет достигнут конец файла
Использовать fgetc() для чтения одного символа из файла
Объяснение
PHP Куки
Создание и получение файла cookie
Изменить значение cookie
Удалить куки
Проверьте включены ли файлы cookie
Объяснение
PHP Сессии
Начало сеанса
Получить значения переменных сеанса
Получить все значения переменных сеанса
Изменение переменной сеанса
Удаление сеанс
Объяснение
PHP Фильтры
Использовать filter_list() для перечисления расширения фильтра в PHP
Очистка строки
Проверка целого числа
Проверить целое число, равное 0
Проверка IP-адреса
Очистка и проверка адреса электронной почты
Очистка и проверка URL адреса
Объяснение
PHP Выбрать Данные из MySQL
Выберите данные с MySQLi (Объектно-ориентированный)
Выберите данные с MySQLi (Объектно-ориентированный) и поместить результат в HTML таблицу
Выберите данные с MySQLi (Процессуальный)
Выберите данные с PDO (+ Подготовленное заявление)
Объяснение
PHP SimpleXML Парсер
Использовать simplexml_load_string() для чтения XML данных из строки
Использовать simplexml_load_file() для чтения XML данных из файла
Получить значения узлов
Получение значений узлов определенных элементов
Получить значения узлов — цикла
Получить значения атрибутов
Получить значения атрибутов — цикла
Объяснение
PHP XML Expat Парсер
Инициализируйте анализатор XML Expat, определите некоторые обработчики, затем проанализируйте XML файл
Объяснение
schoolsw3.com
PHP: пример простого сайта
Как создать самый простой сайт на php, с чего начать и как собственно выглядит сайт?
Первичный шаблон: HTML + CSS
Будем считать, что у Вас уже получилось верстать обычные статичные страницы, и Вы можете набросать что-то очень красивое между тегами html. И это уже на самом деле практически сайт. Но нам все равно нужен php — и вот почему
Статичные страницы (HTML) | Динамические страницы (PHP) |
---|---|
Каждая страница — реальный файл | Страницы можно делать однотипными |
Необходимо дублировать часть кода (например главное меню сайта) | Дублирующиеся части кода выносим в отдельный файл (главное меню достаточно обновить один раз) |
Обновлять можно только изменением непосредственно файлов | Обновлять можно через отдельные структуры (файловую или обычную базу данных) |
Первая страница
Приведем очень упрощенную схему верстки index.html
<html> <head> <title>PHP: пример простого сайта</title> </head> <body> Наш самый простой сайт </body> </html>
Он очень легко становиться обычным php файлом — index.php
<?php $title = 'PHP: пример простого сайта'; $body = ' Наш самый простой сайт'; ?> <html> <head> <title><?php echo $title;?></title> </head> <body> <?php echo $body;?> </body> </html>
Как из одной страницы сделать много (много страниц собственно это и есть простой сайт)
Теперь мы можем еще усложнить структуру — из одной страницы сделать собственно сайт. Для этого сделаем простейший массив страниц (можно потом использовать любую базу данных), где обозначим индексами номера объектов, которые нужно показывать. Навигация собственно говоря может быть также построенна автоматически по циклу, но тут мы опять таки показываем максимально простое решение.
<?php $pages = array( 0 => array('title' => 'Первая страница', 'body' => 'Первый текст'), 1 => array('title' => 'Вторая страница', 'body' => 'Второй текст') ); $page_id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0; //возьмем номер из запроса if (!isset($pages[$page_id])) $page_id = 0; //проверим что такая страница есть - если нет - 0 по умолчанию $page = $pages[$page_id]; ?> <html> <head> <title><?php echo $page['title'];?></title> </head> <body> <a href="?id=0">Главная</a> <a href="?id=1">Вторая</a> <?php echo $page['body'];?> </body> </html>
Оставить комментарий
turtus.kiev.ua
Первый сайт на PHP
Первый сайт на PHP
Последнее обновление: 1.11.2015
Сейчас мы создадим небольшой сайтик, который призван дать начальное понимание работы с PHP.
Для создания программ на PHP нам потребуется текстовый редактор. Наиболее популярным на сегодняшний день является программа Notepad++
Перейдем к ранее созданному каталогу C:\localhost, который будет хранить все документы сайта. Создадим текстовый файл и назовем его index.html. Откроем его в текстовом редакторе и добавим в него следующий код:
<!DOCTYPE html> <html> <head> <title>Первый сайт на PHP</title> <meta charset="utf-8"> </head> <body> <h3>Введи свои данные:</h3> <form action="display.php" method="POST"> <p>Введите имя: <input type="text" name="firstname" /></p> <p>Введите фамилию: <input type="text" name="lastname" /></p> <input type="submit" value="Отправить"> </form> </body> </html>
Код html содержит форму с двумя текстовыми полями. При нажатии на кнопку данные этой формы отсылаются скрипту display.php,
так как он указан в атрибуте action
.
Теперь создадим этот скрипт, который будет обрабатывать данные. Добавим в папку C:\localhost новый текстовый файл. Переименуем его в display.php. По умолчанию файлы программ на php имеют расширение .php. Итак, добавим в файл display.php следующий код:
<!DOCTYPE html> <html> <head> <title>Первый сайт на PHP</title> <meta charset="utf-8"> </head> <body> <?php $name = $_POST["firstname"]; $surname = $_POST["lastname"]; echo "Ваше имя: <b>".$name . " " . $surname . "</b>"; ?> </body> </html>
Здесь уже в разметке html идут вкрапления кода PHP. Для добавления выражений PHP на страницу используются теги <?php ..... ?>
, между
которыми идут инструкции на языке PHP. В коде php мы получаем данные формы и выводим их на страницу.
Каждое отдельное выражение PHP должно завершаться точкой с запятой. В данном случае у нас три выражения. Два из них получают переданные данные формы,
например, $name = $_POST["firstname"];
.
$name
— это переменная, которая будет хранить некоторое значение. Все переменные в PHP предваряются знаком $. И так как форма на странице index.html
использует для отправки метод POST, то с помощью выражения $_POST["firstname"]
мы можем получить значение, которое было введено в текстовое поле
с атрибутом name="firstname"
. И это значение попадает в переменную $name.
С помощью оператора echo можно вывести на страницу любое значение или текст, которые идут после оператора. В данном случае (echo "Ваше имя: <b>".$name . " " . $surname . "</b>"
)
с помощью знака точки текст в кавычках соединяется со значениями переменных $name и $surname и выводится на страницу.
Теперь обратимся к форме ввода, перейдя по адресу http://localhost:8080:
Введем какие-нибудь данные и нажмем на кнопку отправить:
Итак, у нас сработал скрипт display.php, который получил и вывел отправленные данные на страницу.
metanit.com
Урок 2. Создаём первую страницу на PHP. Операторы вывода
Итак, друзья, если Вы дошли до этого урока, то у Вас получилось либо установить локальный сервер, либо купить хостинг, на котором можно работать с PHP. Поздравляю — это большой шаг!
О PHP скажу коротко — этот язык программирования используется по всему миру и на нём можно создавать сайты всех уровней сложности, от сайтов-визиток до крупных порталов. Думаю, уже для многих не секрет, что крупнейшие социальные сети facebook.com (с нуля на php) и vk.com (движок на php) были написаны на языке PHP. Так что делаем выводы и начинаем работу!)
Принцип работы кода
Код PHP отрабатывается на стороне сервера. То есть готовой страницы нет. Например, в коде дана команда собрать данные о том, сколько пользователей зарегистрировано на данный момент на сайте. Посетитель сайта нажимает на ссылку все пользователи. Он хочет получить динамические данные, то есть те, которые постоянно изменяются. После того, как подсчёт на сервере будет закончен, с сервера придут данные в виде сгенерированного HTML-кода страницы с количеством пользователей. В результате, после клика-запроса по ссылке, пользователь получает страницу. Если просмотреть код полученной страницы, то можно увидеть только HTML, а PHP-код будет недоступен для просмотра. Грубо говоря, PHP — это указания серверу по тому, как и из каких блоков сделать страницу.
Как выглядит PHP код и куда его вставлять?
PHP-код можно внедрять непосредственно в HTML. PHP-код встраивается в HTML-страницы при помощи угловых скобок и знака вопроса <?php код; ?>, однако можно ограничиться скобками со знаками вопроса <? код; ?>. Нужно будет только изменить расширение файла, например, с .html на .php
Код PHP (файл index.php)
<html>
<head>
<title>Пример использования PHP</title>
</head><body>
<!-- вставляем код php -->
<?php
echo "Привет, мир!";
?>
<!-- вставляем код php --></body>
</html>
Демонстрация Скачать исходники
Результатом работы кода будет вывод обычного текста Привет, Мир!. Спросите зачем писать код php, чтобы вывести обычный текст? Оператор echo, о котором поговорим чуть позже, нужен не просто для вывода текста. Чаще echo используют для отображения результата работы какой-то функции, которая производила подсчёт или брала данные из БД (Что такое База данных?). То есть для отображения динамических данных.
Оператор echo в PHP
Как Вы уже поняли, оператор echo нужен для вывода данных. Содержимое (в нашем случае пока только текст) берём в кавычки, а в конце ставим точку с запятой ; это обозначает конец работы оператора.
В программирование при создании первой страницы принято употреблять фразу Hello, World! — то есть Привет, мир! Именно её и используем. В примере не будем использовать html, так как это не обязательно.
Код PHP
<?php
echo "Привет, Мир!";
?>
Программа выведет Привет, Мир!.
В самом первом примере мы вставляли в html небольшой код php. Теперь, наоборот, внедрим в php-код элементы html.
Код PHP
<?php
echo "<html><head>";
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
echo "<title>Мой первый PHP скрипт</title>";
echo "</head>";
echo "<body>";
echo "<h2>Привет, Мир!</h2>";
echo "</body></html>";
?>
В результате получим пустую страничку с заголовком Привет, Мир!
Внимание! Обратите внимание на то, что третья строчка заключена в апострофы, а не в двойные кавычки. Во-первых, так нужно, если в отображаемом содержимом уже есть кавычки. Так оператор верно отобразит . Во-вторых, апострофы используются для того, чтобы данные в операторе echo отображались как есть, в том виде, в котором они и написаны. |
Оператор print в PHP
В отличие от оператора echo, print выводит данные с учётом пробелов и переносов текста. Имеет некоторые ограничения — можно использовать только один аргумент, echo несколько. Отрабатывает дольше, чем echo. В дальнейшем будем прибегать к данному оператору при написании функций.
<?php
print "Привет, Мир!
Вторая строка текста"; // результат будет выведен в две строки
?>
Текст будет выведен также, как и написан.
Оператор вывода — синтаксис heredoc PHP
Как Вы уже успели заметить, выводить страницу путём постоянного использования оператора echo — это некрасиво и нечитаемо. Поэтому для вывода больших частей html кода есть другой оператор вывода, использующего синтаксис heredoc. Он тоже выводит данные в таком же виде, в каком они и были (пробелы и переносы).
<?php
echo <<<HERE
<h2>Пример</h2>
<p>Пример вывода большого объема текста с использованием html</p>
<p>Второй абзац такого же объёмного текста.</p>
HERE;
?>
Чтобы скрипт не выдавал Вам ошибку, следите за тем, чтобы после echo <<<HERE и HERE; в строке не было никаких пробелов. |
Памятка к уроку
Код PHP может:
1. не содержать ни одного html-элемента. Страница и текст всё равно отобразятся. html нужен для красивой разметки содержимого.
2. быть как включен в html-код, так и содержать его внутри своих операторов вывода (echo, print и тд). Главное не забывать конструкцию <?php код; ?>
3. страницы с php-кодом должны иметь соответствующее расширение: .php .phtml
Со следующих уроков мы разберём основы создания сайтов на php, в которых увидите все плюсы использования данного языка!
Спасибо за внимание!
tradebenefit.ru
Пошаговый алгоритм создания архитектуры PHP-сайта / Habr
Дисклеймер: этот текст меня заставило написать практически полное отсутствие вменяемых материалов по данной теме на русском языке. Этому плохо учат в вузах, об этом молчат самоучители PHP и официальный мануал, хотя это самый важный момент при разработке программы — создание архитектуры. Плохая архитектура может убить ваш проект, так что он никогда не увидит свет. Хорошая архитектура даже при плохом коде, а кто из новичков пишет хороший код, способна творить чудеса.Разработка архитектуры должна начинаться в тот момент, когда вам в голову пришла идея «хочу сайт такой-то» или кто-то вложил идею «нужен сайт такой-то». К сожалению, большинство разработчиков сразу приступают к написанию кода, причём даже не того, какого нужно.
Прежде чем писать код, вооружитесь листочком с ручкой, вордпадом, вордом, райтером или даже вашим редактором кода и выполните пару шагов.
Шаг 1. Постановка главной задачи
Архитектура разрабатывается сверху вниз. Что это значит? Это значит, что сперва вы продумываете самые главные подсистемы, прежде чем приступить к обслуживающим их или более техническим.
Многие программисты начинают разработку сайтов с роутеров, подключения к БД, обработки ошибок, что приводит к необходимости переписывания их кода в будущем или обильной вставке в код костылей, как только они натыкаются на то, что не смогли предусмотреть.
Всё предусмотреть невозможно, для этого и нужно разрабатывать систему сверху вниз. Наличие работающих высокоуровневых классов практически автоматически определяет все необходимые требования к обслуге.
Это не единственный метод, но по опыт знаю, что самый оптимальный для тех, кто не чувствует себя, как рыба в воде среди паттернов проектирования или даже совсем про них не знает.
Итак, вам нужен блог, интернет-магазин, сайт стоматологической клиники.
Определитесь, что на вашем сайте самое главное, ради чего всё затевается.
Для блога — это, очевидно, записи. Для магазина — товары. Для сайта поликлиники — услуги.
Уже можем написать немного кода, с которого и начнётся разработка сайта:
class записи
{
}
или class товары {}, или class услуги{}
Это ваша главная подсистема. Сразу же можно написать, чем именно она будет управлять.
class запись
{
}
или class товар {}, или class услуга{}
Шаг 2. Определить, что ваша система умеет делать
Мы создали главную подсистему «записи». Следующий шаг: определить, что она будет уметь, чему мы хотим научить наш сайт.
Очевидно, она должна уметь создавать записи, удалять записи и получать записи.
Забудьте, что вы пишите код сайта, забудьте про пользователей, url-адреса, оформление страниц. Работайте с голыми данными: строками, числами, массивами, объектами.
Пишем код:
class записи
{
public function создать_запись() {}
punlic function удалить_запись() {}
public function получить_запись() {}
}
Шаг 3. Понять, с чем имеем дело
Что такое запись? Что такое услуга? Что такое товар? Для вас, как программиста — это просто совокупность данных. В третьем шаге определяем, что это за совокупность.
Не стремитесь предусмотреть всё, что понадобится когда-то в будущем. Берите самый-самый минимальный набор. Для этого мы и строим архитектуру приложения, чтобы в будущем её было легко нарастить.
Очевидно, запись — это заголовок и текст записи. Услуга и товар — название, описание и цена.
Компьютер — не очень умное создание, по сравнению с человеком, вы не сможете сказать ему: «а покажи-ка мне запись, ту, где про зелёного котёнка написано», поэтому ему всегда необходим какой-то уникальный код, чтобы он среди множества записей узнал именно ту, которую вы хотите.
Это либо порядковый номер (id), уникальный для каждой записи или некое, столь же уникальное, строковое значение.
Значит наша запись — это идентификатор записи (id), заголовок, текст.
Больше нам ничего не нужно.
Шаг 4. Определение необходимых знаний
Теперь для каждого действия системы нам нужно понять, что системе нужно знать, чтобы это действие выполнить.
Для действия «создать_запись» нужно знать заголовок и текст записи. Внутренний идентификатор нужен только компьютеру, поэтому пусть сам его и придумывает.
Для действий «удалить_запись» и «получить_запись» нужно знать только тот самый идентификатор записи, который был ей присвоен компьютером при создании.
class записи
{
public function создать_запись($заголовок, $текст) {}
punlic function удалить_запись($идентификатор) {}
public function получить_запись($идентификатор) {}
}
То, что получилось называется интерфейсом вашего класса/модуля/подсистемы.
Шаг 5. Определение результатов
Также, как мы узнали необходимые знания для выполнения того или иного действия, нужно понять, чем эти действия будут оканчиваться.
Если у компьютера всё получилось, то
- создать_запись: будет создана новая запись, а мы получим её идентификатор.
- удалить_запись: будет удалена конкретная запись, а мы получим сообщение ‘готово’
- получить_запись: получим нужную запись
Если у компьютера чего-то не получилось, то
- создать_запись: будет выброшено исключение.
- удалить_запись: будет выброшено исключение
- получить_запись: будет выброшено исключение
Для всех ситуаций, когда что-то не получилось поведение программы должно быть одинаковым во всех модулях/классах/подсистемах вашей системы. PHP предоставляет всего два варианта: trigger_error и throw new Exception. Можете придумать свой, но не стоит изобретать велосипеды, пока вы не научились ездить на существующих. throw new Exception — самый оптимальный вариант.
Читайте раздел «исключения» в официальном мануале.
Шаг 6. Снова с начала
В шаге первом, кроме создания системы управления записями, мы создали ещё класс и самой записи: class запись {}
Для неё нужно сделать тоже самое, что и для главной, те же самые шаги с 1 по 5.
Если вы всё сделали правильно, то у вас должно получиться что-то похожее.
class запись
{
public function получить_идентификатор() {}
public function получить_заголовок() {}
punlic function получить_текст() {}
public function изменить_заголовок($новый_заголовок) {}
public function изменить_текст($новый_текст) {}
}
Шаг 7. Пишем код
Теперь, когда всё создано можно приступать к кодированию. Если вы знакомы с PHP никаких проблем у вас не возникнет.
Сколько затратили времени? Совсем чуть-чуть, и ещё ощутите в будущем всюпользу от произошедшего.
То, что у вас получится в итоге скрывается под буквой M в страшной аббревиатуре MVC.
Заключение
Я не учёл много нюансов, их хватит на десять таких же статей, но базис для вашей разработки уже есть. Это — самые основы и это в любом случае лучше, чем мешать PHP с HTML в одном файле или плодить кучу функций по мере написания кода.
C M разобрались. Что касается V и C. Это тема для других статей. Поэтому вкратце. Если вы достаточно сообразительны, то другие статьи вам и не понадобятся.
C — это место, в котором система реагирует на действия пользователя. Вот там и нужно думать, что будет делать пользователь. Захотел пользователь создать запись в блоге, заполнил форму создания, а у вас уже всё готово, чтобы выполнить его команду. Захотел, прочитать запись и снова вы выполняете его просьбу в одну строчку. Там главная задача (шаг 1) — понять, что хочет пользователь.
V — изучите любой шаблонизатор: Smarty или Twig. Много споров ведётся про то использовать шаблонизаторы или нет, много убедительных доводов с той и с другой стороны. Правда в том, что для web-разработчика непростительно не уметь работать с шаблонизаторами. Поэтому осваивайте их, а потом уже откажетесь, если не понравится.
Как уже было отмечено выше, на русском языке почти нет достойный литературы на эту тему.
Единственную книгу, которую могу посоветовать прочитать: Стив МакКоннелл «Совершенный код».
Если кто-то знает другие материалы киньте в меня ссылочкой. С удовольствием прочитаю и буду рекомендовать новичкам.
habr.com
Сайт на PHP — это просто
Давайте обсудим самостоятельное создание сайта на PHP. Но прежде всего о том, что нам потребуется:
- Некоторое представление о HTML (см. уроки html для начинающих)
- Некоторое, хотя бы начальное понимание PHP
- Интерпретатор PHP, установленный на локальный компьютер, или же хостинг с поддержкой PHP. Без этого пункта создание сайта php невозможно.
Какие основные отличия сайт на PHP от сайта на чистом HTML?
По большому счету созданный на PHP сайт очень мало чем отличается от сайта, созданного с использованием исключительно HTML. Основное отличие между ними заключается в том, что сайт на PHP более гибок в настройке и управлении, а также обладает широким функционалом по автоматизации своей работы.
В качестве простого примера можно привести следующую ситуацию — нам потребовалось в шапке сайта исправить одно слово. Когда сайт основан исключительно на HTML, то для решения данной задачи придется исправить каждый файл сайта. Если сайт состоит всего из одной страницы, то это не вызывает особых затруднений, но если в составе сайта 100 html-страниц, то задача становится весьма трудоемкой и время затратной. А если таких страниц больше 1000? Если же сайт на PHP, и шапка реализована как подключаемый компонент, то потребуется сделать изменения только одного файла, и они автоматически отразятся на всех страницах сайта.
Типичная структура php сайта:
Теперь давайте рассмотрим код основного шаблона сайта на PHP. Следует обратить внимание, что файлы, содержащие php код должны иметь расширение .php. Это не обязательное требование, но будет лучше, если вы будете поступать именно так. Тогда меньше будет путаницы.
Код центрального файла index.php может иметь следующий вид:
<html>
<head>
<title>Название страницы</title>
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/head.php';
?>
</head>
<body>
<div>
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/top.php';
?>
</div>
<div>
<div>
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/sidebar1.php';
?>
</div>
<div>
... Основная часть сайта...
</div>
<div>
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/sidebar2.php';
?>
</div>
<div>
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/footer.php';
?>
</div>
</div>
</body>
</html>
Как видно из примера, базовая страница состоит из ряда подключаемых файлов: head.php, top.php, sidebar1.php, sidebar2.php, footer.php. Подключение осуществляется при помощи специальной функции PHP:
require_once <полный путь/имя файла>
При этом из названий файлов видно, за какой именно элемент страницы отвечает данный файл. Кстати, подключить таким образом можно сколько угодно файлов.
Примерно так и выглядит простейший сайт на PHP. Здесь не используется база данных. По сути это несколько усовершенствованный html сайт, однако даже такой простой сайт на PHP обладает массой потенциала, которого нет в аналогичном сайте на чистом HTML.
msiter.ru