5. Вопросы:
Что произойдет, если мы захотим писать в
открытый только на чтение файл, с
помощью функции fwrite?
Предположим, что у нас есть файл
содержащий текст foo.txt
Каков будет результат?
fwrite() возвратит FALSE в случае ошибки.
file возвращает массив строк файла.
функции, определяемые пользователем
Приведем пример синтаксиса, используемого для описания функций:
Внутри функции можно использовать любой корректный PHP-код, в том числе другие функции и даже объявления классов.
Имена функций следуют тем же правилам, что и другие метки в PHP. Корректное имя функции начинается с буквы или знака подчеркивания, за которым следует любое количество букв, цифр или знаков подчеркивания.
Замечание: Начиная с PHP 5, значения по умолчанию могут быть переданны по ссылке.
Списки аргументов переменной длины
PHP поддерживает списки аргументов переменной длины для функций, определяемых пользователем. Реализация этой возможности достаточно прозрачна и заключается в использовании функцийfunc_num_args(), func_get_arg() и func_get_args().
Пример передачи анонимной функции в другую функцию
Почитать: http://www.php.net/manual/ru/functions.anonymous.php
http://www.php.net/manual/ru/language.oop5.typehinting.php
PHP 5 предоставляет возможность использовать контроль типов. На данный момент функции имеют возможность заставлять параметры быть либо объектами (путем указания имени класса в прототипе функции), либо интерфейсами, либо массивами (начиная с PHP 5.1), или колбеком с типом callable (начиная с PHP 5.4). Однако, если NULL использовался как значение параметра по умолчанию, то это будет также допустимо в качестве аргумента для последующего вызова.
Если класс или интерфейс указан для контроля типа, то все его потомки или реализации также допустимы.
Контроль типа не может быть использован со скалярными типами, такими как int или string. Трейты также недопустимы.