SlideShare a Scribd company logo
1 of 23
Краткая история
История РНР начинается с 1995
года, когда независимый
программист-контрактник по имени
Расмус Лердорф(Rasmus Lerdorf)
написал сценарий Perl/CGI для
подсчета количества посетителей
сайта, прочитавших его онлайновое
резюме. Лердорф начал бесплатно
раздавать свой инструментарий,
названный Personal Home Page(РНР)
или Hypertext
Processor(гипертекстовый
процессор).
К моменту выхода
версии 3.0 в 1997 году
свыше 50 000
пользователей
применяли РНР для
улучшения своих webстраниц. В 1997 году было
решено, что сокращение
РНР должно означать не
«Personal Home page», а
«РНР Hypertext
Processor»
• В начале 1999 года было объявлено о предстоящем выходе РНР
4.0. Хотя одной из сильнейших сторон РНР была эффективность
выполнения сценариев, при первоначальных разработках не
предполагалось, что на базе РНР будут строиться
крупномасштабные приложения. Работа шла быстро и
завершилась 22 мая 2000 года выпуском РНР версии 4.0.
• РНР лучше всего
охарактеризовать как
работающий на стороне
сервера встроенный
язык сценариев Web,
позволяющий
разработчикам быстро
и эффективно строить
динамические webприложения.
Характеристики
•
•
•
•
•

традиционность;
Простота;
эффективность;
безопасность;
гибкость.

PHP
Бесплатное распространение
• Принятие стратегии Open Source и бесплатное
распространение исходных текстов РНР
оказало неоценимую услугу пользователям.
Вдобавок, отзывчивое сообщество
пользователей РНР является своего рода
«коллективной службой поддержки», и в
популярных электронных конференциях можно
найти ответы даже на самые сложные
вопросы.
Область применения
В области программирования для Сети PHP — один из
популярных скриптовых языков. Популярность в области
построения веб-сайтов определяется наличием большого набора
встроенных средств для разработки веб-приложений. Основные
из них:
• автоматическое извлечение POST и GET-параметров;
• взаимодействие с большим количеством различных систем
управления базами данных;;
• работа с HTTP-авторизацией, с cookies и сессиями, работа с
локальными и удалёнными файлами, сокетами, с XForms.
Согласно рейтингу корпорации TIOBE, базирующемся на данных
поисковых систем, в апреле 2011 года PHP находился на 5 месте
среди языков программирования.
Входит в LAMP — распространённый набор программного
обеспечения для создания веб-сайтов.
Синтаксис PHP
Синтаксис PHP очень напоминает синтаксис
языка C и во многом заимствован из таких
языков как Java и Perl. Программист С очень
быстро освоит язык PHP и сможет
использовать его с максимальной
эффективностью. В принципе, в PHP есть
практически все операторы и функции,
имеющиеся в стандартном GNU С, например
есть циклы, операторы выбора, функции
работы с файловой системой и процессами,
функции ввода-вывода и множество других...
echo "Это тест";
?>
<?php echo
"Это тест" ?>

Разделение инструкций

<?php
echo "Это
тест"; ?>
<?php echo
"Это тест" ?>

• Инструкции разделяются
также как и в C или Perl каждое выражение
заканчивается точкой с
запятой. Закрывающий
тег (?>) также
подразумевает конец
инструкции, поэтому два
следующих фрагмента
кода эквиваленты:
Комментарии в PHP скриптах
<?php
echo "Это тест"; // Это однострочный
комментарий в стиле c++
/* Это многострочный комментарий
еще одна строка комментария */
echo "Это еще один тест";
echo "Последний тест"; # Это
комментарий в стиле оболочки Unix
?>
Переменные в PHP
• Имена переменных обозначаются
знаком $. То же самое "Привет, я скрипт PHP! " можно получить
следующим образом:
<?php
$message = "Привет,
я - скрипт PHP!";
echo $message;
?>
Типы данных в PHP
Четыре скалярных типа:
• boolean
• integer
• float
Два специальных типа:
• string
• resource
Два смешанных типа:
• NULL
• array
Псевдотипов:
• object
• mixed
• number
• callback
Выражения в PHP
Основными формами выражений
являются константы и переменные.
Например, если вы записываете "$a =
100", вы присваиваете '100' переменной
$a:
В приведенном примере $a - это
переменная, = - это оператор
присваивания, а 100 - это и есть
выражения. Его значение 100.
Операторы PHP
Операторы присвоения:
<?php
$a = ($b = 4) + 5; // результат: $a установлена
значением 9, переменной $b присвоено 4. ?>
Комбинированные операторы:
<?php$a = 3;
$a += 5; // устанавливает $a значением 8,
аналогично записи: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // устанавливает $b строкой
"Hello There!", как и $b = $b . "There!"; ?>

Строковые
операторы:
<?php
$a = "Hello ";
$b = $a . "World!"; // $b
содержит строку "Hello
World!"
$a = "Hello ";$a .=
"World!"; // $a содержит
строку "Hello World!"
?>
Управляющие конструкции
PHP
Любой сценарий PHP сформирован из
ряда конструкций. Конструкцией могут
быть операторы, функции, циклы,
условные операторы… Конструкции
обычно заканчиваются ;. Кроме того,
конструкции могут быть сгруппированы в
группу, формируя группу конструкций с
изогнутыми фигурными скобками {...}.
• Конструкция if
–

<?php

–

if (логическое выражение) оператор;

–

?>

• Конструкция else
–

if (логическое_выражение)

–

инструкция_1;

–

else

–

инструкция_2;

• Конструкция elseif
–

if (логическое_выражение_1)

–

оператор_1;

–

elseif (логическое_выражение_2)

–

оператор_2;

–

else

–

оператор_3;

Условные
операторы
• Цикл с предусловием while
–

while (логическое_выражение)

–

инструкция;

• Цикл с постусловием do while
–

Do

–

{

–

тело_цикла;

–

}

–

Циклы

while (логическое_выражение);

• Цикл со счетчиком for
–

for (инициализирующие_команды; условие_цикла;
команды_после_итерации)

–

{ тело_цикла; }

• Цикл перебора массивов foreach
–

foreach (массив as $ключ=>$значение)

–

команды;
Конструкции
выбора
Часто вместо нескольких расположенных подряд инструкций if-else
целесообразно воспользоваться специальной конструкцией
выбора switch-case. Данная конструкция предназначена для
выбора действий, в зависимости от значения указанного
выражения.
Синтаксис конструкции switch-case такой:
switch(выражение) {
case значение1: команды1; [break;]
case значение2: команды2; [break;]
...
case значениеN: командыN; [break;]
[default: команды_по_умолчанию; [break]]
}
Конструкция declare
Конструкция объявления declare
используется, чтобы установить директивы
выполнения для блока кода. Синтаксис
declare подобен синтаксису других
управляющих конструкций языка PHP:
declare (директива)
●
инструкция;
●

Директива позволяет установить поведение
блока declare. В настоящее время в PHP
доступна только одна директива - tick.
Инструкция является частью блока declare.
Как будет выполнена инструкция
(инструкции), зависит от директивы.
Конструкция return
Конструкция rerurn возвращает значения,
преимущественно из пользовательских функций, как
параметры функционального запроса. При вызове
return исполнение пользовательской функции
прерывается, а конструкция return возвращает
определенные значения. Возврат приводит к
завершению выполнения функции и передаче
управления обратно к той строке кода, в которой
данная функция была вызвана.
• Конструкция включений require
Конструкция require позволяет
включать файлы в сценарий PHP до
исполнения сценария PHP. Общий
синтаксис require такой:
–

require имя_файла;

• Конструкция включений include
В отличие от конструкции require
конструкция include позволяет
включать файлы в код PHP скрипта
во время выполнения сценария.
Синтаксис конструкции include
выглядит следующим образом:
–

include имя_файла;

Констру
кции
включе
ний

More Related Content

What's hot

Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)AvitoTech
 
Perl Debugger и mod_perl
Perl Debugger и mod_perlPerl Debugger и mod_perl
Perl Debugger и mod_perlИван mrRico
 
REPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикREPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикIT61
 
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"Fwdays
 
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)AvitoTech
 
Scripting languages
Scripting languagesScripting languages
Scripting languagesLev Panov
 
Дизайн платформа в Avito - Александр Лобашев (Avito)
Дизайн платформа в Avito - Александр Лобашев (Avito)Дизайн платформа в Avito - Александр Лобашев (Avito)
Дизайн платформа в Avito - Александр Лобашев (Avito)AvitoTech
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)Sergey Skvortsov
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoAzamat Tokhtaev
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
 
Лекция #6. Введение в Django web-framework
Лекция #6. Введение в Django web-frameworkЛекция #6. Введение в Django web-framework
Лекция #6. Введение в Django web-frameworkЯковенко Кирилл
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применениюIvan Kolodyazhny
 
"Великолепный API без Rest", Констатин Якушев (Badoo)
 "Великолепный API без Rest", Констатин Якушев (Badoo) "Великолепный API без Rest", Констатин Якушев (Badoo)
"Великолепный API без Rest", Констатин Якушев (Badoo)Badoo Development
 
Zend Framework и мультиязычность
Zend Framework и мультиязычностьZend Framework и мультиязычность
Zend Framework и мультиязычностьStepan Tanasiychuk
 
Стабы для фронтенда - Никита Мостовой (HeadHunter)
Стабы для фронтенда - Никита Мостовой (HeadHunter)Стабы для фронтенда - Никита Мостовой (HeadHunter)
Стабы для фронтенда - Никита Мостовой (HeadHunter)AvitoTech
 
Обзор Haxe & OpenFl
Обзор Haxe & OpenFlОбзор Haxe & OpenFl
Обзор Haxe & OpenFlDevOWL Meetup
 
Кроссплатформенная разработка на Haxe
Кроссплатформенная разработка на HaxeКроссплатформенная разработка на Haxe
Кроссплатформенная разработка на HaxeEugene Veretennikov
 
ньюансы разработки видео для мобильных устройств
ньюансы разработки видео для мобильных устройствньюансы разработки видео для мобильных устройств
ньюансы разработки видео для мобильных устройствВладимир Кожаев
 

What's hot (20)

PHP: SAPI
PHP: SAPIPHP: SAPI
PHP: SAPI
 
Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)
 
Perl Debugger и mod_perl
Perl Debugger и mod_perlPerl Debugger и mod_perl
Perl Debugger и mod_perl
 
REPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчикREPL в Node.js: улучшаем быт разработчик
REPL в Node.js: улучшаем быт разработчик
 
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
 
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)
Rempl — крутая платформа для крутых инструментов - Роман Дворнов (Avito)
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
PHP
PHPPHP
PHP
 
Дизайн платформа в Avito - Александр Лобашев (Avito)
Дизайн платформа в Avito - Александр Лобашев (Avito)Дизайн платформа в Avito - Александр Лобашев (Avito)
Дизайн платформа в Avito - Александр Лобашев (Avito)
 
Catalyst – MVC framework на Perl (RIT 2008)
Catalyst – MVC framework на Perl  (RIT 2008)Catalyst – MVC framework на Perl  (RIT 2008)
Catalyst – MVC framework на Perl (RIT 2008)
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
 
Ігор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developerІгор Карпиленко — PHPStorm for drupal developer
Ігор Карпиленко — PHPStorm for drupal developer
 
Лекция #6. Введение в Django web-framework
Лекция #6. Введение в Django web-frameworkЛекция #6. Введение в Django web-framework
Лекция #6. Введение в Django web-framework
 
Django: инструкция по применению
Django: инструкция по применениюDjango: инструкция по применению
Django: инструкция по применению
 
"Великолепный API без Rest", Констатин Якушев (Badoo)
 "Великолепный API без Rest", Констатин Якушев (Badoo) "Великолепный API без Rest", Констатин Якушев (Badoo)
"Великолепный API без Rest", Констатин Якушев (Badoo)
 
Zend Framework и мультиязычность
Zend Framework и мультиязычностьZend Framework и мультиязычность
Zend Framework и мультиязычность
 
Стабы для фронтенда - Никита Мостовой (HeadHunter)
Стабы для фронтенда - Никита Мостовой (HeadHunter)Стабы для фронтенда - Никита Мостовой (HeadHunter)
Стабы для фронтенда - Никита Мостовой (HeadHunter)
 
Обзор Haxe & OpenFl
Обзор Haxe & OpenFlОбзор Haxe & OpenFl
Обзор Haxe & OpenFl
 
Кроссплатформенная разработка на Haxe
Кроссплатформенная разработка на HaxeКроссплатформенная разработка на Haxe
Кроссплатформенная разработка на Haxe
 
ньюансы разработки видео для мобильных устройств
ньюансы разработки видео для мобильных устройствньюансы разработки видео для мобильных устройств
ньюансы разработки видео для мобильных устройств
 

Similar to The basic design of the PHP language

Сборник практических задании по Php
Сборник практических задании по PhpСборник практических задании по Php
Сборник практических задании по PhpRauan Ibraikhan
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Oleg Poludnenko
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.Igor Shkulipa
 
Технология OpenMP
Технология OpenMPТехнология OpenMP
Технология OpenMPTatyanazaxarova
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Ontico
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language RuntimeGetDev.NET
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...SBTech
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоFuenteovejuna
 
Внедрение аспектов в PHP с помощью библиотеки GO! AOP
Внедрение аспектов в PHP с помощью библиотеки GO! AOPВнедрение аспектов в PHP с помощью библиотеки GO! AOP
Внедрение аспектов в PHP с помощью библиотеки GO! AOPAlexander Lisachenko
 
Sw325 lekts 1
Sw325 lekts 1Sw325 lekts 1
Sw325 lekts 1D. Saraa
 
Компьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingКомпьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingTatiana Volkova
 
Aspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAlexander Lisachenko
 
Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямSergey Staroletov
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
 
языки программирования
языки программированияязыки программирования
языки программированияDmitry Kulikov
 
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.IT-Доминанта
 

Similar to The basic design of the PHP language (20)

Сборник практических задании по Php
Сборник практических задании по PhpСборник практических задании по Php
Сборник практических задании по Php
 
Base php 1
Base php 1Base php 1
Base php 1
 
Base php 1
Base php 1Base php 1
Base php 1
 
Base php 1
Base php 1Base php 1
Base php 1
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥
 
C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
 
Технология OpenMP
Технология OpenMPТехнология OpenMP
Технология OpenMP
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
Dynamic Language Runtime
Dynamic Language RuntimeDynamic Language Runtime
Dynamic Language Runtime
 
Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...Терминология как основной способ поиска разработчиков или как не опозорится п...
Терминология как основной способ поиска разработчиков или как не опозорится п...
 
DLR Hosting
DLR HostingDLR Hosting
DLR Hosting
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
Внедрение аспектов в PHP с помощью библиотеки GO! AOP
Внедрение аспектов в PHP с помощью библиотеки GO! AOPВнедрение аспектов в PHP с помощью библиотеки GO! AOP
Внедрение аспектов в PHP с помощью библиотеки GO! AOP
 
Sw325 lekts 1
Sw325 lekts 1Sw325 lekts 1
Sw325 lekts 1
 
Компьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingКомпьютерная графика. Введение в Processing
Компьютерная графика. Введение в Processing
 
Aspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHPAspect-Oriented Programming in PHP
Aspect-Oriented Programming in PHP
 
Теория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциямТеория языков программирования некоторые слайды к лекциям
Теория языков программирования некоторые слайды к лекциям
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
языки программирования
языки программированияязыки программирования
языки программирования
 
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
Основные понятия связанные с разработкой ПО: просто о сложном. Лаабе Дмитрий.
 

More from Vladimir Burdaev

Modul 1 Systems Business Intelligence
Modul 1 Systems Business IntelligenceModul 1 Systems Business Intelligence
Modul 1 Systems Business IntelligenceVladimir Burdaev
 
презентация управления знаниями_каркас
презентация управления знаниями_каркаспрезентация управления знаниями_каркас
презентация управления знаниями_каркасVladimir Burdaev
 
управление знаний3 (2)
управление знаний3 (2)управление знаний3 (2)
управление знаний3 (2)Vladimir Burdaev
 
интелектуальный анализ экономических данных в системе каркас
интелектуальный анализ экономических данных в системе каркасинтелектуальный анализ экономических данных в системе каркас
интелектуальный анализ экономических данных в системе каркасVladimir Burdaev
 
каркас новая версия
каркас новая версиякаркас новая версия
каркас новая версияVladimir Burdaev
 
каркас интеллектуальный анализ вар 2
каркас интеллектуальный анализ вар 2каркас интеллектуальный анализ вар 2
каркас интеллектуальный анализ вар 2Vladimir Burdaev
 
Karkas интеллектуальный анализ
Karkas интеллектуальный анализKarkas интеллектуальный анализ
Karkas интеллектуальный анализVladimir Burdaev
 
продвижение нового товара
продвижение нового товарапродвижение нового товара
продвижение нового товараVladimir Burdaev
 
оценка инновационных рисков предприятия
оценка инновационных рисков предприятияоценка инновационных рисков предприятия
оценка инновационных рисков предприятияVladimir Burdaev
 
источник финансирования
источник финансированияисточник финансирования
источник финансированияVladimir Burdaev
 
каркас 2011 prezent_servis
каркас 2011 prezent_servisкаркас 2011 prezent_servis
каркас 2011 prezent_servisVladimir Burdaev
 
каркас тестирование
каркас тестированиекаркас тестирование
каркас тестированиеVladimir Burdaev
 
Построение базы знаний для агентов
Построение базы знаний для агентовПостроение базы знаний для агентов
Построение базы знаний для агентовVladimir Burdaev
 

More from Vladimir Burdaev (20)

Modul 1 Systems Business Intelligence
Modul 1 Systems Business IntelligenceModul 1 Systems Business Intelligence
Modul 1 Systems Business Intelligence
 
презентация управления знаниями_каркас
презентация управления знаниями_каркаспрезентация управления знаниями_каркас
презентация управления знаниями_каркас
 
2015 04 14_info_b_2
2015 04 14_info_b_22015 04 14_info_b_2
2015 04 14_info_b_2
 
E makros bur_2
E makros bur_2E makros bur_2
E makros bur_2
 
Burdtech
BurdtechBurdtech
Burdtech
 
управление знаний3 (2)
управление знаний3 (2)управление знаний3 (2)
управление знаний3 (2)
 
Paradigma km 0
Paradigma km 0Paradigma km 0
Paradigma km 0
 
парадигма ии
парадигма иипарадигма ии
парадигма ии
 
интелектуальный анализ экономических данных в системе каркас
интелектуальный анализ экономических данных в системе каркасинтелектуальный анализ экономических данных в системе каркас
интелектуальный анализ экономических данных в системе каркас
 
каркас новая версия
каркас новая версиякаркас новая версия
каркас новая версия
 
каркас интеллектуальный анализ вар 2
каркас интеллектуальный анализ вар 2каркас интеллектуальный анализ вар 2
каркас интеллектуальный анализ вар 2
 
Karkas интеллектуальный анализ
Karkas интеллектуальный анализKarkas интеллектуальный анализ
Karkas интеллектуальный анализ
 
продвижение нового товара
продвижение нового товарапродвижение нового товара
продвижение нового товара
 
оценка инновационных рисков предприятия
оценка инновационных рисков предприятияоценка инновационных рисков предприятия
оценка инновационных рисков предприятия
 
источник финансирования
источник финансированияисточник финансирования
источник финансирования
 
каркас рибс1
каркас рибс1каркас рибс1
каркас рибс1
 
каркас 2011 prezent_servis
каркас 2011 prezent_servisкаркас 2011 prezent_servis
каркас 2011 prezent_servis
 
каркас тестирование
каркас тестированиекаркас тестирование
каркас тестирование
 
Построение базы знаний для агентов
Построение базы знаний для агентовПостроение базы знаний для агентов
Построение базы знаний для агентов
 
бурдаев Mac1
бурдаев Mac1бурдаев Mac1
бурдаев Mac1
 

The basic design of the PHP language

  • 1.
  • 2. Краткая история История РНР начинается с 1995 года, когда независимый программист-контрактник по имени Расмус Лердорф(Rasmus Lerdorf) написал сценарий Perl/CGI для подсчета количества посетителей сайта, прочитавших его онлайновое резюме. Лердорф начал бесплатно раздавать свой инструментарий, названный Personal Home Page(РНР) или Hypertext Processor(гипертекстовый процессор).
  • 3. К моменту выхода версии 3.0 в 1997 году свыше 50 000 пользователей применяли РНР для улучшения своих webстраниц. В 1997 году было решено, что сокращение РНР должно означать не «Personal Home page», а «РНР Hypertext Processor»
  • 4. • В начале 1999 года было объявлено о предстоящем выходе РНР 4.0. Хотя одной из сильнейших сторон РНР была эффективность выполнения сценариев, при первоначальных разработках не предполагалось, что на базе РНР будут строиться крупномасштабные приложения. Работа шла быстро и завершилась 22 мая 2000 года выпуском РНР версии 4.0.
  • 5. • РНР лучше всего охарактеризовать как работающий на стороне сервера встроенный язык сценариев Web, позволяющий разработчикам быстро и эффективно строить динамические webприложения.
  • 7. Бесплатное распространение • Принятие стратегии Open Source и бесплатное распространение исходных текстов РНР оказало неоценимую услугу пользователям. Вдобавок, отзывчивое сообщество пользователей РНР является своего рода «коллективной службой поддержки», и в популярных электронных конференциях можно найти ответы даже на самые сложные вопросы.
  • 8. Область применения В области программирования для Сети PHP — один из популярных скриптовых языков. Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них: • автоматическое извлечение POST и GET-параметров; • взаимодействие с большим количеством различных систем управления базами данных;; • работа с HTTP-авторизацией, с cookies и сессиями, работа с локальными и удалёнными файлами, сокетами, с XForms. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования. Входит в LAMP — распространённый набор программного обеспечения для создания веб-сайтов.
  • 9. Синтаксис PHP Синтаксис PHP очень напоминает синтаксис языка C и во многом заимствован из таких языков как Java и Perl. Программист С очень быстро освоит язык PHP и сможет использовать его с максимальной эффективностью. В принципе, в PHP есть практически все операторы и функции, имеющиеся в стандартном GNU С, например есть циклы, операторы выбора, функции работы с файловой системой и процессами, функции ввода-вывода и множество других...
  • 10. echo "Это тест"; ?> <?php echo "Это тест" ?> Разделение инструкций <?php echo "Это тест"; ?> <?php echo "Это тест" ?> • Инструкции разделяются также как и в C или Perl каждое выражение заканчивается точкой с запятой. Закрывающий тег (?>) также подразумевает конец инструкции, поэтому два следующих фрагмента кода эквиваленты:
  • 11. Комментарии в PHP скриптах <?php echo "Это тест"; // Это однострочный комментарий в стиле c++ /* Это многострочный комментарий еще одна строка комментария */ echo "Это еще один тест"; echo "Последний тест"; # Это комментарий в стиле оболочки Unix ?>
  • 12. Переменные в PHP • Имена переменных обозначаются знаком $. То же самое "Привет, я скрипт PHP! " можно получить следующим образом: <?php $message = "Привет, я - скрипт PHP!"; echo $message; ?>
  • 13. Типы данных в PHP Четыре скалярных типа: • boolean • integer • float Два специальных типа: • string • resource Два смешанных типа: • NULL • array Псевдотипов: • object • mixed • number • callback
  • 14. Выражения в PHP Основными формами выражений являются константы и переменные. Например, если вы записываете "$a = 100", вы присваиваете '100' переменной $a: В приведенном примере $a - это переменная, = - это оператор присваивания, а 100 - это и есть выражения. Его значение 100.
  • 15. Операторы PHP Операторы присвоения: <?php $a = ($b = 4) + 5; // результат: $a установлена значением 9, переменной $b присвоено 4. ?> Комбинированные операторы: <?php$a = 3; $a += 5; // устанавливает $a значением 8, аналогично записи: $a = $a + 5; $b = "Hello "; $b .= "There!"; // устанавливает $b строкой "Hello There!", как и $b = $b . "There!"; ?> Строковые операторы: <?php $a = "Hello "; $b = $a . "World!"; // $b содержит строку "Hello World!" $a = "Hello ";$a .= "World!"; // $a содержит строку "Hello World!" ?>
  • 16. Управляющие конструкции PHP Любой сценарий PHP сформирован из ряда конструкций. Конструкцией могут быть операторы, функции, циклы, условные операторы… Конструкции обычно заканчиваются ;. Кроме того, конструкции могут быть сгруппированы в группу, формируя группу конструкций с изогнутыми фигурными скобками {...}.
  • 17.
  • 18. • Конструкция if – <?php – if (логическое выражение) оператор; – ?> • Конструкция else – if (логическое_выражение) – инструкция_1; – else – инструкция_2; • Конструкция elseif – if (логическое_выражение_1) – оператор_1; – elseif (логическое_выражение_2) – оператор_2; – else – оператор_3; Условные операторы
  • 19. • Цикл с предусловием while – while (логическое_выражение) – инструкция; • Цикл с постусловием do while – Do – { – тело_цикла; – } – Циклы while (логическое_выражение); • Цикл со счетчиком for – for (инициализирующие_команды; условие_цикла; команды_после_итерации) – { тело_цикла; } • Цикл перебора массивов foreach – foreach (массив as $ключ=>$значение) – команды;
  • 20. Конструкции выбора Часто вместо нескольких расположенных подряд инструкций if-else целесообразно воспользоваться специальной конструкцией выбора switch-case. Данная конструкция предназначена для выбора действий, в зависимости от значения указанного выражения. Синтаксис конструкции switch-case такой: switch(выражение) { case значение1: команды1; [break;] case значение2: команды2; [break;] ... case значениеN: командыN; [break;] [default: команды_по_умолчанию; [break]] }
  • 21. Конструкция declare Конструкция объявления declare используется, чтобы установить директивы выполнения для блока кода. Синтаксис declare подобен синтаксису других управляющих конструкций языка PHP: declare (директива) ● инструкция; ● Директива позволяет установить поведение блока declare. В настоящее время в PHP доступна только одна директива - tick. Инструкция является частью блока declare. Как будет выполнена инструкция (инструкции), зависит от директивы.
  • 22. Конструкция return Конструкция rerurn возвращает значения, преимущественно из пользовательских функций, как параметры функционального запроса. При вызове return исполнение пользовательской функции прерывается, а конструкция return возвращает определенные значения. Возврат приводит к завершению выполнения функции и передаче управления обратно к той строке кода, в которой данная функция была вызвана.
  • 23. • Конструкция включений require Конструкция require позволяет включать файлы в сценарий PHP до исполнения сценария PHP. Общий синтаксис require такой: – require имя_файла; • Конструкция включений include В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во время выполнения сценария. Синтаксис конструкции include выглядит следующим образом: – include имя_файла; Констру кции включе ний