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

More Related Content

Viewers also liked

Android - 10 - Graphics
Android - 10 - GraphicsAndroid - 10 - Graphics
Android - 10 - GraphicsNoveo
 
Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Noveo
 
Android - 13 - Database
Android - 13 - DatabaseAndroid - 13 - Database
Android - 13 - DatabaseNoveo
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - SocialNoveo
 
Android - 16 - QR
Android - 16 - QRAndroid - 16 - QR
Android - 16 - QRNoveo
 
Android - 14 - Geodata
Android - 14 - GeodataAndroid - 14 - Geodata
Android - 14 - GeodataNoveo
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)Noveo
 
Web Internship - PHP and MySQL
Web Internship - PHP and MySQLWeb Internship - PHP and MySQL
Web Internship - PHP and MySQLNoveo
 
Android - 07 - User Interface
Android - 07 - User InterfaceAndroid - 07 - User Interface
Android - 07 - User InterfaceNoveo
 
Что нужно знать начинающему разработчику на Android
Что нужно знать начинающему разработчику на AndroidЧто нужно знать начинающему разработчику на Android
Что нужно знать начинающему разработчику на AndroidIlya Blokh
 
Разработка мобильных приложений ДЛЯ ДЕТЕЙ
Разработка мобильных приложений ДЛЯ ДЕТЕЙРазработка мобильных приложений ДЛЯ ДЕТЕЙ
Разработка мобильных приложений ДЛЯ ДЕТЕЙEligoVision
 
Android - 06 - Gradle
Android - 06 - GradleAndroid - 06 - Gradle
Android - 06 - GradleNoveo
 
iOS-05_1-UIKit
iOS-05_1-UIKitiOS-05_1-UIKit
iOS-05_1-UIKitNoveo
 
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...Pavel Tsukanov
 
Web-01-Basic PHP
Web-01-Basic PHPWeb-01-Basic PHP
Web-01-Basic PHPNoveo
 
Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Noveo
 
AR открытки: дополненная реальность к 8 марта
AR открытки: дополненная реальность к 8 мартаAR открытки: дополненная реальность к 8 марта
AR открытки: дополненная реальность к 8 мартаEligoVision
 
Android - 08 - Action bar
Android - 08 - Action barAndroid - 08 - Action bar
Android - 08 - Action barNoveo
 
Android - 09 - Fragments
Android - 09 - FragmentsAndroid - 09 - Fragments
Android - 09 - FragmentsNoveo
 
Лекция Android. Fragments, ActionBar, Drawer
Лекция Android. Fragments, ActionBar, DrawerЛекция Android. Fragments, ActionBar, Drawer
Лекция Android. Fragments, ActionBar, DrawerАлександр Брич
 

Viewers also liked (20)

Android - 10 - Graphics
Android - 10 - GraphicsAndroid - 10 - Graphics
Android - 10 - Graphics
 
Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)
 
Android - 13 - Database
Android - 13 - DatabaseAndroid - 13 - Database
Android - 13 - Database
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - Social
 
Android - 16 - QR
Android - 16 - QRAndroid - 16 - QR
Android - 16 - QR
 
Android - 14 - Geodata
Android - 14 - GeodataAndroid - 14 - Geodata
Android - 14 - Geodata
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)
 
Web Internship - PHP and MySQL
Web Internship - PHP and MySQLWeb Internship - PHP and MySQL
Web Internship - PHP and MySQL
 
Android - 07 - User Interface
Android - 07 - User InterfaceAndroid - 07 - User Interface
Android - 07 - User Interface
 
Что нужно знать начинающему разработчику на Android
Что нужно знать начинающему разработчику на AndroidЧто нужно знать начинающему разработчику на Android
Что нужно знать начинающему разработчику на Android
 
Разработка мобильных приложений ДЛЯ ДЕТЕЙ
Разработка мобильных приложений ДЛЯ ДЕТЕЙРазработка мобильных приложений ДЛЯ ДЕТЕЙ
Разработка мобильных приложений ДЛЯ ДЕТЕЙ
 
Android - 06 - Gradle
Android - 06 - GradleAndroid - 06 - Gradle
Android - 06 - Gradle
 
iOS-05_1-UIKit
iOS-05_1-UIKitiOS-05_1-UIKit
iOS-05_1-UIKit
 
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
ЭЛЕМЕНТЫ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА ПРИ ПРОГРАММИРОВАНИИ. (http://tuladev.net/e...
 
Web-01-Basic PHP
Web-01-Basic PHPWeb-01-Basic PHP
Web-01-Basic PHP
 
Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)Введение в Android-разработку (Lecture 06 – basics)
Введение в Android-разработку (Lecture 06 – basics)
 
AR открытки: дополненная реальность к 8 марта
AR открытки: дополненная реальность к 8 мартаAR открытки: дополненная реальность к 8 марта
AR открытки: дополненная реальность к 8 марта
 
Android - 08 - Action bar
Android - 08 - Action barAndroid - 08 - Action bar
Android - 08 - Action bar
 
Android - 09 - Fragments
Android - 09 - FragmentsAndroid - 09 - Fragments
Android - 09 - Fragments
 
Лекция Android. Fragments, ActionBar, Drawer
Лекция Android. Fragments, ActionBar, DrawerЛекция Android. Fragments, ActionBar, Drawer
Лекция Android. Fragments, ActionBar, Drawer
 

More from Noveo

Гуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииГуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииNoveo
 
Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Noveo
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Noveo
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Noveo
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Noveo
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Noveo
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Noveo
 
Yii2
Yii2Yii2
Yii2Noveo
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизацияNoveo
 
Rest
RestRest
RestNoveo
 
PHP basic
PHP basicPHP basic
PHP basicNoveo
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP AdvancedNoveo
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQLNoveo
 
MySQL
MySQLMySQL
MySQLNoveo
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Noveo
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)Noveo
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Noveo
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Noveo
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Noveo
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Noveo
 

More from Noveo (20)

Гуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииГуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрии
 
Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)
 
Yii2
Yii2Yii2
Yii2
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизация
 
Rest
RestRest
Rest
 
PHP basic
PHP basicPHP basic
PHP basic
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP Advanced
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
MySQL
MySQLMySQL
MySQL
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
 

Web-02-Intermediate PHP

Editor's Notes

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