Можно спросить: а зачем же может вообще потребоваться PHP? Разве обычных HTML и пары JavaScript не достаточно для создания красивой web-страницы?
Ну, во-первых, PHP может очень серьезно облегчить работу создателя сайта. С команды include() можно автоматически вставлять один и тот же фрагмент HTML-кода во множество страниц, просто поместив в них эту команду с именем файла, содержащего код общей части. Причем этот код тоже может меняться в зависимости от страницы, в которую он включается, — достаточно в этой странице установить значение какой-либо переменной, а в коде общей части поместить инструкцию if, результат работы которой зависит от этого значения. В результате для обновления такой общей части будет достаточно отредактировать один файл — тот, который ее, собственно, и содержит, — и тогда для посетителей сайта соответственно изменятся все его страницы, как если бы вы все их вручную отредактировали.
Работа web-мастера по поддержке сайта при использовании PHP заметно облегчается. К примеру, немного поработав, можно сделать сценарий, «пробегающий» по всем файлам в каком-либо каталоге и «вытаскивающий» оттуда какие-либо фрагменты (например, содержимое тэгов «meta» — функция get_meta_tags). Таким образом можно, скажем, автоматически создавать оглавления журналов или библиотек: стоит поместить в каталог новую статью (оформленную согласно определенным правилам), как она тут же станет появляться в оглавлении на главной странице без необходимости эту главную страницу обновлять вручную.
С PHP можно серьезно облегчить частое обновление страницы — так, если страница содержит часто меняющуюся вставку (например, новости), то будет неплохо поместить на место этих новостей инструкцию include ("file"), а в этом файле разместить текст новостей. В результате при обновлении новостей редактированию придется подвергать лишь сам их текст, а не HTML-код заглавной страницы, что и самому делать легче, и неопытному доверить можно.
web-мастеру и службе поддержки web-ресурса — это лишь весьма малая часть функций PHP. Используя PHP, можно обогатить сайт огромным количеством новых возможностей, делающих его удобным и нужным для посетителя. Так, с функции mail() легко обеспечить отправку почтового сообщения по какому-либо адресу со страниц сайта, — например, мнения посетителя о сайте или вопроса его владельцу. Сделать гостевую книгу, чат или форум на PHP тоже возможно, в Сети нетрудно найти немало уже готовых подобных сценариев. В следующем разделе будет рассказано, как с PHP улучшить удобство работы с сайтом, содержащим множество однотипных небольших разделов, или создать мини-Интернет-магазин.
Одним из наиболее заметных достоинств PHP является возможность легкой работы с серверами баз данных. Ранее, до появления этого языка, задание, выражающееся словами "приделать базу данных к web-странице", было довольно трудным и малодоступным для начинающих web-дизайнеров. Приходилось либо самостоятельно разрабатывать хитроумные скрипты, взаимодействующие как с программой управления базой данных, так и с web-страницами сайта, либо закупать их у фирм-разработчиков. С же PHP использование базы данных на сайте стало чуть ли не элементарным. Для работы с подавляющим большинством типов баз данных в PHP есть встроенные функции, поэтому теперь для достаточно лишь установить на web-сервере программу работы с базой данных (наиболее часто используется бесплатная MySQL — http://www.mysql.com) и включить в текст PHP-сценария команды работы с нею (их список приведен в описании языка вместе с примерами использования).
Возможности PHP можно весьма серьезно расширить с дополнительных модулей, содержащих различные функции. Эти модули при необходимости размещаются на web-сервере, на котором установлен PHP-интерпретатор. Их можно загрузить с адреса http://www.php.net, там же в разделе документации приведено и полное их описание. (В том web-сервере с установленным PHP, который распространяется с сайта http://php.spb.ru, никаких дополнительных модулей нет для уменьшения размера дистрибутива.) Например, модуль Zlib позволяет работать из программы на PHP с архивами в формате Gzip, а модуль libswf — с Flash-презентациями, создавая их и редактируя прямо из программы на сервере. Так как PHP — развивающийся язык, то новые модули появляются довольно часто, однако использовать их можно лишь после установки на web-сервер, что провайдеры хостинговых услуг могут не сделать. Поэтому при желании использовать функции из какого-либо модуля нужно сначала проверить, поддерживает ли их web-сервер, на котором вы собираетесь размещать сайт.
Сделать это можно, либо разместив на сервере страницу со строчкой <?php phpinfo()?> и загрузив ее с сервера в браузер (на ней будет отображена информация о версии PHP, параметрах web-сервера и многом другом, в том числе дополнительных модулях), либо попросту задав вопрос группе технической поддержки сервера.
Можно спросить: а зачем же может вообще потребоваться PHP? Разве обычных HTML и пары JavaScript не достаточно для создания красивой web-страницы?
Ну, во-первых, PHP может очень серьезно облегчить работу создателя сайта. С команды include() можно автоматически вставлять один и тот же фрагмент HTML-кода во множество страниц, просто поместив в них эту команду с именем файла, содержащего код общей части. Причем этот код тоже может меняться в зависимости от страницы, в которую он включается, — достаточно в этой странице установить значение какой-либо переменной, а в коде общей части поместить инструкцию if, результат работы которой зависит от этого значения. В результате для обновления такой общей части будет достаточно отредактировать один файл — тот, который ее, собственно, и содержит, — и тогда для посетителей сайта соответственно изменятся все его страницы, как если бы вы все их вручную отредактировали.
Работа web-мастера по поддержке сайта при использовании PHP заметно облегчается. К примеру, немного поработав, можно сделать сценарий, «пробегающий» по всем файлам в каком-либо каталоге и «вытаскивающий» оттуда какие-либо фрагменты (например, содержимое тэгов «meta» — функция get_meta_tags). Таким образом можно, скажем, автоматически создавать оглавления журналов или библиотек: стоит поместить в каталог новую статью (оформленную согласно определенным правилам), как она тут же станет появляться в оглавлении на главной странице без необходимости эту главную страницу обновлять вручную.
С PHP можно серьезно облегчить частое обновление страницы — так, если страница содержит часто меняющуюся вставку (например, новости), то будет неплохо поместить на место этих новостей инструкцию include ("file"), а в этом файле разместить текст новостей. В результате при обновлении новостей редактированию придется подвергать лишь сам их текст, а не HTML-код заглавной страницы, что и самому делать легче, и неопытному доверить можно.
web-мастеру и службе поддержки web-ресурса — это лишь весьма малая часть функций PHP. Используя PHP, можно обогатить сайт огромным количеством новых возможностей, делающих его удобным и нужным для посетителя. Так, с функции mail() легко обеспечить отправку почтового сообщения по какому-либо адресу со страниц сайта, — например, мнения посетителя о сайте или вопроса его владельцу. Сделать гостевую книгу, чат или форум на PHP тоже возможно, в Сети нетрудно найти немало уже готовых подобных сценариев. В следующем разделе будет рассказано, как с PHP улучшить удобство работы с сайтом, содержащим множество однотипных небольших разделов, или создать мини-Интернет-магазин.
Одним из наиболее заметных достоинств PHP является возможность легкой работы с серверами баз данных. Ранее, до появления этого языка, задание, выражающееся словами "приделать базу данных к web-странице", было довольно трудным и малодоступным для начинающих web-дизайнеров. Приходилось либо самостоятельно разрабатывать хитроумные скрипты, взаимодействующие как с программой управления базой данных, так и с web-страницами сайта, либо закупать их у фирм-разработчиков. С же PHP использование базы данных на сайте стало чуть ли не элементарным. Для работы с подавляющим большинством типов баз данных в PHP есть встроенные функции, поэтому теперь для достаточно лишь установить на web-сервере программу работы с базой данных (наиболее часто используется бесплатная MySQL — http://www.mysql.com) и включить в текст PHP-сценария команды работы с нею (их список приведен в описании языка вместе с примерами использования).
Возможности PHP можно весьма серьезно расширить с дополнительных модулей, содержащих различные функции. Эти модули при необходимости размещаются на web-сервере, на котором установлен PHP-интерпретатор. Их можно загрузить с адреса http://www.php.net, там же в разделе документации приведено и полное их описание. (В том web-сервере с установленным PHP, который распространяется с сайта http://php.spb.ru, никаких дополнительных модулей нет для уменьшения размера дистрибутива.) Например, модуль Zlib позволяет работать из программы на PHP с архивами в формате Gzip, а модуль libswf — с Flash-презентациями, создавая их и редактируя прямо из программы на сервере. Так как PHP — развивающийся язык, то новые модули появляются довольно часто, однако использовать их можно лишь после установки на web-сервер, что провайдеры хостинговых услуг могут не сделать. Поэтому при желании использовать функции из какого-либо модуля нужно сначала проверить, поддерживает ли их web-сервер, на котором вы собираетесь размещать сайт.
Сделать это можно, либо разместив на сервере страницу со строчкой <?php phpinfo()?> и загрузив ее с сервера в браузер (на ней будет отображена информация о версии PHP, параметрах web-сервера и многом другом, в том числе дополнительных модулях), либо попросту задав вопрос группе технической поддержки сервера.
Решение 1:
nominative = 1 # окончания им.падеж: гриб
generative = [2, 3, 4] # список окончаний род.падеж: гриба
plural_generative = [5, 6, 7, 8, 9, 0] # список окончаний род.падеж множ-го: грибов
for number in range(0, 51): # цикл с значением от 0 до 51
"""number % 10 возвращает последнюю цифру из числа"""
if (number % 10) == nominative:
print(f"{number} гриб")
elif (number % 10) in generative:
print(f"{number} гриба")
elif (number % 10) in plural_generative:
print(f"{number} грибов")
Решение 2:
nominative = 1 # окончания им.падеж: гриб
generative = [2, 3, 4] # список окончаний род.падеж: гриба
for number in range(0, 51): # цикл с значением от 0 до 51
"""number % 10 возвращает последнию цифру из числа"""
if (number % 10) == nominative:
print(f"{number} гриб")
elif (number % 10) in generative:
print(f"{number} гриба")
else:
print(f"{number} грибов")
Объяснение:
В комментариях.