PHP: Что нужно знать, чтобы играть с веб-

В этой статье 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.

The PHP error log as shown on a Mac

Первое, что нужно помнить, то, что каждая строка PHP должен заканчиваться точкой с запятой.Если решить эту проблему, мы получаем эту result:

PHP renderedin a browser

<?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:

Rendered variables in PHP

Вы со мной до сих пор?Чтобы показать что-то на экране, в частности, числа или строки, мы используем 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:

Displaying arrays with print_r

Для этого Вам необходимо получить доступ к элементам массива с прилавка.В 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 параметры для изменения поведения этого документа:

changing the content and look of a document with parameters

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

Отправка вр ...

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.