PageRenderTime 38ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/fr/appendices/2-5-migration-guide.rst

https://gitlab.com/albertkeba/docs
ReStructuredText | 289 lines | 211 code | 78 blank | 0 comment | 0 complexity | 669d863875edd26470915e5951333293 MD5 | raw file
  1. 2.5 Guide de Migration
  2. ######################
  3. CakePHP 2.5 est une mise à jour complète à partir de l'API de 2.4. Cette page
  4. souligne les changements et améliorations faits dans 2.5.
  5. Cache
  6. =====
  7. - Un nouvel adaptateur a été ajouté pour ``Memcached``. Ce nouvel adaptateur
  8. utilise ext/memcached au lieu de ext/memcache. Il permet d'améliorer la
  9. performance et les connexions persistentes partagées.
  10. - L'adaptateur ``Memcache`` est maintenant déprécié en faveur de ``Memcached``.
  11. - :php:meth:`Cache::remember()` a été ajoutée.
  12. - :php:meth:`Cache::config()` accepte maintenant la clé ``database`` lors de
  13. l'utilisation avec :php:class:`RedisEngine` afin d'utiliser un certain nombre
  14. de base de données pas par défaut.
  15. Console
  16. =======
  17. SchemaShell
  18. -----------
  19. - Les sous-commandes ``create`` et ``update`` ont maintenant une option ``yes``.
  20. L'option ``yes`` vous permet de passer les différentes questions interactives
  21. forçant ainsi une réponse à yes.
  22. CompletionShell
  23. ---------------
  24. - :doc:`CompletionShell </console-and-shells/completion-shell>` a été ajoutée.
  25. Il a pour objectif d'aider à la création de librairies autocompletion pour
  26. les variables d'environnement de shell comme bash, ou zsh. Aucun script shell
  27. n'est inclu dans CakePHP, mais les outils sous-jacents sont maintenant
  28. disponibles.
  29. Controller
  30. ==========
  31. AuthComponent
  32. -------------
  33. - ``loggedIn()`` est maintenant dépréciée et sera retirée dans 3.0.
  34. - Lors de l'utilisation de ``ajaxLogin``, AuthComponent va retourner un code de
  35. statut ``403`` au lieu de ``200`` quand l'utilisateur n'est pas authentifié.
  36. CookieComponent
  37. ---------------
  38. - :php:class:`CookieComponent` peut utiliser le nouveau chiffrement AES-256
  39. offert par :php:class:`Security`. Vous pouvez activer ceci en appelant
  40. :php:meth:`CookieComponent::type()` avec 'aes'.
  41. RequestHandlerComponent
  42. -----------------------
  43. - :php:meth:`RequestHandlerComponent::renderAs()` ne définit plus
  44. ``Controller::$ext``. Cela posait des problèmes lors de l'utilisation d'une
  45. extension autre que celle par défaut pour les vues.
  46. AclComponent
  47. ------------
  48. - Les échecs de vérification de noeud ACL sont maintenant directement mis dans
  49. les logs. L'appel de ``trigger_error()`` a été retiré.
  50. Scaffold
  51. --------
  52. - Le scaffold dynamique est maintenant déprécié et sera retiré dans 3.0.
  53. Core
  54. ====
  55. App
  56. ---
  57. - ``App::pluginPath()`` a été dépréciée. ``CakePlugin::path()`` doit être
  58. utilisé à la place.
  59. CakePlugin
  60. ----------
  61. - :php:meth:`CakePlugin::loadAll()` fusionne maintenant les options par défaut
  62. et celles spécifiques au plugin comme on peut s'y attendre intuitivement.
  63. Regardez les cas de test pour plus de détails.
  64. Event
  65. =====
  66. EventManager
  67. ------------
  68. Les Events liés au gestionnaire global sont maintenant déclenchés dans l'ordre
  69. de priorité des events liés au gestionnaire local. Ceci peut entraîner le
  70. déclenchement des listeners dans un ordre différent par rapport aux versions
  71. précédentes. Au lieu d'avoir des listeners globaux attrapés, et ensuite
  72. instancier les listeners étant déclenchés plus tard, les deux ensembles de
  73. listeners sont combinés en une liste de listeners basé sur leurs priorités
  74. et ensuite déclenchés en un ensemble. Les listeners globaux d'une prioriété
  75. donnée sont toujours déclenchés avant l'instanciation des listeners.
  76. I18n
  77. ====
  78. - La classe :php:class:`I18n` a de nombreuses nouvelles constantes. Ces
  79. constantes vous permettent de remplacer les hardcoded integers avec des
  80. valeurs lisibles par exemple : ``I18n::LC_MESSAGES``.
  81. Model
  82. =====
  83. - Les nombres unsigned sont maintenant supportés par les sources de données
  84. qui les fournissent (MySQL). Vous pouvez définir l'option ``unsigned`` à true
  85. dans vos fichiers schema/fixture pour commencer à utiliser cette
  86. fonctionnalité.
  87. - Les Jointures inclues dans les requêtes sont maintenant ajoutées **après** que
  88. les jointures des associations sont ajoutées. Cela facilite la jointure des
  89. tables qui dépendent d'associations générées.
  90. Network
  91. =======
  92. CakeEmail
  93. ---------
  94. - Les adresses Email dans CakeEmail ne sont pas validées avec ``filter_var``
  95. par défaut. Cela assouplit les règles d'addresse email en autorisant les
  96. addresses d'email interne comme ``root@localhost`` par exemple.
  97. - Vous pouvez maintenant spécifier la clé ``layout`` dans la config d'email
  98. sans avoir à spécifier la clé ``template``.
  99. CakeRequest
  100. -----------
  101. - :php:meth:`CakeRequest::addDetector()` supporte maintenant ``options`` qui
  102. accepte un tableau des options valides lors de la création de paramètre
  103. basé sur les detecteurs.
  104. - ``CakeRequest::onlyAllow()`` a été dépréciée. En remplacement, une nouvelle
  105. méthode nommée :php:meth:`CakeRequest::allowMethod()` a été ajoutée avec
  106. une fonctionnalité identique. Le nouveau nom de la méthode est plus intuitif
  107. et transmet mieux ce que la méthode fait.
  108. CakeSession
  109. -----------
  110. - Sessions ne seront pas démarrées si elles sont connues pour être vides. Si
  111. le cookie de session ne peut être trouvé, une session ne sera pas démarrée
  112. à moins qu'une opération d'écriture ne soit faite.
  113. Routing
  114. =======
  115. Router
  116. ------
  117. - :php:meth:`Router::mapResources()` accepte la clé ``connectOptions`` dans
  118. l'argument ``$options``. Regardez :ref:`custom-rest-routing` pour plus de
  119. détails.
  120. Utility
  121. =======
  122. Debugger
  123. --------
  124. - ``Debugger::dump()`` et ``Debugger::log()`` supportent un paramètre
  125. ``$depth``. Ce nouveau paramètre facilite la sortie de structures d'objet
  126. imbriquée plus profonde.
  127. Hash
  128. ----
  129. - :php:meth:`Hash::insert()` et :php:meth:`Hash::remove()` supportent maintenant
  130. les expressions de matcher dans les selecteurs de chemin.
  131. File
  132. ----
  133. - :php:meth:`File::replaceText()` a été ajoutée. Cette méthode vous permet
  134. de facilement remplacer le texte en un fichier en utilisant ``str_replace``.
  135. Folder
  136. ------
  137. - :php:meth:`Folder::addPathElement()` accepte maintenant un tableau pour le
  138. paramètre ``$element``.
  139. Security
  140. --------
  141. - :php:meth:`Security::encrypt()` et :php:meth:`Security::decrypt()` ont été
  142. ajoutées. Ces méthodes montrent une API très simple pour accéder au
  143. chiffrement symétrique AES-256.
  144. Ils doivent être utilisés en faveur des méthodes ``cipher()`` et
  145. ``rijndael()``.
  146. Validation
  147. ----------
  148. - Le troisième paramètre pour :php:meth:`Validation::inList()` et
  149. :php:meth:`Validation::multiple()` a été modifié de `$strict` en
  150. `$caseInsensitive`. `$strict` a été retiré puisqu'il ne fonctionnait pas
  151. correctement et pouvait être facilement contourné. Vous pouvez maintenant
  152. définir ce paramètre à true pour des comparaisons non sensibles à la casse.
  153. Par défaut, c'est à false et cela ca comparer la valeur et lister la casse
  154. sensible comme avant.
  155. - Le paramètre ``$mimeTypes`` de :php:meth:`Validation::mimeType()` peut aussi
  156. être une chaîne regex. Aussi maintenant quand ``$mimeTypes`` est un tableau
  157. ses valeurs sont en minuscule.
  158. Logging
  159. =======
  160. FileLog
  161. -------
  162. - CakeLog ne s'auto-configure plus tout seul. Au final, tous les fichiers de
  163. log ne seront plus auto-créés si aucun flux n'est écouté. Assurez-vous que
  164. vous avez au moins un moteur par défaut configuré si vous voulez écouter tous
  165. les types et les niveaux.
  166. Error
  167. =====
  168. ExceptionRenderer
  169. -----------------
  170. ExceptionRenderer remplit maintenant les tempplates d'erreur avec les variables
  171. "code", "message" et "url". "name" a été déprécié mais est toujours disponible.
  172. Cela uniformise les variables à travers tous les templates d'erreur.
  173. Testing
  174. =======
  175. - Les fichiers de fixture peuvent maintenant être placés dans des
  176. sous-répertoires. Vous pouvez utiliser les fixtures dans les sous-répertoires
  177. en incluant le nom du répertoire après le ``.``. Par exemple,
  178. `app.my_dir/article` va charger ``App/Test/Fixture/my_dir/ArticleFixture``.
  179. On notera que le répertoire de fixture ne sera pas inflecté ou modifié dans
  180. tous les cas.
  181. - Les Fixtures peuvent maintenant définir ``$canUseMemory`` à false pour
  182. désactiver le moteur de stockage de la mémoire utilisée dans MySQL.
  183. View
  184. ====
  185. View
  186. ----
  187. - ``$title_for_layout`` est déprécié. Utilisez ``$this->fetch('title');`` et
  188. ``$this->assign('title', 'your-page-title');`` à la place.
  189. - :php:meth:`View::get()` accepte maintenant un deuxième argument pour fournir
  190. une valeur par défaut.
  191. FormHelper
  192. ----------
  193. - FormHelper va maintenant générer les inputs de fichier pour les types de champ
  194. ``binary``.
  195. - :php:meth:`FormHelper::end()` a eu un deuxième paramètre ajouté. Ce paramètre
  196. vous laisse passer les propriétés supplémentaires aux champs utilisés pour
  197. sécuriser les formulaires avec SecurityComponent.
  198. - :php:meth:`FormHelper::end()` et :php:meth:`FormHelper::secure()` vous
  199. permettent de passer des options supplémentaires qui sont changées en
  200. attributs sur les inputs cachés générés. C'est utile quand vous voulez
  201. utiliser l'attribut HTML5 ``form``.
  202. - :php:meth:`FormHelper::postLink()` vous permet maintenant de faire un tampon
  203. de la balise de formulaire généré au lieu de la retourner avec le lien. Ceci
  204. permet d'éviter les balises de formulaire imbriquées.
  205. PaginationHelper
  206. ----------------
  207. - :php:meth:`PaginatorHelper::sort()` a maintenant une option ``lock`` pour
  208. créer le tri des liens de pagination avec seulement la direction par défaut.
  209. ScaffoldView
  210. ------------
  211. - Le Scaffold Dynamique est mainteanant déprécié et sera retiré dans 3.0.