Первая страница на PHP
Создайте файл с именем hello.php в корневом каталоге веб-сервера ( DOCUMENT_ROOT ) и запишите в него следующее:
Пример #1 Первый скрипт на PHP: hello.php
Откройте данный файл в браузере, набрав имя вашего веб-сервера и /hello.php . При локальной разработке эта ссылка может быть чем-то вроде http://localhost/hello.php или http://127.0.0.1/hello.php , но это зависит от настроек вашего сервера. Если всё настроено правильно, этот файл будет обработан PHP и браузер выведет следующий текст:
Эта программа чрезвычайно проста, и для создания настолько простой странички даже необязательно использовать PHP. Все, что она делает, это вывод Hello World , используя инструкцию PHP echo . Заметьте, что файл не обязан быть выполняемым или ещё как-то отличаться от других файлов. Сервер знает, что этот файл должен быть обработан PHP, так как файл обладает расширением «.php», о котором в настройках сервера сказано, что подобные файлы должны передаваться PHP. Рассматривайте его как обычный HTML-файл, которому посчастливилось заполучить набор специальных тегов (доступных также и вам), способных на кучу интересных вещей.
Если у вас этот пример не отображает ничего или выводит окно загрузки, или если вы видите весь этот файл в текстовом виде, то, скорее всего, ваш веб-сервер не имеет поддержки PHP или был сконфигурирован неправильно. Попросите вашего администратора сервера включить такую поддержку. Предложите ему инструкцию по установке: раздел Установка данной документации. Если же вы разрабатываете скрипты на PHP дома (локально), то также прочтите эту главу, чтобы убедиться, что вы все настроили верно. Убедитесь также, что вы запрашиваете файл у сервера через протокол http. Если вы просто откроете файл из вашей файловой системы, он не будет обработан PHP. Если проблемы всё же остались, не стесняйтесь попросить помощи одним из » множества доступных способов получения поддержки по PHP.
Цель примера — показать формат специальных тегов PHP. В этом примере мы использовали . Таким образом можно где угодно «запрыгивать» и «выпрыгивать» из режима PHP в HTML файле. Подробнее об этом можно прочесть в разделе руководства Основной синтаксис.
Замечание: Замечание о переводах строк
Переводы строк немногое означают в HTML, однако считается хорошей идеей поддерживать HTML в удобочитаемом виде, перенося его на новую строку. PHP автоматически удаляет перевод строки, идущий сразу после закрывающего тега ?> . Это может быть чрезвычайно полезно, если вы используете множество блоков PHP-кода или подключаете PHP-файлы, которые не должны ничего выводить. В то же время, это может приводить в недоумение. Можно поставить пробел после закрывающего тега ?> и тогда пробел будет выведен вместе с переводом строки, или же вы можете специально добавить перевод строки в последний вызов echo/print из блока PHP-кода.
Замечание: Пара слов о текстовых редакторах
Существует множество текстовых редакторов и интегрированных сред разработки (IDE), в которых вы можете создавать и редактировать файлы PHP. Список некоторых редакторов содержится в разделе » Список редакторов PHP. Если вы хотите порекомендовать какой-либо редактор, посетите данную страницу и попросите добавить редактор в список. Использование редактора с подсветкой синтаксиса может быть очень большим подспорьем в вашей работе.
Замечание: Пара слов о текстовых процессорах
Текстовые процессоры (StarOffice Writer, Microsoft Word, Abiword и др.) в большинстве случаев не подходят для редактирования файлов PHP. Если вы всё же хотите использовать какой-либо из них для тестового скрипта, убедитесь, что сохраняете файл как простой текст (plain text), иначе PHP будет не в состоянии прочесть и запустить ваш скрипт.
Теперь, когда вы успешно создали работающий PHP-скрипт, самое время создать самый знаменитый PHP-скрипт! Вызовите функцию phpinfo() и вы увидите множество полезной информации о вашей системе и настройке, такой как доступные предопределённые переменные, загруженные PHP-модули и параметры настройки. Уделите некоторое время изучению этой важной информации.
Пример #2 Получение информации о системе из PHP
Echo или вывод HTML средствами PHP: разбор, примеры
Новичок ли вы в PHP программировании или продвинутый специалист — вам известно, что одно из первых с чем сталкиваются разработчики PHP это команда вывода HTML — echo. Это одна из основных команд языка программирования PHP. Она позволяет вывести любой HTML и jаvascript или другой код средствами PHP.
Для более опытных программистов добавлю, что echo с использованием циклов позволяет формировать HTML контент, а именно — таблицы, списки новостей, различные списки, меню и т.п. То есть echo имеет очень широкое применение в PHP.
То что нужно вывести при помощи конструкции echo мы заключаем в кавычки (одинарные или двойные), если это строка или указываем переменную.
Рассмотрим простейшие пример и выведем HTML строку на экран:
echo "Количество арбузов на складе - 7 тонн.
";
Добавим переменную PHP, заранее обозначив ее:
$tonn = "7"; echo "Количество арбузов на складе - ".$tonn." тонн.
";
Обращаю внимание на то как соединяются строки в PHP, только через точки (вместо + как во многих других языках программирования). Именно здесь часто допускают ошибки новички в PHP при использовании команды вывода HTML — echo.
При использовании двойных кавычек можно писать переменную PHP не используя соединение строк:
$tonn = "7"; echo "Количество арбузов на складе - $tonn тонн.
";
При использовании одинарных кавычек вместо цифры 7 на страницу выводится — $tonn.
Добавим экранирование символов для вывода кавычек в HTML строке:
$tonn = "7"; echo "Количество арбузов на складе - \"".$tonn."\" тонн.
";
Выведем при помощи echo массив.
$sklad = array("tonn" => "7"); echo "Количество арбузов на складе - \"".$sklad['tonn']."\" тонн.
";
Используем краткую форму функции echo
Количество арбузов на складе - тонн.
Если краткий вывод у вас не работает, то возможной проблемой является настройка PHP в файле php.ini.
Добавим несколько строк для вывода HTML при помощи echo:
echo "Арбузы
Количество арбузов на складе - 7 тонн.
";
$tonn = "7"; echo Арбузы Количество арбузов на складе - $tonn тонн.
END;
Открывающий и закрывающий идентификаторы должны располагаться на отдельных строках, пробелов быть не должно!
Добавим цикл, который позволит при помощи echo нам сформировать данные на странице, например список.
А теперь давайте сформируем простую шапку сайта с переменными для заголовка и описания, подвал сайта и основную часть и выведем этот HTML код при помощи PHP команды echo.
Естественно, что все переменные должны быть объявлены заранее
Итак, как видите мы при помощи echo сформировали и вывели html страницу средствами PHP. Если немного расширить этот программный текст и добавить функцию подключения php страниц include(), то можно сформировать несколько HTML страниц, тем самым получив простейший сайт. При этом вам не придется вносить изменения на каждую страницу, например, для шапки сайта. Достаточно будет внести изменения в файл header.php.
Если у вас не работает PHP, то попробуйте ознакомиться со статьей.
echo
Outputs one or more expressions, with no additional newlines or spaces.
echo is not a function but a language construct. Its arguments are a list of expressions following the echo keyword, separated by commas, and not delimited by parentheses. Unlike some other language constructs, echo does not have any return value, so it cannot be used in the context of an expression.
echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. This syntax is available even with the short_open_tag configuration setting disabled.
The major differences to print are that echo accepts multiple arguments and doesn’t have a return value.
Parameters
One or more string expressions to output, separated by commas. Non-string values will be coerced to strings, even when the strict_types directive is enabled.
Return Values
Examples
Example #1 echo examples
echo «echo does not require parentheses.» ;
?php
// Strings can either be passed individually as multiple arguments or
// concatenated together and passed as a single argument
echo ‘This ‘ , ‘string ‘ , ‘was ‘ , ‘made ‘ , ‘with multiple parameters.’ , «\n» ;
echo ‘This ‘ . ‘string ‘ . ‘was ‘ . ‘made ‘ . ‘with concatenation.’ . «\n» ;
// No newline or space is added; the below outputs «helloworld» all on one line
echo «hello» ;
echo «world» ;
// Same as above
echo «hello» , «world» ;
echo «This string spans
multiple lines. The newlines will be
output as well» ;
echo «This string spans\nmultiple lines. The newlines will be\noutput as well.» ;
// The argument can be any expression which produces a string
$foo = «example» ;
echo «foo is $foo » ; // foo is example
$fruits = [ «lemon» , «orange» , «banana» ];
echo implode ( » and » , $fruits ); // lemon and orange and banana
// Non-string expressions are coerced to string, even if declare(strict_types=1) is used
echo 6 * 7 ; // 42
// Because echo does not behave as an expression, the following code is invalid.
( $some_var ) ? echo ‘true’ : echo ‘false’ ;
// However, the following examples will work:
( $some_var ) ? print ‘true’ : print ‘false’ ; // print is also a construct, but
// it is a valid expression, returning 1,
// so it may be used in this context.
echo $some_var ? ‘true’ : ‘false’ ; // evaluating the expression first and passing it to echo
?>
Notes
Note: Because this is a language construct and not a function, it cannot be called using variable functions, or named arguments.
Note: Using with parentheses
Surrounding a single argument to echo with parentheses will not raise a syntax error, and produces syntax which looks like a normal function call. However, this can be misleading, because the parentheses are actually part of the expression being output, not part of the echo syntax itself.
echo( «hello» );
// also outputs «hello», because («hello») is a valid expression
echo( 1 + 2 ) * 3 ;
// outputs «9»; the parentheses cause 1+2 to be evaluated first, then 3*3
// the echo statement sees the whole expression as one argument
echo «hello» , » world» ;
// outputs «hello world»
echo( «hello» ), ( » world» );
// outputs «hello world»; the parentheses are part of each expression
echo( «hello» , » world» );
// Throws a Parse Error because («hello», » world») is not a valid expression
?>
Passing multiple arguments to echo can avoid complications arising from the precedence of the concatenation operator in PHP. For instance, the concatenation operator has higher precedence than the ternary operator, and prior to PHP 8.0.0 had the same precedence as addition and subtraction:
// Below, the expression ‘Hello ‘ . isset($name) is evaluated first,
// and is always true, so the argument to echo is always $name
echo ‘Hello ‘ . isset( $name ) ? $name : ‘John Doe’ . ‘!’ ;
?php
// The intended behaviour requires additional parentheses
echo ‘Hello ‘ . (isset( $name ) ? $name : ‘John Doe’ ) . ‘!’ ;
// In PHP prior to 8.0.0, the below outputs «2», rather than «Sum: 3»
echo ‘Sum: ‘ . 1 + 2 ;
// Again, adding parentheses ensures the intended order of evaluation
echo ‘Sum: ‘ . ( 1 + 2 );
If multiple arguments are passed in, then parentheses will not be required to enforce precedence, because each expression is separate:
echo «Hello » , isset( $name ) ? $name : «John Doe» , «!» ;
?php
Как вывести страницу через php?
Только начал работу с php. Как вывести страницу через php? Не писать же echo ‘%длинный html-код%’ ? Как это по-хорошему делается?
Оценить 1 комментарий
Все ответы какие-то путаные.
Хотя на самом деле всё очень просто.
Если ХТМЛ пишется в том же самом файле, то тупо закрываем тег РНР и пишет HTML как есть
2. Если в другом файле — то readfile:
Вот это как раз дикость. Ни подсветки кода, ни инструментов редактирования. HTML в пхп надо выводить как есть, а не с помощью костылей.
FanatPHP: Если мы рассматриваем вариант, когда все в одном файле, то меня, как раз таки, напрягает, если php смешан с html. А в вышенаписанном варианте все отдельно (в рамках одного файла), и подсветку можно попеременно включать для php/html. В прочем, это на вкус и цвет, а по-хорошему, лучше в отдельных файлах держать 🙂
Речь не о твоих субъективных вкусах, а об объективной разнице. Ничего попеременно включать не надо. Если HTML предназначен для вывода — он пишется как есть. Единственное предназначение хередока — это получить текст в переменную, которую потом тем или иным образом обработать. Не путай на будущее.
FanatPHP: Я опираюсь на субъективный вкус, меня напрягает смешанный код, держу все в отдельных файлах, а пример был приведен «как вариант», что уже намекает на «костыльность». Я понял, что вы имеете ввиду, продолжать далее эту дискуссия считаю бесполезным. Спокойной ночи.
Тебя правильно напрягает смешанный код. Именно поэтому нет ни одной причины использовать хередок для вывода. И ответ писать про это не стоило.