создание собственного сайта на php
Hello, world: как сделать сайт на PHP с нуля
Начинающему разработчику нужна практика. Рассказываем, как создать PHP-сайт на своем компьютере, чтобы потренироваться в программировании.
Создаем сайт шаг за шагом
1 шаг. Выбираем веб-сервер
В первую очередь вам нужен веб-сервер. Он будет обрабатывать запросы — маршрутизировать их. Веб-сервер связывает сайт (клиента) с внешним миром. Когда мы наберем в адресной строке index.php, сервер получит запрос и поймет, куда обращаться.
В пятерку популярных сегодня входят Nginx, Apache, Microsoft IIS, CERN httpd, Cherokee HTTP Server. Первые два борются за звание лучшего и самого востребованного. Apache лидирует, но, пока вы читаете эту статью, все может измениться.
2 шаг. Устанавливаем PHP
Затем вам нужен PHP на сервере. Язык программирования бесплатный, разрабатывается на open source-платформе и выложен в свободном доступе. Скачиваете сам PHP и его интерпретатор с официального сайта и переходите к третьему шагу.
3 шаг. Создаем директорию
Теперь создайте на диске компьютера директорию. Название не принципиально, главное — латинскими символами.
4 шаг. Все настраиваем
Прописываем в настройках выбранного вами сервера, куда смотреть при обращении к нему. Рекомендуем Apache или Nginx как лучшие в своем сегменте. Но выбор зависит от целей, с которыми создается сайт.
Чтобы настроить сервер, создайте папку на диске С: с названием Server. В ней еще две — bin и data. В последней создайте подпапки DB (для баз данных) и htdocs (для сайтов). Содержимое архива с Apache распакуйте в C:\Server\bin.
Как самостоятельно сделать сайт на PHP?
PHP и HTML
Как видно на скриншоте, строка не отображается в html коде страницы. И в браузере, и в коде видны лишь возвращенные дата и время. А это значит, что скрипт был обработан на серверной стороне. Поэтому создание сайта на php кардинально отличается от написания простых html страниц.
Динамический сайт
Современные сайты бывают двух основных типов:
Динамический сайт на php состоит из следующих файлов:
Как пишется сайт на PHP
Имеется html сайт со следующей структурой и дизайном:
Код файла style.css :
Перед тем, как написать сайт на php до конца, весь html код нужно раскинуть по нескольким файлам:
А если просмотреть в браузере html код страницы, то вы увидите код первоначального исходника:
Конечно, этот вариант подходит лишь для генерации основной страницы сайта. Но если код боковушки убрать в отдельный файл, тогда шаблон можно использовать и для генерации внутренних страниц сайта.
Путь в обход
Но такая разработка сайта требует затраты сил, наличия специализированного программного обеспечения и знаний. Поэтому хотелось бы найти более легкий вариант. Тогда следует воспользоваться конструктором php сайтов.
С более подробным обзором популярных онлайн-конструкторов сайтов можно ознакомиться здесь. В интернете встречаются и десктопные версии конструкторов сайтов, но большая их часть платная.
Но генерация страниц ресурса происходит в них динамически. Наиболее популярные CMS :
Пошаговый алгоритм создания архитектуры PHP-сайта
Разработка архитектуры должна начинаться в тот момент, когда вам в голову пришла идея «хочу сайт такой-то» или кто-то вложил идею «нужен сайт такой-то». К сожалению, большинство разработчиков сразу приступают к написанию кода, причём даже не того, какого нужно.
Прежде чем писать код, вооружитесь листочком с ручкой, вордпадом, вордом, райтером или даже вашим редактором кода и выполните пару шагов.
Шаг 1. Постановка главной задачи
Архитектура разрабатывается сверху вниз. Что это значит? Это значит, что сперва вы продумываете самые главные подсистемы, прежде чем приступить к обслуживающим их или более техническим.
Многие программисты начинают разработку сайтов с роутеров, подключения к БД, обработки ошибок, что приводит к необходимости переписывания их кода в будущем или обильной вставке в код костылей, как только они натыкаются на то, что не смогли предусмотреть.
Всё предусмотреть невозможно, для этого и нужно разрабатывать систему сверху вниз. Наличие работающих высокоуровневых классов практически автоматически определяет все необходимые требования к обслуге.
Это не единственный метод, но по опыт знаю, что самый оптимальный для тех, кто не чувствует себя, как рыба в воде среди паттернов проектирования или даже совсем про них не знает.
Итак, вам нужен блог, интернет-магазин, сайт стоматологической клиники.
Определитесь, что на вашем сайте самое главное, ради чего всё затевается.
Для блога — это, очевидно, записи. Для магазина — товары. Для сайта поликлиники — услуги.
Уже можем написать немного кода, с которого и начнётся разработка сайта:
или class товары <>, или class услуги<>
Это ваша главная подсистема. Сразу же можно написать, чем именно она будет управлять.
или class товар <>, или class услуга<>
Шаг 2. Определить, что ваша система умеет делать
Мы создали главную подсистему «записи». Следующий шаг: определить, что она будет уметь, чему мы хотим научить наш сайт.
Очевидно, она должна уметь создавать записи, удалять записи и получать записи.
Забудьте, что вы пишите код сайта, забудьте про пользователей, url-адреса, оформление страниц. Работайте с голыми данными: строками, числами, массивами, объектами.
Шаг 3. Понять, с чем имеем дело
Что такое запись? Что такое услуга? Что такое товар? Для вас, как программиста — это просто совокупность данных. В третьем шаге определяем, что это за совокупность.
Не стремитесь предусмотреть всё, что понадобится когда-то в будущем. Берите самый-самый минимальный набор. Для этого мы и строим архитектуру приложения, чтобы в будущем её было легко нарастить.
Очевидно, запись — это заголовок и текст записи. Услуга и товар — название, описание и цена.
Компьютер — не очень умное создание, по сравнению с человеком, вы не сможете сказать ему: «а покажи-ка мне запись, ту, где про зелёного котёнка написано», поэтому ему всегда необходим какой-то уникальный код, чтобы он среди множества записей узнал именно ту, которую вы хотите.
Это либо порядковый номер (id), уникальный для каждой записи или некое, столь же уникальное, строковое значение.
Значит наша запись — это идентификатор записи (id), заголовок, текст.
Больше нам ничего не нужно.
Шаг 4. Определение необходимых знаний
Теперь для каждого действия системы нам нужно понять, что системе нужно знать, чтобы это действие выполнить.
Для действия «создать_запись» нужно знать заголовок и текст записи. Внутренний идентификатор нужен только компьютеру, поэтому пусть сам его и придумывает.
Для действий «удалить_запись» и «получить_запись» нужно знать только тот самый идентификатор записи, который был ей присвоен компьютером при создании.
То, что получилось называется интерфейсом вашего класса/модуля/подсистемы.
Шаг 5. Определение результатов
Также, как мы узнали необходимые знания для выполнения того или иного действия, нужно понять, чем эти действия будут оканчиваться.
Для всех ситуаций, когда что-то не получилось поведение программы должно быть одинаковым во всех модулях/классах/подсистемах вашей системы. PHP предоставляет всего два варианта: trigger_error и throw new Exception. Можете придумать свой, но не стоит изобретать велосипеды, пока вы не научились ездить на существующих. throw new Exception — самый оптимальный вариант.
Читайте раздел «исключения» в официальном мануале.
Шаг 6. Снова с начала
В шаге первом, кроме создания системы управления записями, мы создали ещё класс и самой записи: class запись <>
Для неё нужно сделать тоже самое, что и для главной, те же самые шаги с 1 по 5.
Если вы всё сделали правильно, то у вас должно получиться что-то похожее.
Шаг 7. Пишем код
Теперь, когда всё создано можно приступать к кодированию. Если вы знакомы с PHP никаких проблем у вас не возникнет.
Сколько затратили времени? Совсем чуть-чуть, и ещё ощутите в будущем всюпользу от произошедшего.
То, что у вас получится в итоге скрывается под буквой M в страшной аббревиатуре MVC.
Заключение
Я не учёл много нюансов, их хватит на десять таких же статей, но базис для вашей разработки уже есть. Это — самые основы и это в любом случае лучше, чем мешать PHP с HTML в одном файле или плодить кучу функций по мере написания кода.
C M разобрались. Что касается V и C. Это тема для других статей. Поэтому вкратце. Если вы достаточно сообразительны, то другие статьи вам и не понадобятся.
C — это место, в котором система реагирует на действия пользователя. Вот там и нужно думать, что будет делать пользователь. Захотел пользователь создать запись в блоге, заполнил форму создания, а у вас уже всё готово, чтобы выполнить его команду. Захотел, прочитать запись и снова вы выполняете его просьбу в одну строчку. Там главная задача (шаг 1) — понять, что хочет пользователь.
V — изучите любой шаблонизатор: Smarty или Twig. Много споров ведётся про то использовать шаблонизаторы или нет, много убедительных доводов с той и с другой стороны. Правда в том, что для web-разработчика непростительно не уметь работать с шаблонизаторами. Поэтому осваивайте их, а потом уже откажетесь, если не понравится.
Как уже было отмечено выше, на русском языке почти нет достойный литературы на эту тему.
Единственную книгу, которую могу посоветовать прочитать: Стив МакКоннелл «Совершенный код».
Если кто-то знает другие материалы киньте в меня ссылочкой. С удовольствием прочитаю и буду рекомендовать новичкам.
Как сделать сайт на PHP
В этой статье мы поговорим о том, как сделать сайт на PHP самостоятельно. А начнем мы с того, что Вам необходимо:
Для решения третьей проблемы хорошо подойдет программа Denwer, которую можно бесплатно установить на Ваш компьютер. Если Вы не в курсе, что это за программа, то советую ознакомиться: как установить Denwer, в этой статье пошагово (для новичков) объяснено как его установить и как пользоваться.
Конечно, есть и другие средства, которые позволяют интерпретировать PHP. Например, Apatch, но он довольно сложен в настройках, а если вы новичок, то начинать с него не советую.
Для того, чтобы приступать к разработке сайта на PHP, Вам нужны начальные знания в HTML. Я уже писал о том, как создать простую страницу HTML. Там описаны все html-теги, без которых создать сайт невозможно. Поэтому настоятельно рекомендую начать изучать сайтостроение с той статьи.
Чем отличается сайт на PHP от голого сайта на HTML?
Допустим в шапке сайта необходимо изменить буквально одно слово. Если сайт сделан на голом HTML, то необходимо будет открыть каждый html-файл, чтобы внести изменение, а это очень неудобно. Если же шапка сайта сделана на PHP в качестве подключаемого компонента, то изменения нужно будет внести только в одном файле и они автоматом изменятся на всем сайте.
Структура типичного сайта на PHP:
Код файла index.php :
Теперь отдельно рассмотрим каждый из подключаемых элементов:
Обратите внимание, что подключается они через специальную команду PHP:
Каждый файл соответственно отвечает за отдельную часть сайта. Я постарался назвать их максимально информативно и понятно. Сайт может состоять из большего множество таких подключаемых файлов. Рассмотрим по порядку каждый элемент сверху вниз.
Вот так примерно выглядит самый простой сайт сделанный на PHP. Как я уже писал, подключаемых блоков может быть сколь угодно много. Рассмотренный пример не содержит базу данных. Это самый простой сайт на PHP, который можно назвать модифицированной версией html-сайта.
Создание облачного сайта на PHP и MySQL и его развертывание с помощью Git
Это руководство содержит сведения по созданию веб-сайта на базе PHP и MySQL в Windows Azure и его развертыванию с помощью Git. Для выполнения заданий нужно будет использовать установленные на компьютере PHP, средство командной строки MySQL (часть MySQL), веб-сервер и Git. Инструкции, содержащиеся в этом руководстве, можно выполнять в любой операционной системе, включая Windows, Mac и Linux. После выполнения всех действий будет создан веб-сайт PHP/MySQL, работающий на платформе Windows Azure.
Настройка среды разработки
Предполагается, что на компьютере уже установлены PHP, средство командной строки MySQL (часть MySQL), веб-сервер и Git.
Примечание. Если разработка данного приложения ведется в ОС Windows, то можно выполнить настройку PHP и автоматическую настройку IIS (встроенного веб-сервера Windows), установив пакет Windows Azure SDK для PHP.
Создание учетной записи Windows Azure
Откройте веб-браузер и перейдите на веб-сайт http://www.windowsazure.com. Чтобы начать работу с помощью бесплатной учетной записи, щелкните в верхнем правом углу Free Trial и выполните указанные действия. Для проверки личности может потребоваться указать номер кредитной карты или мобильного телефона. Счет при этом не выставляется.
Включение сервиса Windows Azure Web Sites в свою подписку
Перейдите на страницу https://account.windowsazure.com/ и выполните вход с помощью учетной записи Windows Azure. Щелкните элемент preview features, чтобы вывести доступные варианты предварительного просмотра.
Выполните прокрутку до Web Sites и нажмите кнопку try it now.
Выберите подписку и установите флажок.
Создание веб-сайта Windows Azure и настройка публикации Git
Чтобы создать веб-сайт Windows Azure и базу данных MySQL, выполните следующие действия. Войдите на портал Windows Azure (предварительная версия). В нижней левой части портала щелкните значок + New.
Щелкните WEB SITE, а затем CREATE WITH DATABASE.
Введите значение в поле URL, выберите Create a New MySQL Database в раскрывающемся списке DATABASE и укажите центр обработки данных для веб-сайта в раскрывающемся списке REGION. Щелкните стрелку в нижней части диалогового окна.
Введите имя в поле NAME для базы данных, выберите центр обработки данных для базы данных в раскрывающемся списке REGION и установите флажок, выразив тем самым согласие с юридическими условиями. Щелкните флажок в нижней части диалогового окна.
После создания веб-сайта появится сообщение Creation of Web Site [ИМЯ_САЙТА] completed successfully. Теперь можно включить публикацию Git.
Щелкните имя веб-сайта, отображаемого в списке веб-сайтов, чтобы открыть панель быстрого запуска QUICKSTART веб-сайта.
В нижней части страницы QUICKSTART щелкните Set up Git publishing.
Чтобы включить публикацию Git, необходимо указать имя пользователя и пароль. Запомните введенные имя пользователя и пароль. (Если репозиторий Git был настроен ранее, это действие можно пропустить.)
Настройка репозитория займет несколько секунд.
Когда репозиторий будет готов, появятся инструкции по помещению файлов приложения в репозиторий. Запомните эти инструкции, поскольку они понадобятся позднее.
Получение сведений об удаленном подключении к базе данных MySQL
Чтобы подключиться к экземпляру базы данных MySQL, запущенному на веб-сайтах Windows Azure, потребуются сведения о подключении. Для получения этих сведений выполните следующие действия.
На панели быстрого запуска веб-сайта в правой части страницы щелкните ссылку View connection strings.
Создание и тестирование приложения на локальном компьютере
После создания веб-сайта Windows Azure можно разработать приложение, протестировать его на локальном компьютере, а затем развернуть.
Откроется командная строка MySQL.
mysql> CREATE TABLE registration_tbl(id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), name VARCHAR(30), email VARCHAR(30), date DATE);
Теперь можно перейти к файлу http://localhost/registration/index.php, чтобы протестировать приложение.
Публикация приложения
После тестирования на локальном компьютере приложение можно опубликовать на веб-сайте Windows Azure с помощью Git. Вы включите локальный репозиторий Git и опубликуете приложение.
Примечание. Выполните действия, которые описаны в конце разделов «Создание веб-сайта Windows Azure» и «Настройка публикации Git».
(Необязательно) Если вы забыли или потеряли URL-адрес удаленного репозитория Git, то перейдите на портале на вкладку Deployment.
Откройте GitBash (или терминал, если Git занесен в PATH ), перейдите в корневой каталог приложения и выполните следующие команды.
Появится запрос на ввод пароля, созданного ранее.
Перейдите к файлу http://[имя_сайта].azurewebsites.net/index.php, чтобы начать работу с приложением (эти сведения будут сохранены на панели мониторинга учетной записи).
Опубликовав приложение, в него можно вносить изменения и публиковать их с помощью Git.
Публикация изменений в приложении
Чтобы опубликовать изменения в приложении, выполните следующие действия.
Измените приложение локально. Откройте GitBash (или терминал, если Git занесен в PATH), перейдите в корневой каталог приложения и выполните следующие команды.
Появится запрос на ввод пароля, созданного ранее.
Перейдите к файлу http://[имя_сайта].azurewebsites.net/index.php, чтобы просмотреть приложения и внесенные изменения.
На вкладке Deployments портала управления появится новое развертывание.