Php s

Уроки PHP. На основе дискуссий форума PHP.SU.

Вы начинаете изучать PHP? Ознакомьтесь с вводным курсом обучения PHP.
Так же для новичков наши профессионалы собрали материалы по форуму PHP.SU и разместили это в виде Уроков PHP.

Знаете основы PHP и хотите укрепить свои познания?
Обратитесь непосредственно к разделу "Изучение PHP".
Рекомендуем также ознакомиться с принципами работы PHP с протоколом HTTP.

Вам также потребуется справочник по всем функциям PHP, полностью на русском.
Справочник по функциям PHP оснащен системой поиска функций по ключевым словам.

В PHP есть обширные средства для работы с СУБД, такими, как MySQL.
Вы можете использовать PHP для работы с большим количеством различных типов СУБД.

Наш портал содержит множество статей по PHP, MySQL, Apache, PEAR, регулярным выражениям, XML, другим веб-технологиям.
Общее число статей на данный момент составляет более 250.


У нас Вы найдете большое количество учебников и справочников по PHP, MySQL, HTML, XML, JavaScript и.т.д.

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

Раздел "PHP скрипты" поможет Вам скачать большое количество различных скриптов PHP.

Раздел "Download" поможет Вам скачать необходимые компоненты: PHP, Apache, MySQL, PECL, PEAR, редакторы PHP кода, полезные утилиты для PHP и документацию по PHP, MySQL, PEAR и Apache.

www.php.su

с символами printf или sprintf, которым предшествует знак%, являются заполнители (или жетоны).
x41E;ни будут заменены переменной, переданной в качестве аргумента.

Пример:

 $str1 = 'best'; $str2 = 'world'; $say = sprintf('Tivie is the %s in the %s!', $str1, $str2); echo $say; 

Это приведет к выводу:

Тиви – лучший в мире!

Примечание. Есть больше заполнителей (% s для строки,% d для номера деления и т. Д.).



Порядок:

Порядок, в котором вы передаете аргументы, подсчитывается. Если вы переключите $ str1 на $ str2 как

 $say = sprintf('Tivie is the %s in the %s!', $str2, $str1); 

он распечатает

«Тиви – мир в лучшем!»

Однако вы можете изменить порядок чтения таких аргументов:

 $say = sprintf('Tivie is the %2$s in the %1$s!', $str2, $str1); 

который правильно напечатает предложение.



Также имейте в виду, что PHP является динамическим языком и не требует (или поддерживает) явного определения типа. Это означает, что при необходимости жонглирует переменными типами. В спринте это означает, что е&#.
443;дет преобразована в число (int, float …), которое может иметь странные результаты. Вот пример:

 $onevar = 2; $anothervar = 'pocket'; $say = sprintf('I have %d chocolate(s) in my %d.', $onevar, $anothervar); echo $say; 

это напечатает

У меня есть 2 шоколада (ов) в моем 0.

Больше чтения на PHPdocs


ruphp.com

Одним из крутейший новшеств в php 5.4 является встроенный сервер, созданный специально для разработки и тестирования. Теперь вы можете писать и тестировать свой код не имея полноценного веб-сервера — просто запустите встроенный сервер, протестируйте свой код, и выключите его, когда закончите.
Сервер, так же, предоставляет возможность и для творческого использования. Например, вы можете распространять портативное web-приложение на CD или USB, или даже как десктопное приложение, созданное на PHP без использования GTK или других графических библиотек.

В мануале PHP подчеркивается, что встроенный сервер предназначен для разработки и рекомендуется не использовать его на боевом сервере. Отсутствуют какие-либо INI директивы отвечающие за сервер (за исключением раскрашивания вывода в консоли), и, кажется, что основная идея документации: «у нас теперь тоже есть Web сервер, отстаньте от нас».
Несмотря на это, я считаю, что встроенные сервер может быть ценным инструментом для разработки и тестирования. К примеру, на моей машине я использую предустановленный Apache с кастомной конфигурацией, подходящей для меня, но иногда я хочу попробовать какие-либо новые Web-приложения. Со встроенным web-сервером я могу протестировать приложение прямо из папки «downloads» или временной папки и переместить в обычную среду, только тогда, когда это будет необходимо.
Но для начала, это не так просто, ведь многие написанные приложения используют .htaccess и mod_rewrite.
я уверен, что кто-то (может быть один из вас, почему бы и нет?) напишет адаптер для этого, и я хотел бы быть первым, кто протестируют его.
В этой статье я объясню некоторые основные примеры использования встроенного сервера и покажу вам как сделать его полезным для разработки и тестирования.

Используем встроенный сервер

Итак, для использования сервера нам необходим php 5.4 или выше. Для проверки версии PHP, выполните:

php -v 

Так же вы можете определить доступен ли сервер в вашей сборке выполнив:

php -h 

и найдите там описание параметров "-S" и "-t", которые используются только для сервера.
Для проверки сервера вы можете создать в текущей директории файл index.php, который будет содержать в себе вызов функции phpinfo() и затем запустить сервер:

[ec2-user@ip-10-229-67-156 ~]$ php -S 127.0.0.1:8080 PHP 5.4.0RC7 Development Server started at Fri Feb 26 18:49:29 2012 Listening on 127.0.0.1:8080 Document root is /home/ec2-user Press Ctrl-C to quit. 

И теперь вы можете увидеть содержимое отданной встроенным web-сервером:
image
В консоль же будет писаться каждый запрос клиента:

[Sun Feb 26 18:55:30 2012] 80.180.55.37:36318 [200]: / [Sun Feb 26 18:56:23 2012] 80.180.55.37:36584 [200]: /     

Возвращаясь назад, разберем параметр командной строки "-S", который используется для указания адреса, с которого сервер будет доступен. Возможные значения:
localhost — сервер будет доступен только с локальной машины,
0.0.0.0 — на любому интерфейсе машины,
Любой внешний или серый IP — только на указанном IP
Параметр "-t" устанавливает указанную директорию «directory root». Например:

[ec2-user@ip-10-229-67-156 ~]$ php -S <localhost or your public IP>:8090 -t /home/ec2-user/public 

Кроме того,. вы может указать имя конкретного файла-роутера. Например:

[ec2-user@ip-10-229-67-156 ~]$ php -S >localhost or your public IP>:8080 -t /home/ec2-user/public public/index.php 

Вывод этого роутера будет парситься и выполняться сервером. Простой пример:

<?php $extensions = array("php", "jpg", "jpeg", "gif", "css");  $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); $ext = pathinfo($path, PATHINFO_EXTENSION); if (in_array($ext, $extensions)) {  // let the server handle the request as-is  return false;    }  echo "<p>Welcome to PHP</p>";     

Если скрипт вернет FALSE, тогда запрашиваемый URI будет обрабатываться сервером, который будет выдавать запрошенный ресурс, либо вернет 404 ошибку. Если скрипт возвращает что-либо ещё, вывод скрипта передастся клиенту.
Хотя данный подход даёт нам больше контроля, есть несколько вещей, которые вы должны знать. Во-первых, PHP сервер отдаёт только минимальный набор HTTP заголовков:

Connection: closed Content-Type: text/html Host: aws-dev-01.vtardia.com X-Powered-By: PHP/5.4.0RC7 

D
Сравним это с заголовками, возвращаемыми сервером Apache:

Accept-Ranges: bytes Connection: Keep-Alive Content-Length: 631 Content-Type: text/html Date: Sat, 04 Feb 2012 18:24:42 GMT Etag: "bbb99-277-4ace8c5470a40" Keep-Alive: timeout=15, max=100 Last-Modified: Wed, 14 Sep 2011 15:54:09 GMT Server: Apache/2.2.21 (Unix) DAV/2 

Если ваше приложение использует заголовки, то оно должно учитывать разницу в development-среде и в production.
Во-вторых, встроенный сервер имеет другое SAPI (Server API). Таким образом выполняя маршрутизацию в index,php вы можете определить на тестовом или боевом сервер происходит обращение к скрипту. php_sapi_name() вернет «cli-server» на встроенном сервере:

<?php if (php_sapi_name() == "cli-server") {  // running under built-in server so  // route static assets and return false  $extensions = array("php", "jpg", "jpeg", "gif", "css");  $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);  $ext = pathinfo($path, PATHINFO_EXTENSION);  if (in_array($ext, $extensions)) {  return false;   } }     

Существует одна специальная INI директива — «cli_server.color». Данная директива возвращает раскрашенный вывод в консоли. Создайте пустой файл с именем cli-server.ini и вставьте эту строку:

cli_server.color = on 

Вы можете создать уникальную конфигурацию окружения для вашего сервера, указав в вашем INI файле необходимые директивы. Не объявленные директивы примут значения по-умолчанию. Сейчас мы объявили только одну директиву — cli_server.color.
Запустить сервер с параметром "-c" с указанием INI файла:

[ec2-user@ip-10-229-67-156 ~]$ php -S localhost -c cli-server.ini 

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

Создаём персональный сервер

Теперь, когда вы знаете всё, что необходимо знать о встроенном сервере, давайте сделаем что-нибудь крутое. Создадим собственный портативный сервер!
Я начну со следующей структуры нашего приложения:
Php s
Папка «library» содержит код приложения, «public» — корневая директория, содержит index.php и несколько статичных файлов. Особое внимание в этом руководстве будет уделено папке «server», и поэтому наше приложение будет состоять из простого «Hello Word!» и нескольких картинок и css.
Наша цель — получить возможность запускать сервер из директории приложения одной командой, а наш сервер будет заботиться о роутинге, HTTP заголовках и ошибках.

[ec2-user@ip-10-229-67-156 myapp]$ ./start.sh 

Давайте рассмотрим сценарий запуска:

#! /bin/bash  INIFILE="$(pwd)/server/server.ini" DOCROOT="$(pwd)/public" ROUTER="$(pwd)/server/router.php" HOST=0.0.0.0 PORT=8080  PHP=$(which php) if [ $? != 0 ] ; then  echo "Unable to find PHP"  exit 1 fi  $PHP -S $HOST:$PORT -c $INIFILE -t $DOCROOT $ROUTER 

Я предполагаю, что скрипт запускается из директории приложения, поэтому INIFILE, DOCROOT, ROUTER определяются используя pwd. Путь до php определяется используя команду which. Если php не был найден в пользовательском $PATH, то скрипт завершит работу ошибкой.
Данный способ работает достаточно хорошо, но давайте предоставим пользователю возможность изменить любой из заданных параметров из командной строки, например:

if [ ! -z $INIFILE ]; then     INIFILE="$(pwd)/server/server.ini" fi 

Продолжим, папка «errors» содержит файлы для сообщений об HTTP ошибках. Вот пример о 403 ошибке: хотя я и использовал только HTML, скрипт будет подключен, использую include, поэтому вы можете использовать любой php код:

<!doctype html>   <html lang="en">  <head>   <meta charset="utf-8">  <title>403</title>    </head>  <body>  <h1>403: Forbidden</h1>  <p>Sorry, the requested resource is not accessible.</p>  </body>   </html> 

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

<?php // Set timezone date_default_timezone_set("UTC");  // Directory that contains error pages define("ERRORS", dirname(__FILE__) . "/errors");  // Default index file define("DIRECTORY_INDEX", "index.php");  // Optional array of authorized client IPs for a bit of security $config["hostsAllowed"] = array();  function logAccess($status = 200) {  file_put_contents("php://stdout", sprintf("[%s] %s:%s [%s]: %sn",  date("D M j H:i:s Y"), $_SERVER["REMOTE_ADDR"],  $_SERVER["REMOTE_PORT"], $status, $_SERVER["REQUEST_URI"])); }  // Parse allowed host list if (!empty($config['hostsAllowed'])) {  if (!in_array($_SERVER['REMOTE_ADDR'], $config['hostsAllowed'])) {  logAccess(403);  http_response_code(403);  include ERRORS . '/403.php';  exit;  } }  // if requesting a directory then serve the default index $path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH); $ext = pathinfo($path, PATHINFO_EXTENSION); if (empty($ext)) {  $path = rtrim($path, "/") . "/" . DIRECTORY_INDEX; }  // If the file exists then return false and let the server handle it if (file_exists($_SERVER["DOCUMENT_ROOT"] . $path)) {  return false; }  // default behavior logAccess(404); http_response_code(404); include ERRORS . "/404.php"; 

В первых строках я определяю некоторые глобальные параметры, такие как DIRECTORY_INDEX, директория с шаблонами ошибок. Параметр date_default_timezone_set() должен совпадать с настройками ОС, иначе будут несоответствия между записями в логе и на сервере. Так же я добавил список разрешенных IP адресов, для повышения безопасности.
Функция logAccess() необходима, потому что когда скрипт роутинга принимает запрос лог сервера по-умолчанию игнорируется. Функция принимает только код статуса, а формат вывода полностью соответствует формату сервера.
Наша первая задача — проверка безопасности. Если IP клиента не находится в массиве разрешенных IP, выводим сообщение об ошибке и завершаем работу скрипта. Нам необходимо отдавать код статуса отличный от 200 и функция header() не будет работать в здесь, поэтому мы используем новую функцию — http_response_code.
Если IP клиента находится в массиве разрешенных IP, то следующий наш шаг — получение запрашиваемого пути и расширения файла. Если расширение пустое, считаем, что пользователь запрашивает папку и строим получаем путь, используя определенный сначала DIRECTORY_INDEX.
В завершении, если запрашиваемый файл существует, возвращаем FALSE, и позволяем серверу обратиться к файлу. Если же нет, то отображается сообщение о 404 ошибке.

Резюме

Это всё. Как видите, php сервер просто в использовании. Наш персональный сервер очень прост. Код можно оптимизировать и включать в более сложные и функциональные классы. Happy coding!

p.s. С радостью приму критику и замечания к переводу в личку.

habr.com

PHP (Hypertext PreProcessor) — это язык программирования общего назначения с открытым исходным кодом. Язык PHP разработан с целью ведения Web-разработок: его код можно внедрять в HTML-код. Разработчики языка явно не решились назвать его HPP (читается эйч пи пи), ибо это звучало бы неприлично, и поэтому переставили буквы.

Отмечу, что и CMS WordPress  написана на языке программирования PHP.

PHP-код отделяется начальным и конечным тегами <?php и ?> : они переключают в «PHP-режим» и выводят из него. PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML-код, который отсылается клиенту. А вот JavaScript отсылается клиенту, задействует процессор клиента и этим способствует снижению нагрузки на процессор сервера хостинга.

HTML-код почти любой страницы почти любого сайта можно легко получить в своё распоряжение (например, с помощью Валидатора), но увидеть PHP-код при этом не удастся: только результат его действия.

Не буду расписывать возможности и достоинства PHP, усвойте главное: PHP может всё, что нужно для создания классных сайтов. Изучать этот язык нужно на конкретных файлах и примерах, используя свою сообразительность, а также справочники и учебники, которые легко найти в Рунете.

Попытался найти в Рунете хороший онлайновый учебник PHP. По ссылке доступен хороший, как мне показалось, учебник. Простейший учебник «PHP для чайников» доступен по адресу  http://www.php-s.ru/self-teacher/

Для отладки PHP-кода можно использовать

1. Онлайновый сервис http://jsfiddle.net , вписывая создаваемый и тестируемый код в <head> или в <body> HTML-файла.

2. Окно редактора имеющих примеры страниц онлайнового учебника на сайте http://www.wisdomweb.ru — тоже вписывая создаваемый и тестируемый код в <head> или в <body> HTML-файла.

3. Простой редактор JavaScript, встроенный во многие браузеры, в том числе и в Firefox.

4. Отказался от трёх упомянутых редакторов: теперь веду отладку PHP-скриптов (да и JS-скриптов) в футере сайта, вписывая PHP-код в самом конце файла footer.php непосредственно над завершающим тегом </body> — там даже ошибочный код практически не влияет на страницы сайта.

Если найду более удобные отладчики, сообщу на этой странице.

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

PHP поддерживает комментарии в стиле языков C и C++, а также оболочки Unix:
<?php
echo "Это пример"; // Таков однострочный комментарий в стиле C++
/* Это двустрочный комментарий
это вторая строка комментария */
echo "Это еще один пример";
echo "Последний тест"; # Это комментарий в стиле оболочки Unix
?>

Однострочные комментарии идут только до конца строки или текущего блока PHP-кода. Это значит, что HTML-код после // … ?> или # … ?> будет выведен на экран:

?> завершит режим PHP и возвратит режим HTML, а // или # не влияют на это.
<h2>Это <?php # echo "простой";?> пример</h2>
<p>Заголовок вверху выведет 'Это пример'.</p>

Комментарии заканчиваются на первой последовательности */. Всегда убеждайтесь, что Вы не вкладываете друг в друга комментарии, ибо легко совершить эту ошибку при комментировании большого блока кода.
<?php
/*
echo "Это пример"; /* Такой вложенный комментарий недопустим */
*/
?>

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

Плагин WordPress SEO by Yoast выдавал предупреждение «Плотность ключевых слов 4.75 %, более 4.5 % максимально допустимых, ключевое слово было найдено 18-ть раз». Пришлось срочно написать этот абзац и ещё несколько абзацев, чтобы роботы поисковых систем не сочли меня сбрендившим SEO-оптимизатором, а я вообще не такой умный, чтобы заниматься всяческими SEO-глупостями: пусть этим занимаются Интернет-гуру, продвигающие коммерческие сайты  :-).

Теперь плотность ключевых слов составляет 4.14 %, что считается отличным результатом, ключевое слово PHP найдено 24-ре раза.

Перехожу к хитрому использованию PHP-скриптов на странице Как сделать ротацию баннеров. Кстати, PHP-скрипт — это сценарий, написанный на языке PHP, ибо слово скрипт в переводе с английского означает сценарий.

==========================

…! Эксперименты:

А. Чтобы не определять массив $bann в хедере и в футере сайта, попробовать создать файл a_bann.php, поместив в него массив $bann и разместив файл в каталоге, где находятся файлы хедера и футера. …!

Б. Внешние переменные …!

==========================

Глобальные переменные

Глобальные переменные, в отличие от локальных, доступны в любой точке программы. Но чтобы изменить значение глобальной переменной, необходимо специально объявить её как глобальную в соответствующей функции. Для этого перед именем переменной ставится ключевое слово GLOBAL. Пример:
$somevar = 15;

function addit() {
GLOBAL $somevar;

$somevar++;
print «Somevar is $somevar»;
}

addit();

==========================

Приглашаю всех высказываться в Комментариях. Критику и обмен опытом одобряю и приветствую. В хороших комментариях сохраняю ссылку на сайт автора!

И не забывайте, пожалуйста, нажимать на кнопки социальных сетей, которые расположены под текстом каждой страницы сайта.
PHPПродолжение тут…

ep-z.ru

Список параметров

format

Строка формата состоит из нуля и более директив: обычных символов (за исключением %), которые копируются напрямую в результирующую строку, и описателей преобразований, каждый из которых заменяется на один из параметров. Это относится как к sprintf(), так и к printf().

Каждый описатель преобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):

  1. Необязательный описатель знака, указывающий как знак (- или +) будет применен к числу. По умолчанию, используется только знак минус, если число отрицательное. Этот описатель заставляет положительные числа также отображать знак плюс, он был добавлен в PHP 4.3.0.
  2. Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью одиночной кавычки ('). См. примеры ниже.
  3. Необязательный описатель выравнивания, определяющий выравнивание влево или вправо. По умолчанию выравнивается вправо, используется для выравнивания влево.
  4. Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.
  5. Необязательный описатель точности, указанный в виде точки ('.'), после которой следует необязательная строка из десятичных чисел, определяющая, сколько десятичных разрядов отображать для чисел с плавающей точкой. При использовании со строками этот описатель выступает в роли обрезающей точки, устанавливающей максимальный лимит символов. Также между точкой и цифрой можно указать символ, используемый при дополнении числа.
  6. Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:

    • % — символ процента. Аргумент не используется.
    • b — аргумент трактуется как целое и выводится в виде двоичного числа.
    • c — аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
    • d — аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
    • e — аргумент трактуется как число в в научной нотации (например, 1.2e+2). Описатель точности указывает на количество знаков после запятой, начиная с версии PHP 5.2.1. В более ранних версиях он обозначал количество значащих цифр (на один знак меньше).
    • E — аналогично %e, но использует заглавную букву (например, 1.2E+2).
    • f — аргумент трактуется как число с плавающей точкой и также выводится в зависимости от локали.
    • F — аргумент трактуется как число с плавающей точкой и также выводится, но без зависимости от локали. Доступно, начиная с версии PHP 4.3.10 и PHP 5.0.3.
    • g — выбирает самую краткую запись из %e и %f.
    • G — выбирает самую краткую запись из %E и %f.
    • o — аргумент трактуется как целое и выводится в виде восьмеричного числа.
    • s — аргумент трактуется как строка.
    • u — аргумент трактуется как целое и выводится в виде десятичного числа без знака.
    • x — аргумент трактуется как целое и выводится в виде шестнадцатеричного числа (в нижнем регистре).
    • X — аргумент трактуется как целое и выводится в виде шестнадцатеричного числа (в верхнем регистре).

Переменные будут преобразованы в соответвующий тип для спецификатора:

Обработка типов
Тип Спецификатор
string s
integer d, u, c, o, x, X, b
double g, G, e, E, f, F

В строке формата поддерживается нумерация и изменение порядка параметров. Например: Этот код выведет "5 обезьян сидят на дереве". Теперь представьте, что строка формата содержится в отдельном файле, который потом будет переведен на другой язык, и мы переписываем ее в таком виде: Появляется проблема: порядок описателей преобразования не соответствует порядку аргументов. Мы не хотим менять код, и нам нужно указать, какому аргументу соответствует тот или иной описатель преобразования. Нумерация аргументов имеет еще одно применение: она позволяет вывести один и тот же аргумент несколько раз без передачи функции дополнительных параметров. При изменении порядка параметров описатель позиции n$ должен идти сразу за знаком процента (%) прежде всех остальных описателей, как показано в примере ниже.

Замечание:

Попытка использовать спецификатор позиции, больший чем PHP_INT_MAX, приведет к генерации предупреждения функцией sprintf().

args

...

php.ru

Подготовка к программированию на языке PHP для чайников

  1. PHP код следует помещать в файле index.php, сам файл должен быть размещен в корневом каталоге сайта, расположенного на веб-сервере.

язык php для полного чайника

  1. Весь код на языке PHP должен быть заключен между дескрипторами <?php и ?> или сокращенный вариант <? и ?>, но веб-сервер может быть не сконфигурирован для использования сокращенного варианта такой записи, поэтому предпочтителен первый вариант.
  2. Вставлен PHP код может быть в любое место HTML кода.
  3. Комментирование в PHP коде осуществляется следующим образом:
// однострочный комментарий  # еще один вариант однострочного комментария  /* многострочный комментарий */  
  1. Для того, чтобы посмотреть ваш код, откройте веб-браузер и в адресной строке введите: http://localhost/www/MyEX/index.php

язык php чайникам

Вывод данных на экран с помощью языка PHP для чайников

  1. Вывод данных в окно (клиентскую область веб-браузера) с помощью PHP можно выполнить посредством оператора echo. Этот оператор позволяет вывести данные различных типов: числа, символьные строки и т.д.
  2. Синтаксис оператора вывода:
echo элемент1, элемент2, элемент3, ..., элементN
  1. Строковые данные заключаются в двойные или одинарные кавычки. В двойных кавычках код интерпретируется PHP. Все, что заключено в одинарные кавычки выводится без какой бы ни было интерпретации. Пример:
< ?php  $x="PHP"; //присвоение значения переменной  echo "Привет","всем";  echo "  ";  echo "

«; echo ‘

‘ ?>

php для чайников

  1. Для вывода более подробной информации о переменной, которая может понадобиться при отладке программы, служит функция var_dump(). Ее синтаксис:
var_dump(cписок переменных);
  1. В списке переменных указывается одно или несколько имен переменных. Эта функция ничего не возвращает. Пример:
$x=12.56;  var_dump($x);  
  1. Менее информативной, чем var_dump(), функцией вывода сведений о переменных является:
print_r(список_переменных);
  1. Для переменных типа «массив» эта функция выводит список вида индекс => элемент.

мануал по php для чайников

Переменные языка РНР для чайников

  1. Переменные – контейнеры для хранения данных. Данные, сохраняемые в переменной, называют значением этой переменной.
  2. Переменная имеет имя – последовательность букв, цифр и символа подчеркивания без пробелов и знаков препинания, начинающаяся обязательно с символа доллара ($), за которым должна следовать буква или символ подчеркивания.
  3. Правильные имена переменных: $_tel, $tmp, $my_, $address_234_45.
  4. Неправильные имена переменных: $234tel, my address, $tel:234.
  5. РНР является регистро-ависимым языком относительно имен переменных и констант. Однако ключевые слова могут использоваться в любом регистре.

Типы данных языка РНР и преобразование данных для чайников

Тип данных Пример Описание значений
Строковый или символьный (string) «Привет всем»
«123456»
«25 рублей»
Последовательность символов, заключенная в кавычки
Целочисленный, числовой (integer) -234
25
0
Число или последовательность цифр, перед которыми может быть указан знак числа
Числовой с плавающей точкой (float) 5.47
21.4
35E-3
Число с дробной частью (35Е2 означает 3500)
Логический (булевый, boolean) true
false
Этот тип имеет два значения: true (истина, да), false (ложь, нет)
NULL null Этот тип данных имеет одно значение — null
Массив (Array) Этот тип данных имеет одно множество значений, которые могут быть различных типов
Объект (Object) Программный объект, определяемый своими свойствами
  1. Для того, чтобы узнать какой тип переменной, нужно воспользоваться функцией:
gettype(имя_переменной);
  1. Для явного задания типа можно воспользоваться одним из двух способов:
Имя_переменной=(int) 12.45 //результат 12  Settype(имя_переменной, "тип")  
< ?php  $x="PHP";   $s=gettype($x);  echo $s, "  ";  settype($e,"integer");  $s=gettype($e);  echo $s, "  ";  $d=(int)24.4;  $s=gettype($d);  echo $s, " ", $d;  ?>  

Константы языка PHP для чайников

  1. Константой называется именованная величина, которая не изменяется в процессе выполнения программы (скрипта).
  2. В отличие от переменных, вы не можете изменять значения констант, которые были им присвоены при их объявлении. Константы удобно использовать для хранения значений, которые не должны изменяться во время работы программы. Константы могут содержать только скалярные данные (логического, целого, плавающего и строкового типов).
  3. В РНР константы определяются функцией define(). Вот ее синтаксис:
define($name, $value, $case_sen);  

$name — имя константы.
$value — значение константы.
$case_sen — необязательный параметр логического типа, указывающий, следует ли учитывать регистр букв (true) или нет (false).

define("pi",3.14,true);  echo pi;  //Выводит 3.14  
  1. Для проверки существования константы можно использовать функцию defined(). Данная функция возвращает true, если константа объявлена. Пример:
//Объявляем константу pi  define("pi",3.14,true);  if (defined("pi")==true) echo "Константа pi объявлена!";  //Скрипт выведет 'Константа pi объявлена!'  

Различия между константами и переменными в языке PHP для чайников

  1. У констант нет приставки в виде знака доллара ($).
  2. Константы можно определить только с помощью функции define(), а не присваиванием значения.
  3. Константы могут быть определены и доступны в любом месте без учета области видимости.
  4. Константы не могут быть определены или аннулированы после первоначального объявления.
  5. Константы могут иметь только скалярные значения.

В этой статье я перечислил базовые понятия языка PHP для чайников. Теперь пора ознакомиться с конструкциям этого языка и перейти, непосредственно, к программированию. Об этом моя следующая статья — PHP программирование для чайников.

compuzilla.ru

Строки и числа

Самыми простыми типами данных в PHP являются строки и числа.

Числа обозначают сами себя, например 1, 12, 145, а вот строки требуется брать в кавычки (одинарные или двойные — без разницы):

Числа также могут быть дробями. Разделителем целой и дробной части служит знак «точка». К примеру, число 10.754 — это дробь.

Переменные

Одним из самых главных и распространенных объектов в программировании является переменная.

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

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

В PHP перед переменной обязательно должен быть написан знак доллара $:

Операция присваивания

Очень важным элементом программирования является операция присваивания.

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

Пример присваивания:

Комментарии

К коде PHP, так же, как и в HTML и CSS, можно оставлять комментарии, которые будут проигнорированы PHP при выполнении программы.

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

Комментарии могут быть многострочными и однострочными:

Функции

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

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

Параметры — это данные (например, строки или числа), которые мы даем функции, она производит над ними какие-то операции и возвращает нам результат.

Например, в PHP есть стандартная функция sqrt(), которая параметром принимает число, а возвращает квадратный корень этого числа.

То есть, если ей передать число 9, вот так — sqrt(9), то на выходе получим число 3. Полученное число мы можем записать в какую-либо переменную или вывести на экран.

Давайте найдем корень из 25 и запишем в переменную $a:

Функция echo

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

Следующий код выводит на экран заданный текст:

А в следующим коде переменной $text присваивается фраза, а затем содержимое этой переменной выводится на экран:

Математические операции

В PHP между числами и переменными можно совершать различные математические операции: сложение (знак +), вычитание (знак -), умножение (знак *), деление (знак /).

Чтобы понять, как с ними работать, посмотрите на следующий пример:

Можно сначала записать числа в переменные, а потом уже проводить операции с переменными:

А можно также одновременно производить операции и с числами, и с переменными:

Специальные значения

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

Значения true, false

Значения true и false обозначают истину и ложь соответственно. Они используются для таких вещей, которые предполагают два варианта ответа — да или нет.

К примеру, на вопрос ‘вам уже есть 18 лет?’ в можете ответить да, то есть true, или нет, то есть false.

Эти значения называются логическими.

Значение null

Значение null обозначает ‘ничего’. К примеру, если мы попробуем обратиться к переменной, которой мы еще не задали значение — то ее значение и будет null.

Функция var_dump

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

Например, если переменная является пустой строкой », то выведя ее содержимое на экран с помощью echo, мы ничего не увидим.

Вторая ситуация — когда переменная содержит строку с пробелами по краям, например:

Для решения описанных выше проблем следует использовать функцию var_dump(), которая предназначена для отладки кода и позволяет выводить значения переменных и их тип.

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

Пример использования var_dump():

PHP внутри HTML

PHP код можно вставлять внутрь HTML кода:

Сложение строк в PHP

В PHP, в отличие от многих других языков, строки складываются с помощью знака «точка»:

Получение определенного символа строки

В PHP можно получить доступ к определенному символу строки по его номеру таким образом: $a[n] – n-ный символ строки (учтите, что нумерация идет с нуля):

Сложности с операцией присваивания

Очень часто новички не понимают, что присваивание отличается от обычного равенства. Посмотрите следующий пример:

С точки зрения математики запись $a = $a + 2 абсурдна, но не с точки зрения программирования.

В данном случае переменная $a имела значение 1, а затем мы переменной $a присвоили новое значение — старое значение переменной $a плюс 2.

Операции инкремента и декремента

Операция $a++ или ++$a – увеличивает переменную $a на единицу. Эта операция называется инкремент.

Операция $a— или —$a – уменьшает переменную $a на единицу. Эта операция называется декремент.

Примеры:

Давайте посмотрим, в каких случаях проявляется разница между ++a и a++.

Пусть у нас есть код echo ++a и код echo a++.

В первом случае переменная сначала увеличится на единицу, а потом выведется, а во втором случае — сначала выведется, а потом увеличится.

Операции +=, -=, *=, /=

Мы уже рассматривали код, который демонстрирует сложности с операцией присваивания:

В данном случае мы присваиваем переменной $a ее текущее значение, увеличенное на 2. Однако PHP позволяет записать этот код еще короче с помощью оператора +=:

Кроме того, существуют операторы -=, *=, /=, которые эквивалентны следующему коду:

Операция .=

Существует также операция .=:

Типизация переменных

Что будет, если попробовать сложить, к примеру, число и строку, вот так: 3+’3′? В результате вы получите число 6. Это значит, что PHP автоматически осуществляет преобразование типов при необходимости, вам не нужно за это переживать.

То же самое случится, если, к примеру, сделать так: 3+true или 3+false. Попробуйте эти примеры сами и узнайте к чему преобразуется true в этом случае, а чему — false.

code.mu

Что такое PHP?

PHP – аббревиатура словосочетания Hypertext Preprocessor (гипертекстовый препроцессор). В то время как другие языки, вроде Javascript, работают на стороне клиента, ваш PHP-код будет выполнять команды на уровне сервера. Он незаметно работает с HTML. Более того, ваш PHP может быть встроен в HTML, и наоборот. Помните, что неважно, насколько сложен ваш PHP, в конце концов будет получаться простой HTML.

Почему я предпочитаю использовать PHP?

HTML на 100% статичен. Используя PHP в коде, мы можем создавать динамические сайты, которые изменяются в зависимости от заданных условий. Опирающийся на первоклассное сообщество, этот язык с открытым исходным кодом с годами доказал, что является одной из лучших опций для динамических веб-приложений.

Похож ли PHP на какой-либо другой язык?

Безусловно. Я был приятно удивлен, когда начал обучение. Если вы обладаете хотя бы самым скромным объемом знаний о ASP.NET, Perl, Javascript или C#, то окажется, что вы быстро улавливаете основы синтаксиса.

Что нужно, чтобы начать работать?

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

WAMP, MAMP

Да, должен признать, что необходимо знать некоторые акронимы (звуковые аббревиатуры). «WAMP» расшифровывается как «Windows-Apache-MySQL-PHP». Это – проект с открытым исходным кодом, который позволит нам загрузить все, что нужно для начала работы в одном дистрибутиве. Если вы пользователь Windows, посетите WampServer.com. С другой стороны, если вы пользуетесь Mac (MAMP), вам необходимо нанести визит на Mamp.info

Основы

Для того, чтобы информировать сервер о том, что мы работаем с PHP, вам необходимо использовать следующий синтаксис при добавлении PHP в ваши HTML-документы:

Мы начинаем и заканчиваем каждую инструкцию PHP соответственно «<?php» и «?>». Вернитесь обратно к своему коду и добавьте следующее:

Обратите внимание, что во втором примере мы записали все в одну строку. Запомните, PHP не зависит от символов-разделителей. Здесь мы говорим серверу «echo» (отобразить), или писать строку «This is PHP in action» (Это — PHP в действии) на нашу страницу. Каждая инструкция в нашем коде должна завершаться точкой с запятой в конце. Если HTML может снисходительно отнестись к случайно пропущенной скобке, то PHP, к сожалению, нет. Если вы не будет использовать правильный синтаксис, то получите ошибку. В случае, когда мы имеем только одну инструкцию, мы технически могли бы выйти из трудного положения, убрав точку с запятой. Но это очень важно — всегда следовать самым лучшим практикам.

Определяем переменные

Мы можем довольно легко установить значения переменных. Вместо использования ключевого слова «var» (C# и Javascript), или «dim» (VB), мы можем объявлять переменную в PHP, используя символ префикса «$». Допустим, что я хочу присвоить предыдущую строку переменной, названной «myVariable». Я бы написал так…

Этот пример произведет точно такой же результат, как и предыдущий. Однако в этом сценарии мы присвоили строку переменной, а затем «echoed» (отобразили) вместо нее переменную. А что, если я бы захотел соединить содержимое переменной и другую строку?

Используя точку, мы можем комбинировать переменные и/или строки.

Вставка комментариев в код

Если вы знакомы с CSS и Javascript, то найдете, что комментирование в PHP фактически такое же.

Комбинирование HTML с нашим PHP

Помните то, о чем уже говорилось — PHP и HTML могут работать в сочетании. Только то, что мы уже в середине предложения PHP, не означает, что мы не можем вставлять такие элементы, как разрыв строки или тэг strong.

webformyself.com


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Adblock
detector