Что написать на php для практики

Содержание
  1. Задачи на основы языка PHP
  2. Учебник PHP
  3. Практика
  4. Важное
  5. Регулярки
  6. Работа с htaccess
  7. Файлы, папки
  8. Сессии и куки
  9. Работа с БД
  10. Практика по работе с БД в PHP
  11. Практика
  12. Движок PHP
  13. Продвинутые БД
  14. Аутентификация
  15. Практика
  16. ООП и MVC
  17. Абстрактные классы и интерфейсы
  18. Трейты
  19. ООП Магия
  20. Практика
  21. Практика: классы как набор методов
  22. Примеры решения задач
  23. Задача
  24. Задача
  25. Задача
  26. Задачи для решения
  27. Работа с переменными
  28. Работа со строками
  29. Обращение к символам строки
  30. Практика
  31. Работа с присваиванием и декрементами
  32. Минипроекты PHP для новичков
  33. Учебник PHP
  34. Практика
  35. Важное
  36. Регулярки
  37. Работа с htaccess
  38. Файлы, папки
  39. Сессии и куки
  40. Работа с БД
  41. Практика по работе с БД в PHP
  42. Практика
  43. Движок PHP
  44. Продвинутые БД
  45. Аутентификация
  46. Практика
  47. ООП и MVC
  48. Абстрактные классы и интерфейсы
  49. Трейты
  50. ООП Магия
  51. Практика
  52. Практика: классы как набор методов
  53. Задачи для решения
  54. Образец главной страницы:
  55. Образец страницы просмотра одной записи:
  56. Образец страницы добавления записи:
  57. Образец страницы редактирования записи:
  58. Образец главной страницы:
  59. Образец страницы с темой:
  60. Образец главной страницы:
  61. Образец страницы с результатом:
  62. Практика программирования на PHP
  63. PHP: 20+ практик, которым стоит следовать
  64. 1. Комментируйте свой код
  65. 2. Используйте стандарты оформления кода
  66. 3. Никогда не используйте короткие теги
  67. 4. Используйте осмысленные названия переменных и функций
  68. 5. Отступы и длина строк
  69. 6. Одинарные или двойные кавычки
  70. 7. Никогда не используйте функции внутри циклов
  71. 8. Используйте одинарные кавычки в индексах массивов
  72. 9. Лучший способ вывода строк
  73. 10. Включайте вывод ошибок (Error Reporting) в процессе разработки
  74. 11. Не забывайте о принципе DRY
  75. 12. Избегайте излишнюю вложенность
  76. 13. Никогда не кладите phpinfo() в корневую директорию
  77. 14. Сделайте документацию по PHP вашим лучшим другом
  78. 15. Время использовать IDE
  79. 16. Попробуйте PHP фреймворки
  80. 17. Запускайте PHP локально
  81. 18. ООП
  82. 19. Обновляйте PHP
  83. 20. Взаимодействуйте с другими разработчиками
  84. От автора перевода:

Задачи на основы языка PHP

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

Перед решением задач изучите теорию к данному уроку.

Примеры решения задач

Задача

Задача. Создайте переменную $var и присвойте ей значение ‘hello’. Обращаясь к отдельным символам этой строки выведите на экран символ ‘h’, символ ‘e’, символ ‘o’.

Задача

Задача. Напишите скрипт, который считает количество секунд в часе.

Если нам нужно получить количество секунд в сутках, то умножим еще и на 24 (так как в сутках 24 часа):

Задача

Задачи для решения

Работа с переменными

Создайте переменную $a и присвойте ей значение 3. Выведите значение этой переменной на экран.

Создайте переменные $a=10 и $b=2. Выведите на экран их сумму, разность, произведение и частное (результат деления).

Создайте переменные $c=15 и $d=2. Просуммируйте их, а результат присвойте переменной $result. Выведите на экран значение переменной $result.

Создайте переменные $a=10, $b=2 и $c=5. Выведите на экран их сумму.

Создайте переменные $a=17 и $b=10. Отнимите от $a переменную $b и результат присвойте переменной $c. Затем создайте переменную $d, присвойте ей значение 7. Сложите переменные $c и $d, а результат запишите в переменную $result. Выведите на экран значение переменной $result.

Работа со строками

Создайте переменную $text и присвойте ей значение ‘Привет, Мир!’. Выведите значение этой переменной на экран.

Создайте переменные $text1=’Привет, ‘ и $text2=’Мир!’. С помощью этих переменных и операции сложения строк выведите на экран фразу ‘Привет, Мир!’.

Создайте переменную $name и присвойте ей ваше имя. Выведите на экран фразу ‘Привет, %Имя%!’. Вместо %Имя% должно стоять ваше имя.

Создайте переменную $age и присвойте ей ваш возраст. Выведите на экран ‘Мне %Возраст% лет!’.

Обращение к символам строки

Создайте переменную $text и присвойте ей значение ‘abcde’. Обращаясь к отдельным символам этой строки выведите на экран символ ‘a’, символ ‘c’, символ ‘e’.

Дана произвольная строка, например, ‘abcde’. Поменяйте первую букву (то есть букву ‘a’) этой строки на ‘!’.

Создайте переменную $num и присвойте ей значение ‘12345’. Найдите сумму цифр этого числа.

Практика

Напишите скрипт, который считает количество секунд в часе, в сутках, в месяце.

Создайте переменную, присвойте ей число. Возведите это число в квадрат (это значит нужно умножить его само на себя). Выведите его на экран.

Работа с присваиванием и декрементами

Переделайте этот код так, чтобы в нем использовалась операция .=. Количество строк кода при этом не должно измениться.

Переделайте этот код так, чтобы в нем использовались операции ++ и . Количество строк кода при этом не должно измениться.

Источник

Минипроекты PHP для новичков

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

Перед решением задач изучите теорию к данному уроку.

Задачи для решения

Над формой должны выводится сообщения, оставленные предыдущими посетителями сайта (видны всегда, отсортированы по убыванию даты, то есть в начале самые новые).

Все должно работать аналогично предыдущей задаче, но для сообщений нужно реализовать пагинацию, пусть по 5 сообщений на странице.

Реализуйте гостевую книгу, как показано в следующем образце:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте гостевую книгу с пагинацией, как показано в следующем образце:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте записную книгу, как показано ниже.

Образец главной страницы:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы просмотра одной записи:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы добавления записи:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы редактирования записи:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте органайзер, как показано в следующем образце:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте форум, как показано ниже.

Образец главной страницы:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы с темой:

Вы можете открыть этот пример в отдельной вкладке браузера.

Реализуйте опрос, как показано ниже. Результаты опроса должны храниться в базе данных.

Образец главной страницы:

Вы можете открыть этот пример в отдельной вкладке браузера.

Образец страницы с результатом:

Вы можете открыть этот пример в отдельной вкладке браузера.

Источник

Практика программирования на PHP

Если можешь сделать сортировку масива «пузырьком», то переходи дальше. Если нет — то разберись в простейшей работе с массивами и таки сделай эту сортировку.

Потом прочитай, что такое MVC и можешь все переделать под этот шаблон проектирования.

865a1968f1ca3221a1e3f267dcf6e422

Знаю, что получу много минусов, но всё таки…

«Надо начинать с лёгкого проекта» — самый ужасный совет новичкам.
Решая легкие задачи мозг затачивается под лёгкие задачи. А как только программист после такого «лёгкого» обучения сталкивается с действительно сложной задачей вся структура мышления ломается и обучаться приходиться почти сначала.

Меня в своё время учили гуру — «Решай задачи, в которых сам чёрт ногу сломит, только так научишься». Проверил этот совет на себе и полностью с ним согласен. Только решение сложных задач действительно учит.

Выберите сложную задачу (написать движок для соц.сети, браузерную игру, портал и т.д.) и работайте над ней.

3e461aa27e5775909756710c697ce0ae

865a1968f1ca3221a1e3f267dcf6e422

3bf81c31b841390ff9c80faf52c8fbd1

51fefa2d570bec423c8a49e09c16cae3

Задача для обучения должна решаться
Задача для развития должна быть сложнее текущего уровня
Сложность надо повышать постепенно, дабы приобретенные знания и опыт соединялись с имеющимися и формировалась картина а не бардак

Источник

PHP: 20+ практик, которым стоит следовать

a7ee0720def2d5f1476ebaa40a1d2b97

Эта статья постарается научить вас нескольким лучшим практикам одного из самых популярных языков программирования в мире. Проблема в том, что многие разработчики, не только начинающие, но даже опытные PHP программисты, не уделяют им должного внимания.

Не так редки случаи, когда люди теряли высокооплачиваемую работу только потому, что не заостряли свое внимание на особенностях языка. Помните, что довольно сложно разобраться во всем за одну ночь.

0bdc827acecfd4d968d978d1390e75bc

1. Комментируйте свой код

Комментирование намного важнее, чем вы могли подумать. Очень грустно видеть начинающих разработчиков, да и закалённых программеров, которые не комментируют свой код просто потому что им лень.

Комментарии не только позволяют другим разработчикам понять ваш код, но и помогут разобраться вам самим, если придется вернуться к нему спустя какое-то время. Допустим, сегодня вы написали критически-важную функцию, и вы помните как она работает спустя день, два или даже неделю. Но, скорее всего, вы забудете о ней через пару месяцев.

Комментирование сделает ваш код понятным каждому (даже самим себе).

2. Используйте стандарты оформления кода

Стандартов оформления кода необходимость придерживаться (см. PSR-2, прим. пер.). Если разработчики в одном проекте будут использовать разные стандарты, репозиторий может превратиться в сущий ад.

Исходный код может стать абсолютно не поддерживаемым, если каждый, работая над ним, будет изобретать свой собственный стандарт оформления. Есть даже разработчики, которые не потрудились придерживаться хоть какого-нибудь стандарта, их код начал выглядеть как большая куча мусора и не более того.

Строгое следование определенному стандарту в оформлении кода даёт возможность другим программистам провести отладку вашего кода, и позволит вам самим присоединиться к сторонним проектам.

3. Никогда не используйте короткие теги

Это простое злоупотребление может стать причиной конфликтов с xml парсерами, а также может сделать ваш код несовместимым с будущими версиями PHP.

4. Используйте осмысленные названия переменных и функций

Если вы не применяете стандарты присвоения имен переменных, а используете общие и ничего не значащие имена, это может стать болезненным опытом для программистов, разбирающихся в вашем коде. Это очень плохая тенденция, которой ни в коем случае не стоит придерживаться.

5. Отступы и длина строк

Я уже говорил о важности следования стандарту оформления кода, но отдельно стоит сказать про отступы и длину строк.

6. Одинарные или двойные кавычки

Запомните разницу в их работе и используйте должным образом.

7. Никогда не используйте функции внутри циклов

8. Используйте одинарные кавычки в индексах массивов

Особенность PHP в том, что он воспринимает индексы без кавычек как константы, и, если эти константы не были объявлены ранее, они будут самоопределены (self-defined), что вызовет предупреждение (warning). Это не остановит выполнение кода, но ошибка есть ошибка.

9. Лучший способ вывода строк

Взгляните на кусок кода, представленный ниже, и попробуйте догадаться, какое выражение выполнится быстрее, а какое окажется медленнее.

Представьте, но последняя запись, та, которую реже всего можно встретить в коде, выигрывает в тестах производительности. Первая запись, очевидно, проигрывает, потому что функция «print» работает медленнее, чем «echo». Третья строка выигрывает у второй за счет того, что операция конкатенации обрабатывается быстрее, чем переменные внутри строки.

Малоизвестный четвертый вариант побеждает, потому что в нем нет операций работы со строками, а всего лишь список строк, разделенных запятыми.

10. Включайте вывод ошибок (Error Reporting) в процессе разработки

В PHP есть очень полезная функция, error_reporting(), которая может помочь найти различные проблемы в вашем приложении.

PHP поддерживает несколько уровней показа ошибок: E_NOTICE, E_WARNING, E_PARSE и тд., но вы должны использовать E_ALL для вывода всех типов уведомлений. Не забудьте выключить показ ошибок, когда закончите работу над кодом, чтобы пользователи не испугались невразумительных сообщений.

9713ec2b23a717e4ca9b31584eee944e

11. Не забывайте о принципе DRY

Это концепция применима не только к PHP, но и к любому другому языку программирования, таким как Java, C++ и тд. Простой пример кода позволит вам понять принцип DRY.

После применения принципа DRY, код будет выглядеть так:

12. Избегайте излишнюю вложенность

Используйте условные операторы таким образом, чтобы избежать множественного вложения. Это не только очень плохая практика, но и выставит ваше код в неудобном свете перед другими разработчиками.

13. Никогда не кладите phpinfo() в корневую директорию

Вы всего лишь размещаете файл на вашем сервере и получаете исчерпывающую информацию. Но множество разработчиков допускают ошибку, помещая файл в корневую директорию, т.к. это может открыть множество лазеек для хакеров.

Лучшим вариантом будет удалить файл, как только вы закончите с ним. Не так уж и страшно потратить пару секунд, если он понадобится вам снова.

14. Сделайте документацию по PHP вашим лучшим другом

7c0bb280e9739888374d6b51429f0a8e

У них есть новый дизайн (в бэта версии), если хотите. Другой полезной чертой документации PHP являются крайне полезные комментарии.

15. Время использовать IDE

88cc4cad21190ea5fb098c0f7d55258d

IDE расшифровывается как Integrated Development Environment (интегрированная среда разработки). Она может существенно облегчить процесс разработки. IDE обладает такими крутыми штуками как: Подсветка синтаксиса, Автодополнение кода, Навигация, Отладка и др., что сделает вас намного продуктивнее и поможет вам писать хороший код с минимумом ошибок.

Вот несколько IDE для PHP: NetBeans, phpDesigner, phpStormи т.д. Выбери то, что больше понравится.

16. Попробуйте PHP фреймворки

Если вы изучили основы PHP, значит самое время перейти к фреймворкам. Их для PHP целые десятки, большинство из них основано на модели MVC (Model-View-Controller).

Из них вы подчерпнете много новых интересных вещей для изучения. CakePHP, CodeIgniter, Zend, Symphony позволят вам создать потрясающие приложения на PHP.

c449820bc2995bc17ff829ce06eabe0c

17. Запускайте PHP локально

Если вы работаете над PHP приложением, то вам хотелось бы вести весь процесс разработки на своем компьютере, без подключения к удаленному серверу.

Для этого вам нужны лишь веб-сервер Apache и PHP. Если появится необходимость в базе данных, воспользуйтесь MySQL.

Конечно, вы можете установить их раздельно, но лучше будет воспользоваться готовым решением: XAMPP, WAMP, MAMP. Они очень просты в настройке и позволят развернуть локальный сервер за считанные минуты.

14e63b4f8fff048ecee23b90962a08ea

18. ООП

Концепция объектно-ориентированного программирования впервые была представлена в PHP 4, но полноценная его поддержка появилась в PHP 5.

Но сейчас самое время перейти к объектно-ориентированному программированию, поскольку оно обеспечивает более высокий уровень гибкости и может значительно сократить размер исходного кода. Ваш код станет выглядеть намного более организованным.

19. Обновляйте PHP

Это очевидный пункт, но множество программистов неохотно берутся за обновление. Вместе с новой версией мы можете получить улучшение производительности и новые возможности. Нет абсолютно ни единой причины, пропускать обновления.

Эти новые возможности могут сделать вашу программистскую жизнь намного интереснее и проще. И не стоит забывать, что в новых версиях появляются исправления багов и улучшения, связанные с безопасностью.

20. Взаимодействуйте с другими разработчиками

Но если вы будете думать также, то перекроете себе путь в мир изучения новых замечательных технологий.

Спрашивайте ваших друзей или опытных разработчиков на всевозможных форумах, таких как Stack Overflow, Dream In Code и т.п. В мире много людей, которые всегда готовы протянуть вам руку помощи.

От автора перевода:

Пост является переводом оригинальной статьи Aritra Roy (https://www.corephp.com/blog/php-best-practices-that-you-must-follow/), опубликованной в августе 2013, но до сих пор сохранившей актуальность.

12144af8c3a9185542264452c5a47c85

Помогаю развивать интернет-проекты. Пишу про веб-разработку, маркетинг и дизайн.

Источник

Моя дача
Adblock
detector