🗊Разработка на Yii QuartSoft Corp.

Категория: Информатика
Нажмите для полного просмотра!
Разработка на Yii   QuartSoft Corp., слайд №1Разработка на Yii   QuartSoft Corp., слайд №2Разработка на Yii   QuartSoft Corp., слайд №3Разработка на Yii   QuartSoft Corp., слайд №4Разработка на Yii   QuartSoft Corp., слайд №5Разработка на Yii   QuartSoft Corp., слайд №6Разработка на Yii   QuartSoft Corp., слайд №7Разработка на Yii   QuartSoft Corp., слайд №8Разработка на Yii   QuartSoft Corp., слайд №9Разработка на Yii   QuartSoft Corp., слайд №10Разработка на Yii   QuartSoft Corp., слайд №11Разработка на Yii   QuartSoft Corp., слайд №12Разработка на Yii   QuartSoft Corp., слайд №13Разработка на Yii   QuartSoft Corp., слайд №14Разработка на Yii   QuartSoft Corp., слайд №15Разработка на Yii   QuartSoft Corp., слайд №16Разработка на Yii   QuartSoft Corp., слайд №17Разработка на Yii   QuartSoft Corp., слайд №18Разработка на Yii   QuartSoft Corp., слайд №19Разработка на Yii   QuartSoft Corp., слайд №20Разработка на Yii   QuartSoft Corp., слайд №21Разработка на Yii   QuartSoft Corp., слайд №22Разработка на Yii   QuartSoft Corp., слайд №23Разработка на Yii   QuartSoft Corp., слайд №24Разработка на Yii   QuartSoft Corp., слайд №25Разработка на Yii   QuartSoft Corp., слайд №26Разработка на Yii   QuartSoft Corp., слайд №27

Вы можете ознакомиться и скачать Разработка на Yii QuartSoft Corp.. Презентация содержит 27 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





Разработка на Yii 
QuartSoft Corp.
Описание слайда:
Разработка на Yii QuartSoft Corp.

Слайд 2





Yii – PHP Framework
Yii – PHP Framework
Описание слайда:
Yii – PHP Framework Yii – PHP Framework

Слайд 3





Prado
Prado
Ruby on Rails 
jQuery 
Symfony 
Joomla
Описание слайда:
Prado Prado Ruby on Rails jQuery Symfony Joomla

Слайд 4





Магия в PHP
class Component {
    public $publicProperty;
    protected $_protectedProperty;
    
    public function setProtectedProperty($value) {
        $this->_protectedProperty = $value;
        return true;
    }
    
    public function getProtectedProperty() {
        return $this->_protectedProperty;
    }
}
Описание слайда:
Магия в PHP class Component { public $publicProperty; protected $_protectedProperty; public function setProtectedProperty($value) { $this->_protectedProperty = $value; return true; } public function getProtectedProperty() { return $this->_protectedProperty; } }

Слайд 5





class Component {
class Component {
    
    public function __get($propertyName) {
        $methodName = 'get'.$propertyName;
        if (method_exists($this, $methodName)) {
            return call_user_func( array($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( array($this, $methodName), $value );
        } else {
            throw new Exception("Missing property {$propertyName}'!");
        }
    }
Описание слайда:
class Component { class Component { public function __get($propertyName) { $methodName = 'get'.$propertyName; if (method_exists($this, $methodName)) { return call_user_func( array($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( array($this, $methodName), $value ); } else { throw new Exception("Missing property {$propertyName}'!"); } }

Слайд 6





$component = new Component();
$component = new Component();
$component->publicProperty = 'Public value';
echo($component->publicProperty);
$component->protectedProperty = 'Protected value';
echo($component->protectedProperty);
Описание слайда:
$component = new Component(); $component = new Component(); $component->publicProperty = 'Public value'; echo($component->publicProperty); $component->protectedProperty = 'Protected value'; echo($component->protectedProperty);

Слайд 7





Автозагрузка классов
require_once('components/SomeClass.php');
$someObj = new SomeClass();
…
require_once('components/OtherClass.php');
$otherObj = new OtherClass();
…
require_once('components/SomeClass.php');
$anotherSomeObj = new SomeClass();
Описание слайда:
Автозагрузка классов require_once('components/SomeClass.php'); $someObj = new SomeClass(); … require_once('components/OtherClass.php'); $otherObj = new OtherClass(); … require_once('components/SomeClass.php'); $anotherSomeObj = new SomeClass();

Слайд 8





class Autoloader {       
class Autoloader {       
    public function autoload($className) {
        $classFileName = ‘components/'.$className.'.php';
        if (file_exists($classFileName)) {
            require_once($classFileName);
            return true;
        }        
        return false;        
    }
    public function register() {
        return spl_autoload_register( array($this, 'autoload') );
    }
    public function __construct() {
        $this->register();
    }  
}
Описание слайда:
class Autoloader { class Autoloader { public function autoload($className) { $classFileName = ‘components/'.$className.'.php'; if (file_exists($classFileName)) { require_once($classFileName); return true; } return false; } public function register() { return spl_autoload_register( array($this, 'autoload') ); } public function __construct() { $this->register(); } }

Слайд 9





Автозагрузка классов в контексте Yii:
Yii::import(‘application.components.SomeClass');
Yii::import(‘application.components.OtherClass');
…
$someObj = new SomeClass();
Описание слайда:
Автозагрузка классов в контексте Yii: Yii::import(‘application.components.SomeClass'); Yii::import(‘application.components.OtherClass'); … $someObj = new SomeClass();

Слайд 10





Порождение компонентов 
function createComponent(array $componentConfig) {
        $className = $componentConfig['class'];
        if (empty($className)) {
            throw new Exception(‘Missing parameter "class"!');
        }
        unset($componentConfig['class']);
        if (!class_exists($className)) {
            Yii::import($className); // Автозагрузка
        }
        $component = new $className();
        foreach($componentConfig as $name=>$value) {
            $component->$name = $value; // Конфигурация
        }
        return $component;
}
Описание слайда:
Порождение компонентов function createComponent(array $componentConfig) { $className = $componentConfig['class']; if (empty($className)) { throw new Exception(‘Missing parameter "class"!'); } unset($componentConfig['class']); if (!class_exists($className)) { Yii::import($className); // Автозагрузка } $component = new $className(); foreach($componentConfig as $name=>$value) { $component->$name = $value; // Конфигурация } return $component; }

Слайд 11





Задание любого объекта через массив:
$componentConfig = array(
    'class'=>'CUrlManager',
    'urlFormat'=>'path',
    'showScriptName'=>false,
    'rules'=>array(
        '/'=>'site/index',
        '<controller:\w+>/<id:\d+>*'=>'<controller>/view', 
    ),
); 
$component = createComponent($componentConfig);
Описание слайда:
Задание любого объекта через массив: $componentConfig = array( 'class'=>'CUrlManager', 'urlFormat'=>'path', 'showScriptName'=>false, 'rules'=>array( '/'=>'site/index', '<controller:\w+>/<id:\d+>*'=>'<controller>/view', ), ); $component = createComponent($componentConfig);

Слайд 12





Фабрика компонентов
Описание слайда:
Фабрика компонентов

Слайд 13





Одиночка (Singleton)
class Singleton {
    private static $_selfInstance = null;
    
    public static function getInstance() {
        if (!is_object(self::$_selfInstance)) {
            self::$_selfInstance = new Singleton();
        }
        return self::$_selfInstance;
    }
    
    private function __construct() {
        // закрытый конструктор
    }
}
$singleton = Singleton::getInstance();
Описание слайда:
Одиночка (Singleton) class Singleton { private static $_selfInstance = null; public static function getInstance() { if (!is_object(self::$_selfInstance)) { self::$_selfInstance = new Singleton(); } return self::$_selfInstance; } private function __construct() { // закрытый конструктор } } $singleton = Singleton::getInstance();

Слайд 14





Фабрика компонентов(Component Factory)
Фабрика компонентов(Component Factory)
+
Одиночка (Singleton)
=
Приложение Yii (Yii Application)
Описание слайда:
Фабрика компонентов(Component Factory) Фабрика компонентов(Component Factory) + Одиночка (Singleton) = Приложение Yii (Yii Application)

Слайд 15





$config = array(
$config = array(
	'name'=>'My Web Application',
    …
    'components'=>array(
		'user'=>array(
		        'allowAutoLogin'=>true,
		),
           …
    ),
);
Yii::createWebApplication($config)->run();
…
$application = Yii::app();
$user = Yii::app()->getComponent(‘user’);
Описание слайда:
$config = array( $config = array( 'name'=>'My Web Application', … 'components'=>array( 'user'=>array( 'allowAutoLogin'=>true, ), … ), ); Yii::createWebApplication($config)->run(); … $application = Yii::app(); $user = Yii::app()->getComponent(‘user’);

Слайд 16





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

Слайд 17





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

Слайд 18





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

Слайд 19





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

Слайд 20





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

Слайд 21





$allUsers = User::model()->findAll();
$allUsers = User::model()->findAll();
$newUser = new User();
$newUser->name = ‘new user’;
$newUser->save();
$existingUser = User::model()->findByName(‘testuser’);
$existingUser->email = ‘newemail@domain.com’;
$existingUser->save();
Описание слайда:
$allUsers = User::model()->findAll(); $allUsers = User::model()->findAll(); $newUser = new User(); $newUser->name = ‘new user’; $newUser->save(); $existingUser = User::model()->findByName(‘testuser’); $existingUser->email = ‘newemail@domain.com’; $existingUser->save();

Слайд 22





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

Слайд 23





function handleBeforeSave(CEvent $event) {
function handleBeforeSave(CEvent $event) {
    $sender = $event->sender;
    // Изменяем состояние отправителя события:
    $sender->create_date = date('Y-m-d H:i:s', strtotime('NOW'));
}
$user = new User();
// Назначаем обработчик события:
$user->onBeforeSave = ‘handleBeforeSave’;
$user->name = ‘test name’;
$user->save();
echo $user->create_date; // Вывод: ‘2012-03-22 16:42’
Описание слайда:
function handleBeforeSave(CEvent $event) { function handleBeforeSave(CEvent $event) { $sender = $event->sender; // Изменяем состояние отправителя события: $sender->create_date = date('Y-m-d H:i:s', strtotime('NOW')); } $user = new User(); // Назначаем обработчик события: $user->onBeforeSave = ‘handleBeforeSave’; $user->name = ‘test name’; $user->save(); echo $user->create_date; // Вывод: ‘2012-03-22 16:42’

Слайд 24





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

Слайд 25





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

Слайд 26





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

Слайд 27





Yii
Динамический код
Компонентная структура
Приложение = «одиночка» + «фабрика»
Отложенная загрузка и создание объектов
MVC
«PDO» и «Active Record»
События
Поведения
Описание слайда:
Yii Динамический код Компонентная структура Приложение = «одиночка» + «фабрика» Отложенная загрузка и создание объектов MVC «PDO» и «Active Record» События Поведения



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