Справочник по PHP - страница 2

Шрифт
Интервал

стр.

Пример:

>require("include.inc");


Но его нельзя поместить внутрь цикла и ожидать, что он включит содержимое другого файла несколько раз в процессе каждой итерации. Для этого есть INCLUDE.


include


Вставляет и выполняет содержимое указанного файла.

>

>$files = array ("first.inc", "second.inc", "third.inc");

>for ($a = 0; $a < count($files); $a++) {

> include($files[$a]);

>}

?>

Так как INCLUDE() это специальный оператор, требуется заключать его в фигурные скобки при использовании внутри условного оператора.

>

>if ($a < 5) {

> include("file_1.inc");

>} else {

> include("file_2.inc");

>}

?>


function


Объявление функции.

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

>

>function foo ($arg_1, $arg_2, ..., $arg_n) {

> echo "Пример функции.";

> return $retvalue;

>}

?>

Возвращение результатов:

>

>function my_sqrt ($num) {

> return $num * $num;

>}

>echo my_sqrt(4); //выведет 16

?>

Множественные результаты не могут быть возвращены в качестве результата, но вы можете реализовать это путем возврата списка:

>function foo() {

> return array (0, 1, 2);

>}

>list ($zero, $one, $two) = foo();


Аргументы:

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

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

>function takes_array($input) {

> echo "$input[0] + $input[1] = ", $input[0]+$input[1];

>}


Передача по ссылке:

По умолчанию, аргументы функции передаются по значению. Для изменения аргументов в функции их надо передавать по ссылке.Для этого надо поставить амперсанд (&) перед именем аргумента в объявлении функции:

>function foo( &$bar) {

> $bar .= "и добавочная строка.";

>}

>$str = "Это строка, ";

>foo($str);

>echo $str; // выведет : "Это строка, и добавочная строка."


>function foo($bar) {

> $bar .= "и добавочная строка.";

>}

>$str = "Это строка, ";

>foo($str);

>echo $str; //выведет : "Это строка, "

>foo(&$str);

>echo $str; //выведет : "Это строка, и добавочная строка."


Значения по умолчанию:

Значение по умолчанию должно быть константой, а не переменной или членом класса.

>function day ($type = "понедельник") {

> echo "Сегодня $type.";

>}

>echo day(); //выведет : Сегодня понедельник.

>echo day("вторник"); //выведет : Сегодня вторник.


Аргументы по умолчанию при описании должны находиться справо от остальных аргументов.

>function day($day_num, $type = "понедельник") {

> return "Сегодня $day_num - $type.";

>}



old_function


Оператор OLD_FUNCTION позволяет вам определяить функцию используя синтаксис PHP/FI2 (за исключением того, что вы должны заменить "function" на "old_function").

Это свойство только для совместимости и должно использоваться лишь конверторами PHP/FI2 - PHP3. Описанные таким образом функции не могут быть вызваны из служебного кода PHP. Вы можете обойти это путем введения специальной функции в терминах PHP3, которая будет вызывать OLD_FUNCTION.


class


Набор переменных и функций, работающих с этими переменными.

>

>class Cart {

> var $items; // Количество вещей в корзине покупателя

> // Добавить $num наименований типа $artnr в корзину

> function add_item ($artnr, $num) {

> $this->items[$artnr] += $num;

> }

> // Убрать $num наименований $artnr из корзины

> function remove_item ($artnr, $num) {

> if ($this->items[$artnr] > $num) {

> $this->items[$artnr] -= $num;

> return true;

> } else {

> return false;

> }

> }

>}

?>

Классы это типы, то есть, заготовки для реальных переменных. Вы должны создавать переменные желаемого типа, используя оператор new:

>$cart = new Cart;

>$cart->add_item("10", 1);


Классы могут быть расширениями других классов. Расширенный класс обладает всеми переменными и функциями базового класса и тем, что вы определите при расширении класса. Это делается используя ключевое слово extends :

>class Named_Cart extends Cart {

> var $owner;

> function set_owner ($name) {

> $this->owner = $name;

> }

>}


Это определяет класс Named_Cart, который имеет все переменные и функции класса Cart плюс дополнительную переменную


стр.

Похожие книги