🗊 Презентация Общая архитектура Yii2

Нажмите для полного просмотра!
Общая архитектура Yii2, слайд №1 Общая архитектура Yii2, слайд №2 Общая архитектура Yii2, слайд №3 Общая архитектура Yii2, слайд №4 Общая архитектура Yii2, слайд №5 Общая архитектура Yii2, слайд №6 Общая архитектура Yii2, слайд №7 Общая архитектура Yii2, слайд №8 Общая архитектура Yii2, слайд №9 Общая архитектура Yii2, слайд №10 Общая архитектура Yii2, слайд №11 Общая архитектура Yii2, слайд №12 Общая архитектура Yii2, слайд №13 Общая архитектура Yii2, слайд №14 Общая архитектура Yii2, слайд №15 Общая архитектура Yii2, слайд №16 Общая архитектура Yii2, слайд №17 Общая архитектура Yii2, слайд №18 Общая архитектура Yii2, слайд №19 Общая архитектура Yii2, слайд №20 Общая архитектура Yii2, слайд №21 Общая архитектура Yii2, слайд №22 Общая архитектура Yii2, слайд №23 Общая архитектура Yii2, слайд №24 Общая архитектура Yii2, слайд №25 Общая архитектура Yii2, слайд №26 Общая архитектура Yii2, слайд №27 Общая архитектура Yii2, слайд №28 Общая архитектура Yii2, слайд №29 Общая архитектура Yii2, слайд №30 Общая архитектура Yii2, слайд №31 Общая архитектура Yii2, слайд №32 Общая архитектура Yii2, слайд №33 Общая архитектура Yii2, слайд №34 Общая архитектура Yii2, слайд №35 Общая архитектура Yii2, слайд №36 Общая архитектура Yii2, слайд №37 Общая архитектура Yii2, слайд №38 Общая архитектура Yii2, слайд №39 Общая архитектура Yii2, слайд №40 Общая архитектура Yii2, слайд №41

Содержание

Вы можете ознакомиться и скачать презентацию на тему Общая архитектура Yii2. Доклад-сообщение содержит 41 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Общая архитектура Yii2 YiiSoft
Описание слайда:
Общая архитектура Yii2 YiiSoft

Слайд 2


Построение функциональности не имеющей аналогов Построение функциональности не имеющей аналогов Новая интерпретация уже существующих бизнес процессов...
Описание слайда:
Построение функциональности не имеющей аналогов Построение функциональности не имеющей аналогов Новая интерпретация уже существующих бизнес процессов Стык или объединение различных областей и процессов Системы с повышенными требованиями к качеству

Слайд 3


Основные характеристики Основные характеристики
Описание слайда:
Основные характеристики Основные характеристики

Слайд 4


Управление зависимостями
Описание слайда:
Управление зависимостями

Слайд 5


Автозагрузка классов // Autoload via Composer by PSR-4 : $model = new yii\base\Model(); // Yii built-in autoload by PSR via alias:...
Описание слайда:
Автозагрузка классов // Autoload via Composer by PSR-4 : $model = new yii\base\Model(); // Yii built-in autoload by PSR via alias: Yii::setAlias(‘@app’, ‘/var/www/myproject’); $someObj = new app\models\Customer(); // include ‘/var/www/myproject/models/Customer.php’;

Слайд 6


Магия в PHP class Object { public $publicProperty; private $_privateProperty; public function setPrivateProperty($value) { $this->_privateProperty =...
Описание слайда:
Магия в PHP class Object { public $publicProperty; private $_privateProperty; public function setPrivateProperty($value) { $this->_privateProperty = $value; } public function getPrivateProperty() { return $this->_privateProperty; } }

Слайд 7


class Object class Object { public function __get($propertyName) { $methodName = 'get‘ . $propertyName; if (method_exists($this, $methodName)) {...
Описание слайда:
class Object class Object { public function __get($propertyName) { $methodName = 'get‘ . $propertyName; if (method_exists($this, $methodName)) { return call_user_func([$this, $methodName]); } else { throw new Exception("Missing property {$propertyName}'!"); } } public function __set($propertyName, $value) { $methodName = 'set‘ . $propertyName; if (method_exists($this, $methodName)) { return call_user_func([$this, $methodName], $value); } else { throw new Exception("Missing property {$propertyName}'!"); } }

Слайд 8


$object = new Object(); $object = new Object(); $object ->publicProperty = 'Public value'; echo ($object->publicProperty); $object->privateProperty =...
Описание слайда:
$object = new Object(); $object = new Object(); $object ->publicProperty = 'Public value'; echo ($object->publicProperty); $object->privateProperty = 'Private value'; echo ($object->privateProperty);

Слайд 9


Порождение объектов function createObject(array $config) { $className = $config['class']; if (empty($className)) { throw new Exception(‘Missing...
Описание слайда:
Порождение объектов function createObject(array $config) { $className = $config['class']; if (empty($className)) { throw new Exception(‘Missing parameter "class"!'); } unset($config['class']); $object = new $className(); foreach ($config as $name=>$value) { $object->$name = $value; // Конфигурация } return $object; }

Слайд 10


Задание любого объекта через массив: $config = [ 'class‘ => ‘yii\web\UrlManager', 'enablePrettyUrl‘ => true, 'showScriptName‘ => false, 'rules‘ => [...
Описание слайда:
Задание любого объекта через массив: $config = [ 'class‘ => ‘yii\web\UrlManager', 'enablePrettyUrl‘ => true, 'showScriptName‘ => false, 'rules‘ => [ '/‘ => 'site/index', '/*‘ => '/view', ], ]; $object = Yii::createObject($config);

Слайд 11


Dependency Injection (DI)
Описание слайда:
Dependency Injection (DI)

Слайд 12


Общая архитектура Yii2, слайд №12
Описание слайда:

Слайд 13


$config = [ $config = [ 'name‘ => 'My Web Application', … 'components‘ => [ 'user‘ => [ ‘enableAutoLogin‘ => true, ], … ], ]; (new...
Описание слайда:
$config = [ $config = [ 'name‘ => 'My Web Application', … 'components‘ => [ 'user‘ => [ ‘enableAutoLogin‘ => true, ], … ], ]; (new yii\web\Application($config))->run(); … $application = Yii::$app; $user = Yii::$app->get(‘user’);

Слайд 14


MVC в Yii2
Описание слайда:
MVC в Yii2

Слайд 15


Маршрутизация web запроса
Описание слайда:
Маршрутизация web запроса

Слайд 16


Построение отображения class View extends Component { public function renderFile($viewFile, $data = null) { require($viewFile); } }
Описание слайда:
Построение отображения class View extends Component { public function renderFile($viewFile, $data = null) { require($viewFile); } }

Слайд 17


Структура отображения
Описание слайда:
Структура отображения

Слайд 18


Виджет (Widget)
Описание слайда:
Виджет (Widget)

Слайд 19


Asset Management
Описание слайда:
Asset Management

Слайд 20


class YiiAsset extends AssetBundle class YiiAsset extends AssetBundle { public $sourcePath = '@yii/assets'; public $js = [ 'yii.js', ]; public...
Описание слайда:
class YiiAsset extends AssetBundle class YiiAsset extends AssetBundle { public $sourcePath = '@yii/assets'; public $js = [ 'yii.js', ]; public $depends = [ 'yii\web\JqueryAsset', ]; } class JqueryAsset extends AssetBundle { public $sourcePath = '@bower/jquery/dist'; public $js = [ 'jquery.js', ]; }

Слайд 21


Модель
Описание слайда:
Модель

Слайд 22


Доступ к базе данных через PDO
Описание слайда:
Доступ к базе данных через PDO

Слайд 23


Абстракция базы данных
Описание слайда:
Абстракция базы данных

Слайд 24


Select Query Shortcut
Описание слайда:
Select Query Shortcut

Слайд 25


Active Record
Описание слайда:
Active Record

Слайд 26


// Выборка записей: // Выборка записей: $allUsers = User::find()->all(); // Вставка новой записи: $newUser = new User(); $newUser->name = ‘new user’;...
Описание слайда:
// Выборка записей: // Выборка записей: $allUsers = User::find()->all(); // Вставка новой записи: $newUser = new User(); $newUser->name = ‘new user’; $newUser->save(); // Обновление существующей записи: $existingUser = User::find()->where([‘name’=>‘testuser’])->one(); $existingUser->email = ‘newemail@domain.com’; $existingUser->save(); // Отложенная загрузка отношения: $bio = $existingUser->profile->bio; // Жадная загрузка отношения: $allUsers = User::find()->with(‘profile’)->all();

Слайд 27


«Жадная» загрузка отношений
Описание слайда:
«Жадная» загрузка отношений

Слайд 28


NOSQL Active Record MongoDB Redis ElasticSearch Sphinx
Описание слайда:
NOSQL Active Record MongoDB Redis ElasticSearch Sphinx

Слайд 29


Cross-DBMS отношения
Описание слайда:
Cross-DBMS отношения

Слайд 30


События (Events) в Yii
Описание слайда:
События (Events) в Yii

Слайд 31


Обработка события
Описание слайда:
Обработка события

Слайд 32


function handleBeforeInsert(Event $event) function handleBeforeInsert(Event $event) { $sender = $event->sender; // Изменяем состояние отправителя...
Описание слайда:
function handleBeforeInsert(Event $event) function handleBeforeInsert(Event $event) { $sender = $event->sender; // Изменяем состояние отправителя события: $sender->create_date = date('Y-m-d', strtotime('NOW')); } $user = new User(); // Назначаем обработчик события: $user->on(‘beforeInsert’, ‘handleBeforeInsert’); $user->name = ‘test name’; $user->save(); echo $user->create_date; // Вывод: ‘2015-03-21’

Слайд 33


Проблема множественного наследования
Описание слайда:
Проблема множественного наследования

Слайд 34


Поведение (Behavior)
Описание слайда:
Поведение (Behavior)

Слайд 35


Расширение интерфейса class Component { private $_behaviors = [ ]; public function __call($method, $arguments) { // Ищем недостающий метод среди...
Описание слайда:
Расширение интерфейса class Component { private $_behaviors = [ ]; public function __call($method, $arguments) { // Ищем недостающий метод среди поведений: foreach ($this->_behaviors as $behavior) { if (method_exists($behavior, $method)) { return $behavior->$method($arguments); } } throw new Exception(“Missing method {$method}”); } … }

Слайд 36


class ArBehaviorExample extends Behavior class ArBehaviorExample extends Behavior { public function behaviorMethod() { $this->owner->create_date =...
Описание слайда:
class ArBehaviorExample extends Behavior class ArBehaviorExample extends Behavior { public function behaviorMethod() { $this->owner->create_date = date('Y-m-d', strtotime('NOW')); } } $user = new User(); // Добавляем поведение: $behavior = new ArBehaviorExample(); $user->attachBehavior($behavior); // Вызываем метод поведения: $user->behaviorMethod(); echo $user->create_date; // Вывод: ‘2015-03-21’

Слайд 37


Обработка событий class ExampleBehavior extends Behavior { public function events() { return [ ‘beforeInsert’ => ‘handleBeforeInsert’, ‘afterInsert’...
Описание слайда:
Обработка событий class ExampleBehavior extends Behavior { public function events() { return [ ‘beforeInsert’ => ‘handleBeforeInsert’, ‘afterInsert’ => ‘handleAfterInsert’ ]; } public function handleBeforeSave(Event $event) { // Обработка события «beforeInsert» } … }

Слайд 38


Отправка электронной почты
Описание слайда:
Отправка электронной почты

Слайд 39


Расширение «AuthClient»
Описание слайда:
Расширение «AuthClient»

Слайд 40


Дополнительные расширения Gii Debug Boostrap JUI Codeception Imagine ApiDoc
Описание слайда:
Дополнительные расширения Gii Debug Boostrap JUI Codeception Imagine ApiDoc

Слайд 41


Yii2 Composer + Bower Компонентная структура и DI MVC Управление «assets» PDO и Active Record
Описание слайда:
Yii2 Composer + Bower Компонентная структура и DI MVC Управление «assets» PDO и Active Record



Похожие презентации
Mypresentation.ru
Загрузить презентацию