Минипроекты PHP для новичков
Учебник PHP
Практика
Важное
Регулярки
Работа с htaccess
Файлы, папки
Сессии и куки
Работа с БД
Практика по работе с БД в PHP
Перед чтением см. новые уроки раздела «Важное», которые появились выше.
Практика
Движок PHP
Продвинутые БД
Аутентификация
Практика
ООП и MVC
Абстрактные классы и интерфейсы
Трейты
ООП Магия
Практика
Практика: классы как набор методов
Перед решением задач изучите теорию к данному уроку.
Задачи для решения
Над формой должны выводится сообщения, оставленные предыдущими посетителями сайта (видны всегда, отсортированы по убыванию даты, то есть в начале самые новые).
Все должно работать аналогично предыдущей задаче, но для сообщений нужно реализовать пагинацию, пусть по 5 сообщений на странице.
Реализуйте гостевую книгу, как показано в следующем образце:
Вы можете открыть этот пример в отдельной вкладке браузера.
Реализуйте гостевую книгу с пагинацией, как показано в следующем образце:
Вы можете открыть этот пример в отдельной вкладке браузера.
Реализуйте записную книгу, как показано ниже.
Образец главной страницы:
Вы можете открыть этот пример в отдельной вкладке браузера.
Образец страницы просмотра одной записи:
Вы можете открыть этот пример в отдельной вкладке браузера.
Образец страницы добавления записи:
Вы можете открыть этот пример в отдельной вкладке браузера.
Образец страницы редактирования записи:
Вы можете открыть этот пример в отдельной вкладке браузера.
Реализуйте органайзер, как показано в следующем образце:
Вы можете открыть этот пример в отдельной вкладке браузера.
Реализуйте форум, как показано ниже.
Образец главной страницы:
Вы можете открыть этот пример в отдельной вкладке браузера.
Образец страницы с темой:
Вы можете открыть этот пример в отдельной вкладке браузера.
Реализуйте опрос, как показано ниже. Результаты опроса должны храниться в базе данных.
Образец главной страницы:
Вы можете открыть этот пример в отдельной вкладке браузера.
Образец страницы с результатом:
Вы можете открыть этот пример в отдельной вкладке браузера.
8 идей проектов на языке PHP для начинающих
Хотите не только улучшить свои навыки, но и пополнить портфолио действительно достойными проектами? Тогда возьмите на заметку любую из предложенных в статье идей. Творческий подход приветствуется!
1. CRM
Каких бы размеров ни была компания, ей нужен какой-нибудь инструмент, решающий задачу управления и коммуникации с клиентами. Поэтому создание проекта CRM всегда будет очень практичной и полезной идеей. Ведь вам может поступить такой заказ и в реальности. Только представьте, насколько увереннее вы будете себя чувствовать, уже имея опыт разработки CRM-системы!
Какие функции нужно добавить в такой проект?
2. Программа для е-маркетинга
Интернет-маркетинг в наши дни важен почти для всех видов бизнеса. А соответствующее приложение будет прекрасной возможностью попрактиковаться в знании PHP. Конечно же, важнее всего в этих проектах запрограммировать email-рассылку кампаний, но также к ней можно добавить:
3. Платформа соцсети
Сейчас общение в Сети крайне популярно. Почему бы не создать новую платформу, где люди смогут комфортно и с удовольствием переписываться? И какие функции в нее добавить?
Количество и вариативность дополнительных функций ограничены только вашей фантазией!
4. Сокращение URL-адресов
Случалось ли у вас так, что вы хотите отправить кому-нибудь ссылку на любой материал в Сети, а URL оказывается слишком длинным, и это не только некрасиво, но и неудобно, так как может не хватить места для добавления другого текста, к примеру, описания.
В таких ситуациях и используют сокращатели URL вроде Bitly, и это четвёртая отличная идея для проекта на PHP.
Что стоит реализовать в такой программе?
5. Ресторанная система
Для успеха ресторанного дела мало найти хорошего шеф-повара, нужно ещё грамотно организовать управление и наладить процесс поставок. Каждому заведению необходима система для отслежки количества продуктов и планирования закупок.
В таких проектах нужны следующие функции:
Можно добавить в функционал и оформление заказов, осуществление платежей, пр.
6. Система бронирования
Отправляясь в отпуск мы сталкиваемся с необходимостью забронировать отель. Визит к доктору тоже обычно нужно бронировать. На многих мероприятиях тоже есть такие системы: в них осуществляется продажа билетов. Так что эта тема всегда будет актуальной.
Пройдемся по функциональной части систем бронирования:
7. CMS е-коммерции
ПО для управления контентом играет большую роль в электронной коммерции. Чем понятнее и удобнее оно будет, тем проще персоналу онлайн-магазина.
Разработчикам часто попадаются клиенты, желающие открыть свой интернет-магазин и ищущие решение для управления этим проектом. Поэтому, создав CMS, вы сможете быстро найти для неё покупателя.
Функции, которые необходимо предусмотреть:
8. Портал недвижимости
Последняя в нашей подборке идея, но такая же отличная, как все предыдущие. Создайте и добавьте в свое портфолио портал для продажи недвижимости.
Для такого проекта вам придётся хорошо попрактиковаться в кодинге и реализовать несколько важных функций:
Считаете, что нужно ещё что-то добавить? Это просто прекрасно! Не бойтесь экспериментировать, и тогда результат вашего труда будет по-настоящему уникальным и ценным.
Базовый PHP | упражнения с решением
1. Отобразите текст «Hello World!» в браузере
Внутри тега создайте раздел PHP, в котором будет отображаться текст «Hello World!» в браузере. Проверьте свою работу, открыв страницу в браузере. Если вы получили пустую страницу, убедитесь, что вы заканчиваете каждое утверждение точкой с запятой «;» и что вы включили открывающие и закрывающие PHP-теги.
2. Информация о версии и конфигурации PHP
Напишите сценарий PHP, чтобы получить информацию о версии и конфигурации PHP.
3. Отображение строк
Напишите сценарий PHP для отображения следующих строк:
«Я использую одинарную кавычку ‘ в коде»
«Это плохая команда: del c:\*.*»
4. Вывод переменной
Ожидаемый результат:
5. Вывод имени, введенного в поле ввода
Создайте простую HTML-форму, которая принимает имя пользователя и отображает его с помощью оператора PHP echo
Ожидаемый результат: Посмотреть решение
6. Получить IP-адреса клиента
Напишите сценарий PHP для получения IP-адреса клиента.
7. Определить браузер и операционную систему пользователя
Напишите простой сценарий определения браузера и операционной системы пользователя.
8. Как узнать имя файла веб-страницы?
Напишите сценарий PHP, чтобы получить текущее имя файла веб-страницы.
9. Получить имя хоста, протокол, путь из url
Напишите сценарий PHP, который будет возвращать следующие компоненты URL-адреса
Список компонентов: Протокол, Хост, Путь
10. Изменение цвета первого символа слова
Напишите сценарий PHP, который изменяет цвет первого символа слова.
11. Как с помощью PHP определить протокол (например, HTTP или HTTPS) url’а?
Напишите сценарий PHP, чтобы проверить, вызывается ли страница с https или http
12. Как перенаправить пользователя на другую страницу
Напишите сценарий PHP для перенаправления пользователя на другую страницу.
13. Проверка валидности email-адреса
Напишите простой код PHP, чтобы проверить валидность email-адреса.
Подсказка : используйте фильтр FILTER_VALIDATE_EMAIL, который проверяет значение как валидный адрес электронной почты.
14. Отображение строк и переменных в таблице
Напишите сценарий PHP для отображения строк и переменных в таблице
| Зарплата Ивана | 1000$ |
| Зарплата Карла | 1200$ |
| Зарплата Степана | 1400$ |
Примечание. Используйте элементы таблицы HTML и оператор echo.
15. Отобразить исходный код веб-страницы
Напишите сценарий PHP для отображения исходного кода веб-страницы (например, https://wm-school.ru/).
16. Получить информации о последних изменениях файла
Напишите сценарий PHP для получения информации о последних изменениях файла
17. Посчитать количества строк в файле
Напишите сценарий PHP для подсчета количества строк в файле.
Примечание. Сохраните имя текстового файла в переменной и подсчитайте количество строк текста в нем.
18. Отобразить текущую версию PHP
Напишите сценарий PHP для вывода текущей версии PHP.
19. Как отложить выполнение программы на указанное количество секунд
Напишите сценарий PHP, чтобы отложить выполнение программы на заданное количество секунд.
20. Использование переменных символьного типа для вывода чисел
21. Как узнать последнюю произошедшую ошибку PHP
Напишите сценарий PHP, чтобы узнать последнюю произошедшую ошибку.
22. Проверить больше ли число чем 30, 20 или 10
Напишите функцию PHP, которая принимает в качестве параметра число и проверяет, больше ли оно чем 30, 20 или 10. Используйте тернарный оператор.
23. Как получить полный URL
Напишите сценарий PHP, чтобы получить полный URL
24. Сравните версию PHP
Напишите сценарий PHP для сравнения версии PHP.
25. Получить имя владельца текущего сценария PHP
Напишите сценарий PHP, чтобы получить имя владельца текущего скрипта PHP
26. Как получить корневой каталог документов, в котором выполняется текущий скрипт
Напишите сценарий PHP для получения корневого каталога документов, в котором выполняется текущий скрипт, как определено в файле конфигурации сервера.
27. Получить информацию об операционной системе, в которой работает PHP
Напишите сценарий PHP для получения информации об операционной системе, в которой работает PHP.
28. Выведите список всех разработчиков PHP
Напишите сценарий PHP, чтобы распечатать список всех разработчиков PHP.
29. Получить путь к каталогу, используемому для временных файлов
Напишите срипт PHP, чтобы получить путь к каталогу, используемому для временных файлов.
30. Напишите сценарий PHP, чтобы получить имена функций модуля.
Напишите сценарий PHP, чтобы получить имена функций модуля XML.
31. Как узнать время последней модификации текущей страницы
Напишите PHP-скрипт, чтобы узнать время последней модификации текущей страницы.
32. Как поменять значения между двумя переменными PHP
Напишите программу PHP для обмена значениями между двумя переменными.
PHP практика: «Создание интернет-магазина»
Практический курс веб-программирования с использованием PHP.
На данном этапе я предполагаю, что Вы имеете некоторые знания html и завершили курс «PHP теория: «Основные инструменты и подходы».
Для того, чтоб справиться с этой задачей относительно быстро и качественно, в первых двух занятиях мы познакомимся ближе с шаблоном проектирования MVC и построим собственный каркас приложения. Его можно успешно использовать не только в текущем проекте, но и в других.
Следующие 6 уроков отведены под создание интернет-магазина с базовым наборов функций: каталог товаров, корзина, кабинет пользователя, панель администратора и т.д.
P.S. Хочу обратить Ваше внимание на то, что, несмотря на небольшую общую продолжительность практики, курс является достаточно сложным и требует большого количество времени на прохождение. В уроках я практически не пишу код, а объясняю заранее написанный.
Уроки
Урок 1: Реализация MVC #1
Урок 2: Реализация MVC #2
Второе занятие по созданию MVC каркаса сайта. Мы модифицируем компонент Router для работы с «красивыми» URL адресами страниц, реализуем модель и вид.
Урок 3: Создание интернет-магазина #1
В этом занятии начинается работа над первым более-менее серьезным сайтом. В уроке мы рассмотрим структуру реализуемого проекта, начнем работать над главной страницей сайта, страницами каталога, категории, товара.
Урок 4: Создание интернет-магазина #2
В уроке мы добавим на сайт постраничную навигацию по товарам, регистрацию пользователей, научимся использовать автоматическую загрузку классов.
Урок 5: Создание интернет-магазина #3
Относительно короткое и несложное занятие отведено для работы над личным кабинетом пользователя, механизмом авторизации и редактированием личных данных.
Урок 6: Создание интернет-магазина #4
В этом уроке мы добавим на сайт форму обратной связи, список товаров в корзине, рассмотрим что такое AJAX и как делается экспорт-импорт базы данных при помощи phpmyadmin.
Урок 7: Создание интернет-магазина #5
На этот раз работаем над разделом «Оформить заказ». Также в занятии показано что такое блок-схемы и как использовать формат json для хранения данных в БД.
Урок 8: Создание интернет-магазина #6
Финальное и одно из самых продолжительных занятий в практической части. В нем мы будем работать над панелью администратора, также Вы увидите как можно применять на своих сайтах cycle2 слайдер, как реализуется загрузка изображений на сервер.
Советы для тех, кто заканчивает или закончил курс PHP Start:
Telegram канал о PHP
Прокачивайте знания в программировании получая информацию в нашем канале
PHP Center
Новости курса PHP Start
Периодически я обновляю материалы сайта. Подпишитесь и будьте в курсе последних новостей.
Преподаватель
Виктор Зинченко
Профессионально занимаюсь веб-разработкой 5 лет. Имею опыт в проектировании и программировании сложных систем, рефакторинге, администрировании серверов, веб-безопасности.
Занимался созданием онлайн-магазинов, медиа ресурсов, порталов промо-акций, социальных сетей и др.
В 2013 году получил сертификат по знанию PHP от компании Zend (создателей языка).
Проекты на php для практики
Reg.ru: домены и хостинг
Крупнейший регистратор и хостинг-провайдер в России.
Более 2 миллионов доменных имен на обслуживании.
Продвижение, почта для домена, решения для бизнеса.
Более 700 тыс. клиентов по всему миру уже сделали свой выбор.
Бесплатный Курс «Практика HTML5 и CSS3»
Освойте бесплатно пошаговый видеокурс
по основам адаптивной верстки
на HTML5 и CSS3 с полного нуля.
Фреймворк Bootstrap: быстрая адаптивная вёрстка
Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.
Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.
Верстайте на заказ и получайте деньги.
Что нужно знать для создания PHP-сайтов?
Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.
Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!
Создайте свой сайт за 3 часа и 30 минут.
После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.
Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).
Изучите основы HTML и CSS менее чем за 4 часа.
После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.
Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.
Бесплатный курс «Сайт на WordPress»
Хотите освоить CMS WordPress?
Получите уроки по дизайну и верстке сайта на WordPress.
Научитесь работать с темами и нарезать макет.
Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!
Хотите изучить JavaScript, но не знаете, как подступиться?
После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.
Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.
*Наведите курсор мыши для приостановки прокрутки.
15 творческих идей использования PHP
Если Вы неплохо знаете основы PHP, то, вероятно, уже задумывались о том, как сделать Ваш сайт более привлекательным. Количество возможностей бесконечно, и Вы можете как писать свои собственные скрипты, так и встраивать в Ваши проекты уже существующие решения.
Давайте совершим обзор 15 творческих идей использования PHP для Ваших сайтов!
1. Электронная коммерция
Если Вы хотите создать свое собственное приложение вроде корзины заказа, то Вы можете либо написать весь код самостоятельно с нуля, либо воспользоваться PHP-фреймворком.
Если Вы новичок в PHP, я бы предложил Вам использовать существующие решения для электронной коммерции. Некоторые из возможных решений:
Разумеется, каждое из решений имеет свои особенности, однако часто бывает проще потратить несколько дней на изучение документации и обучающих видео, чем изучать PHP с нуля. Это уже зависит от того, сколько времени Вы готовы выделить на данный вопрос.
2. Инструменты управления проектами

Есть несколько великолепных инструментов управления проектами, выполненных как веб-приложения. Если Вы можете позволить себе такой сервис с оплатой за время использования, то я рекомендую Вам Basecamp.
Тот, кто не готов оплачивать услуги сервиса на регулярной основе, может создать свою собственную систему.
Создание такого инструмента с нуля потребует достаточно глубоких знаний PHP и некоторых познаний в области JavaScript.
Наиболее важные аспекты такого рода приложений это безопасность, отслеживание времени, совместные списки дел, обмен файлами, доска сообщений и «живое» превью веб-сайта.
Конечно, Вы можете по своему желанию сужать или расширять этот список. Ключевой момент здесь в том, что Вы можете значительно повысить Ваш уровень владения PHP уже в процессе написания такого приложения, а Ваши клиенты будут счастливы следить за тем, как их проект постепенно «обретает форму».
Рассказ о том, как стартовать в этом деле, выходит за рамки данного обзора, однако я надеюсь, что дал Вам хороший базис для генерации новых идей.
3. GUI (Графический интерфейс пользователя)
Для тех, кто впереди планеты всей
Вы можете расширить базовый установочный пакет PHP и создавать десктоп-приложения. Это непросто, и потребует от Вас глубоких познаний и отличных навыков программирования на PHP. При этом может быть и так, что такие приложения легче создавать, используя другие языки программирования и технологии.
Главное преимущество такого подхода в том, что Вы узнаете очень много о самом языке в процессе работы.
4. Построение онлайн-сообщества.
Посвящен ли Ваш сайт бизнесу, развлечениям, продуктам или услугам, интернет-пользователи хотят быть «подключены» к процессу.
К примеру, если Вы разрабатываете веб-приложения, то создание форума, где Ваши клиенты могли бы обсудить интересующие их вопросы и задать их Вам, было бы отличной идеей.
Как у пользователя, у меня возникает вопрос, и мне нужна «скорая помощь», при этом стандартная система тикетов или поддержка по e-mail может быть не столь оперативной. С онлайн же сообществом Ваши посетители могут помогать друг другу решать вопросы, касающиеся Вашего товара или услуги даже без Вашей помощи.
При этом такое общение часто не ограничивается общими фразами, и люди способны оказать друг другу даже техническую поддержку.
Поэтому, если Вам необходимо оказывать послепродажную поддержку своим клиентам, создание сообщества будет прекрасной идеей, т.к. позволит Вам значительно уменьшить временные затраты на поддержку, а также получать полезную обратную связь.
Опять же, Вы можете написать свой «движок» для будущего комьюнити, либо воспользоваться одним из готовых решений и внедрить его в Ваш сайт.
Если хотите писать такое приложение с нуля, то лучше используйте PHP-фреймворк. CodeIgniter, к примеру, имеет кучу хэлперов и классов, которые позволяют Вам избавиться от значительного объема рутинной работы, сопровождающей каждый серьезный проект.
Можете также применять различные инструменты для создания форумов:
5. Разработка приложений для Facebook
Вы можете интегрировать Facebook в Ваш сайт с помощью PHP. Если Вы разрабатывали приложения для Facebook на других языках, или Вы хотите только начать, то Вики для разработчика Facebook к Вашим услугам. Там Вы найдете всю необходимую информацию, если Вы собираетесь писать приложения для Facebook.
6. Генерация PDF-файлов
Где это может быть нужно?
К примеру, у Вас есть приложение, в котором клиенту выставляется счет и Вы хотите, чтобы помимо html-страницы можно было сгенерировать PDF-документ с выставленным счетом для дальнейшей его распечатки или отправки клиенту по e-mail.
7. Парсинг XML-файлов
PHP позволяет Вам производить синтаксический анализ (разбор) XML-файлов. Это важная особенность в PHP5, и она позволяет обойти одно существенное ограничение: не все браузеры на данный момент могут выводить содержимое XML-файлов.
Работа с XML в PHP во многом сходна с открытием, закрытием и чтением файлов. Сначала пишется XML-парсер, устанавливаются функции, обрабатывающие открывающие и закрывающие XML-тэги, затем файл открывается на чтение, после чего закрывается.
Вы можете самостоятельно написать скрипт, который будет рассылать Вашим клиентам новостные рассылки и Ваши коммерческие предложения, либо использовать уже готовый скрипт или сервис.

На официальном сайте PHP Вы найдете подробное описание функции mail с примерами. Также Вы можете скачать и установить готовый скрипт вроде PHP list.
Кроме того, Вы можете воспользоваться аналогичными сервисами. Из Отечественных разработок я рекомендую SmartResponder.
9. Обработка и генерация изображений
Используя совместно с PHP библиотеку GD, Вы можете нечто большее, чем просто выводить информацию в браузер. Вы можете выводить изображения в различных форматах, включая jpeg, png и gif. Эта функция в PHP полезна, т.к. позволяет Вам создавать мини-картинки для предпросмотра, водяные знаки, изменять размер изображения и производить его обрезку. Вы даже можете создавать фотогалереи!
10. Создавайте графики и диаграммы
Вам нужно числовое представление неких чисел на Вашем сайте? PHP позволяет создавать Вам как графики, так и диаграммы!
Используя pChart Вы можете создавать несколько разновидностей диаграмм, включая круговые и столбчатые. Это очень полезно для коммерческих проектов, когда нужно представить графическую информацию в сжатом и наглядном виде.
Веб-сайт pChart содержит руководство по тому, как Вам стартовать в этом вопросе.
11. CMS (Системы Управления Контентом)
12. Создайте фотогалерею на PHP
Используя стандартные функции PHP для работы с файлами, Вы можете создать собственную фотогалерею. Начните с того, что поместите все фотографии в определенную директорию, после чего используйте функцию exif для получения информации о картинке и вывода ее уменьшенной копии для предпросмотра.
Процесс в точности так же прост, каким и кажется, и это отличный способ представить Вашу фотоколлекцию.
13. Создавайте динамические шаблоны для сайтов.
С применением PHP гораздо проще добавлять на сайт новые страницы и элементы динамически. Вы начинаете с того, что создаете HTML-страницу и разбиваете ее на отдельные части, вроде хэдера, зоны основного контента, футера и т.п.
Добавьте расширение .php ко всем последующим новым страницам и используйте инструкцию include для подключения хэдера и футера к каждой из новых страниц. Также Вы можете создавать динамические сайдбары и навигационные секции.
В действительности, чем более «шаблонизирован» Ваш сайт, тем проще обновлять его содержимое.
14. Создавайте плагины для WordPress
Если Вы знакомы с WordPress, то знаете, что это достаточно гибкая система для блоггинга, которую можно использовать для самых разнообразных целей.
Если Вы знаете PHP и покопаетесь в «Кодексе» WordPress, то найдете все что нужно для того, чтобы начать разработку плагинов к нему. Если Вы ищете свежие идеи для создания своего «мега-плагина», то загляните в специальный раздел, где пользователи вносят свои предложения относительно того, что они хотели бы увидеть.
Хорошо или плохо, если сайт целиком выполнен на флэш? Вопрос достаточно спорный, однако нет ничего плохого в том, чтобы использовать на сайте отдельные флэш-элементы и блоки. И PHP поможет Вам в этом.
Используйте специальную библиотеку Ming для создания flash-файлов в формате .swf. C помощью этой библиотеки Вы можете генерировать видео, текст, и даже flash-анимацию.
Вот мы и рассмотрели в обзорном порядке 15 интересных возможностей использования PHP для улучшения Ваших (и не только Ваших) веб-сайтов. Что-то можно сделать при возникновении реальной необходимости, а с чем-то можно и «поиграть» в качестве профессиональной тренировки:)
Перевод: Дмитрий Науменко
По материалам http://net.tutsplus.com
Иллюстрации к статье: http://blog.calevans.com
P.S. Хотите посерьезнее «покопать» PHP? Обратите внимание на премиум-уроки по различным аспектам сайтостроения, включая программирование на PHP, а также на бесплатный курс по созданию своей CMS-системы на PHP с нуля:
Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!








