Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #29, АПРЕЛЬ 2003 г.

TIPS OF WEB: php для самых маленьких

Sevranty

Спецвыпуск Xakep, номер #029, стр. 029-114-1


(sevranty@deepdesign.ru, vsevolod.deepdesign.ru)

Привет, дорогой любитель чипсов... то есть типсов, получай свою порцию! Сейчас даже на халявных хостингах обязательно торчит php. С помощью этого яза можно замутить всякие не сложные, но очень полезные фишки. Ну так что, замутим?

TIPSa 1

Инклуды, инклудики

Не пихай икру и сгущенку в одну миску. Разложи самодостаточные куски кода по файлам, а в основном скрипте юзай рекваи.

Этот кусок кода <?php require 'includes/header.php'; ?> вызывает файл includes/header.php и результат его работы вставляет на место реквая. Файл header1.php должен находиться в подкаталоге includes. Для вставки определенного файла, в зависимости от переменной, можно юзать такую загогулину:

<?php

if ($main =='') { require 'includes/header1.php'; }

else { require 'includes/header2.php'; }

?>

Если переменная mail пустая, то грузится header1.php, иначе header2.php.

TIPSa 2

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

<?php

$file_path = $DOCUMENT_ROOT."/includes/header3.php";

require ($file_path);

?>

Такая фиговина вызовет файл header3.php из директории includes, расположенной в корне твоего виртуального хоста.

TIPSa 3

Показ случайной фразы

Вначале подключаем генератор псевдослучайных чисел, потом переменной num присваиваем случайное число от 1 до 5, потом, в зависимости от этого числа, выводим 1 из 5 фраз.

<?php

# рэндом, однако

srand((double)microtime()*1000000);

$num = rand(1,5);

?>

<? if ($num == '1') { ?>Фраза n.1<br>Ку 1 раз<?php } ?>

<? if ($num == '2') { ?>Фраза n.2<br>Ку-ку 2 раза<?php } ?>

<? if ($num == '3') { ?>Фраза n.3<br>Ку-ку-ку 3 раза<?php } ?>

<? if ($num == '4') { ?>Фраза n.4<br>Ку-ку-ку-ку 4 раза<?php } ?>

<? if ($num == '5') { ?>Фраза n.5<br>Ку-ку-ку-ку-ку 5 раз<?php } ?>

TIPSa 4

Кроме злополучного if, ту же конструкцию можно записать с помощью case и(или) массивов. Вначале не забудь инициировать генератор псевдослучайных чисел и присвоить переменной число из заданного диапазона:

<?php

witch ($num){

case "1":

# Действие 1

break;

case "2":

# Действие 2

break;

case "3":

# Действие 3

break;

default:

# Действие по умолчанию

# если переменная не равна 1, 2 или 3-м

break;

}

?>

TIPSa 5

Иногда для упрощения кода используют ассоциативные массивы:

<?php

# рэндом, однако

srand((double)microtime()*1000000);

$num = 'value'.rand(1,100);

$trash_mas = array(

"value1" => "/includes/header1.php",

"value2" => "/includes/header2.php",

"value3" => "/includes/header3.php",

if (isset($trash_mas[$num])) {

$file_path = $DOCUMENT_ROOT.$trash_mas[$num];

require ($file_path);

}

else {

$file_path = $DOCUMENT_ROOT."/includes/header_default.php";

require ($file_path);

}

?>

Вначале инициируем генератор и присвоим переменной num значение от 'value1' до 'value100'. Потом опишем массив, далее, в зависимости от значения переменной в массиве, включим определенный файл.

Содержание  Вперед на стр. 029-114-2