Web Internship 2014
Intermediate PHP
Константин Шерпаев
Евгений Шингарев
Чтение и запись файлов
Операции с файлами
Работа с директориями
Вопросы:
Что произойдет, если мы захотим писать в
открытый только на чтение файл, с
помощью функции fwrite?
Предположим, что у нас есть файл
содержащий текст foo.txt
Каков будет результат?
Функции
Передача аргументов по ссылке
Значения аргументов по
умолчанию
Анонимные функции
Анонимные функции
Задача
Рассмотрите следующий код:
Какой и где нужно добавить символ, чтобы переменная $b
приняла значение 2?
Классы и объекты
Создание экземпляра класса
Константы классов
Наследование
Области видимости
Области видимости
Ключевое слово "static"
Ключевое слово "static"
Контроль типа
Интерфейсы
Интерфейсы
Абстрактные классы
Абстрактные классы
Исключения
Каков будет результат?
Вопросы?
Спасибо за внимание!

Web-02-Intermediate PHP

Editor's Notes

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