Maison  >  Article  >  cadre php  >  Quelle est la différence entre yii1.1 et yii2.0

Quelle est la différence entre yii1.1 et yii2.0

(*-*)浩
(*-*)浩original
2019-11-04 13:10:363005parcourir

Différences : 1. Yii2.0 intègre pleinement Composer, contrairement à yii1.1 ; 2. Presque toutes les classes principales de Yii2.0 introduisent des espaces de noms, et le préfixe de nom de classe "C" dans la version 1.1 n'est pas Utilisation plus longue ; 3. Yii2.0 divise la classe CComponent dans 1.1 en deux classes.

Quelle est la différence entre yii1.1 et yii2.0

La version 2.0 du framework est une réécriture complète et il existe de nombreuses différences entre les versions 1.1 et 2.0. La mise à niveau à partir de la version 1.1 n'est donc pas aussi simple que de passer d'une version mineure à l'autre. Avec ce guide, vous comprendrez les principales différences entre les deux versions.

Installation

Yii 2.0 intègre pleinement Composer, qui est l'outil de gestion des dépendances PHP de facto. L'installation du framework principal ainsi que des extensions est gérée via Composer.

Exigences PHP

Yii 2.0 nécessite PHP 5.4 ou supérieur, ce qui représente une énorme amélioration par rapport au PHP 5.2 requis par Yii 1.1. Il y a donc beaucoup de différences notables au niveau linguistique. Voici un résumé des principaux changements dans la couche PHP :

  • Espace de noms

  • Fonctions anonymes

  • Array La syntaxe courte [...element...] est utilisée pour remplacer la balise echo de forme courte

  • À partir de PHP 5.4. , il sera toujours reconnu et légal, quel que soit le paramètre short_open_tag, il peut être utilisé en toute sécurité.

  • Classes et interfaces SPL

  • Liaison statique différée

  • Date et heure

  • Traits

  • intl Yii 2.0 utilise l'extension PHP intl pour prendre en charge les fonctions liées à l'internationalisation.

Espace de noms

Le changement le plus évident dans Yii 2.0 est l'utilisation des espaces de noms. Presque toutes les classes principales introduisent des espaces de noms, tels que yiiwebRequest. Le préfixe de nom de classe « C » dans la version 1.1 n'est plus utilisé. (Apprentissage recommandé : tutoriel yii)

Le schéma de dénomination actuel correspond à la structure des répertoires. Par exemple, yiiwebRequest indique que le fichier de classe correspondant est le fichier web/Request.php dans le dossier du framework Yii.

Avec le chargeur automatique de classes de Yii, vous pouvez utiliser directement toutes les classes principales sans inclure explicitement de fichiers spécifiques.

Composant et Objet

Yii 2.0 divise la classe CComponent dans 1.1 en deux classes : [[yiibaseObject] ] et [[yiibaseComponent]]. La classe [[yiibaseObject|Object]] est une classe de base légère. Vous pouvez définir les propriétés d'un objet via des getters et des setters. La classe

[[yiibaseComponent|Component]] hérite de [[yiibaseObject|Object]] et prend en charge en outre les événements et les comportements.

Événement

Dans Yii 1, les événements sont généralement créés en définissant une méthode commençant par on (comme onBeforeSave). Dans Yii 2, vous pouvez utiliser n'importe quel nom d'événement. En même temps, déclenchez les événements associés en appelant la méthode [[yiibaseComponent::trigger()|trigger()]] :

$event = new \yii\base\Event;
$component->trigger($eventName, $event);

Pour attacher un gestionnaire d'événement à un événement, vous devez utiliser Méthode [[yiibaseComponent:: on()|on()]] :

$component->on($eventName, $handler);
// 解除事件处理器,使用 off 方法:
// $component->off($eventName, $handler);

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn