В этой статье I’ познакомлю вас с основами PHP.We’ будете сосредоточены на использование PHP для доступа к веб-services и на превращение статической HTML-страниц в динамические путем извлечения данных из Интернета и, показывая разное содержание в зависимости от того, что пользователь ввел в форму или просили в URL-адресе.
Вы won’ T выходить профессиональных разработчиков PHP, но you’ будете хорошо на Вашем пути к созданию небольших страницу, которая использует веб-сервисы.Вы можете найти много хороших информация PHP в Интернете, и большую часть времени вы будете в конечном итоге на PHP.net себя.Но я попросил повторно на несколько дней рубить и соревнования, чтобы написать эту статью быстрое введение, так вот она.
Что такое PHP
PHP представляет собой серверный язык, который стал огромным успехом по трем причинам:
- Это очень легко и прощать языке.Переменных может быть что угодно, и вы можете создать их в любое время вы want.
- Это часть свободного стека LAMP (Linux, Apache, MySQL, PHP) и, следовательно, доступны практически на любом сервере вы можете арендовать на Web.
- Это не нужен специальный редактор, окружающей среды или процесса сборки.Все, что вам сделать, это создать файл . Php тип файла, микс PHP и HTML, а затем положить его на свой сервер для rendering.
Установка PHP на месте, и Ваш первый Code
Для запуска PHP на локальном компьютере, you’ нужен локальный сервер с PHP включена.Самый простой способ сделать это, чтобы загрузить и установить MAMP для ОС X или XAMPP для Windows.После you’ ве установлен любой из этих пакетов, вы можете начать использовать PHP.Просто создайте файл с именем index.php В htdocs папку MAMP или XAMPP installation.
В этом файле, введите (или скопируйте и вставьте) следующие:
<?php $myname = 'Chris'; echo '<p>This is PHP</p>'; echo "<p>My name is $myname</p>" echo '<p>My name in another notation is still '.$myname.'</p>'; ?>
Если открыть этот файл в браузере, доступа к XAMPP или MAMP установки (через http://localhost/index.php
или http://localhost:8888/index.php
), вы должны увидеть следующее:
This is PHP My name is Chris My name in another notation is still Chris
Но вы won’ T вижу.Проблема в том, что третья строка не заканчивается точкой с запятой (;
).Это ошибка.В зависимости от вашей установки PHP, you’ получу либо сообщение об ошибке, или просто ничего.Если вы ничего не получите, а затем найти файл с именем php_error.log на вашем жестком диске, и открыть его.Она скажет вам, что пошло wrong.
Первое, что нужно помнить, то, что каждая строка PHP должен заканчиваться точкой с запятой.Если решить эту проблему, мы получаем эту result:
<?php $myname = 'Chris'; echo '<p>This is PHP</p>'; echo "<p>My name is $myname</p>"; echo '<p>My name in another notation is still '.$myname.'</p>'; ?>
Мы видим здесь первые несколько важных особенностей PHP:
- PHP блоки начинаются с
<?php
, а в конце?>
.Все, что между этими двумя командами интерпретируется как PHP и вернулся в документе как HTML. - Каждая строка PHP должен заканчиваться точкой с запятой (
;
), либо это error. - Переменные в PHP начинаются с
$
, а не сvar
. Ключевому слову, как вы в наличие (это где она будет спутать с JQuery и Prototype) - Вы распечатать содержимое документа в PHP с
echo
команды.Существует такжеprint
Команда, которая делает почти то же самое, так что вы можете использовать это, too. - В этом примере, мы определили строку с именем
myname
как “ Chris”.Чтобы распечатать его сecho
Команда окружении другой текст, вам необходимо либо вставлять имя переменной в текст в кавычках или добавить строку с полной остановкой, когда вы используете одинарные кавычки.Это строки 3 и 4: они делают то же самое, но продемонстрировать другой синтаксис.Объединение всегда осуществляется при полной остановке, никогда с+
, как вы в JavaScript.
Вы можете перейти в и из PHP в любом месте документа.Таким образом, перемежая PHP с HTML блоки абсолютно нормально.Например:
<?php $origin = 'Outer Space'; $planet = 'Earth'; $plan = 9; $sceneryType = "awful"; ?> <h1>Synopsis</h1> <p>It was a peaceful time on planet <?php echo $planet;?> and people in the <?php echo $sceneryType;?> scenery were unaware of the diabolical plan <?php echo $plan;?> from <?php echo $origin;?> that was about to take their senses to the edge of what could be endured.</p>
Это выводит following:
Вы со мной до сих пор?Чтобы показать что-то на экране, в частности, числа или строки, мы используем echo
.Чтобы показать более сложные структуры, мы должны петель или специализированных отладки methods.
Показано более сложных данных Types
Вы можете определить массивы в PHP использовании array()
метод:
$lampstack = array('Linux','Apache','MySQL','PHP');
Если вы просто хотите показать сложный тип данных, как это в PHP для отладки, вы можете использовать print_r()
команду:
$lampstack = array('Linux','Apache','MySQL','PHP'); print_r($lampstack);
Это дает вам все information, но это doesn’ T поможет структурировать его как HTML:
Для этого Вам необходимо получить доступ к элементам массива с прилавка.В PHP это делается с []
скобки:
<ul> <?php $lampstack = array('Linux','Apache','MySQL','PHP'); echo '<li>Operating System:'.$lampstack[0] . '</li>'; echo '<li>Server:' . $lampstack[1] . '</li>'; echo '<li>Database:' . $lampstack[2] . '</li>'; echo '<li>Language:' . $lampstack[3] . '</li>'; ?> </ul>
Смотрите эту демо в action.
Это, конечно, глупо программирования, поскольку он не является гибким.Если компьютер находится в состоянии грязную работу за вас, сделайте это сделать.В этом случае, , мы можем определить два массива и использовать loop:
<ul> <?php $lampstack = array('Linux','Apache','MySQL','PHP'); $labels = array('Operating System','Server','Database','Language'); $length = sizeof($lampstack); for( $i = 0;$i < $length;$i++ ){ echo '<li>' . $labels[$i] . ':' . $lampstack[$i] . '</li>'; } ?> </ul>
for
цикл работает так же, как это происходит в JavaScript.Разница лишь в том, что вы читали размер массива не с array.length
, но с sizeof($array)
.
Опять же, этот пример не являетсяочень умный, потому что она предполагает, что обе $lampstack
и $labels
массив имеют одинаковую длину и в том же порядке.Вместо этого, I’ D Используйте связанные array:
<ul> <?php $lampstack = array( 'Operating System' => 'Linux', 'Server' => 'Apache', 'Database' => 'MySQL', 'Language' => 'PHP' ); $length = sizeof($lampstack); $keys = array_keys($lampstack); for( $i = 0;$i < $length;$i++ ){ echo '<li>' . $keys[$i] . ':' . $lampstack[$keys[$i]] . '</li>'; } ?> </ul>
Функция array_keys()
дает вам все ключи массива как сам массив.Таким образом, мы можем просмотреть ключи и значения в то же time.
Короткий путь для достижения того же принципа, и который работает как с массивами и объектами, является использовать foreach()
петля construct:
<ul> <?php $lampstack = array( 'Operating System' => 'Linux', 'Server' => 'Apache', 'Database' => 'MySQL', 'Language' => 'PHP' ); foreach( $lampstack as $key => $stackelm ){ echo '<li>' . $key . ':' . $stackelm . '</li>'; } ?> </ul>
Это самый короткий путь, чтобы отобразить сложную конструкцию.Но она не будет выполнена, когда $lampstack
не является массивом.Таким образом, проверка на sizeof()
по-прежнему хороший план.Вы можете сделать это с помощью conditional.
Использование Conditionals
Условные “ if” заявления, как в английском языке и почти в любом языке программирования, я знаю.Таким образом, чтобы проверить, является ли массив является безопасным для перебора, мы могли бы использовать sizeof()
test:
<ul> <?php $lampstack = array( 'Operating System' => 'Linux', 'Server' => 'Apache', 'Database' => 'MySQL', 'Language' => 'PHP' ); if( sizeof($lampstack) > 0 ){ foreach( $lampstack as $key => $stackelm ){ echo '<li>' . $key . ':' . $stackelm . '</li>'; } } ?> </ul>
Общие условные являются:
-
if($x > 10 and $x < 20)
Есть$x
? Больше 10 и меньше 20 -
if(isset($name))
С переменным$name
? Были определены -
if($name == 'Chris')
Имеет ли переменная$name
? Имеют значение "Крис" -
if($name == 'Chris' or $name == 'Vitaly')
Имеет ли переменная$name
? Имеют значение "Крис" или "Виталий"
Cool, но что, если мы хотим, чтобы это многоразовые
Функции В PHP
Чтобы сделать задачу еще более общий характер, мы можем написать function
.В этом случае, мы ставим петли и тестирования в функции и просто вызвать его с различными arrays:
<?php function renderList($array){ if( sizeof($array) > 0 ){ echo '<ul>'; foreach( $array as $key => $item ){ echo '<li>' . $key . ':' . $item . '</li>'; } echo '</ul>'; } } $lampstack = array( 'Operating System' => 'Linux', 'Server' => 'Apache', 'Database' => 'MySQL', 'Language' => 'PHP' ); renderList($lampstack); $awfulacting = array( 'Natalie Portman' => 'Star Wars', 'Arnold Schwarzenegger' => 'Batman and Robin', 'Keanu Reaves' => '*' ); renderList($awfulacting); ?>
Заметим, что function
с не начинается с долларом sign.
Мы уже видели большую часть магии PHP.Остальное все о строительстве функций для всех видов вещей: преобразования строк, сортировка массивов, нахождение вещи в частности, доступа к файловой системе, установка печенье и многое другое, каждый из которых имеет одно и только одно право.Я постоянно ловила себя написание сложных функций в PHP, только чтобы понять, глядя на документацию, родные функции уже существует для it.
Взаимодействие с Web: URL Parameters
Давайте начнем работать с веб-в PHP ... или, точнее, играя с информацией, которая поступает из адресной строки браузера или с формами, что мы можем повторно использовать.Чтобы получить параметры из текущего URL, мы используем глобальную $_GET
массив.Так что, если вы звоните index.php сценарий с http://localhost/index.php?language=fr&font=large
, вы можете изменить дисплей и региональные путем проверки этих параметров.language
параметр будет доступен как $_GET['language']
, а font
параметр, как $_GET['font']
:
<?php $name = 'Chris'; // if there is no language defined, switch to English if( !isset($_GET['language']) ){ $welcome = 'Oh, hello there, '; } if( $_GET['language'] == 'fr' ){ $welcome = 'Salut, '; } switch($_GET['font']){ case 'small': $size = 80; break; case 'medium': $size = 100; break; case 'large': $size = 120; break; default: $size = 100; break; } echo '<style>body{font-size:' . $size . '%;}</style>'; echo '<h1>'.$welcome.$name.'</h1>'; ?>
Это означает, что теперь мы можем отправить URL параметры для изменения поведения этого документа:
-
http://localhost:8888/index.php
-
http://localhost:8888/index.php?language=fr
-
http://localhost:8888/index.php?language=fr&font=large
Обратите внимание, что предопределения набор значений, которые являются приемлемыми для определенного параметра всегда лучше.В приведенном выше примере, мы, возможно, также установить размер шрифта в пикселях в качестве параметра, а затем написал, что в document— но тогда мы бы не нуждались в хорошем сценарий проверки, чтобы предотвратить пользователей от отправки плохо значения или даже вредоносный код черезparameter.
Отправка вр ...
Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров