• Aucun résultat trouvé

— La propriété $settings est maintenant appelée $_config et peut être accessible via la méthode config().

— Les options de configuration ne sont plus définies en propriété public.

— Helper::clean() a été retirée. Il n’était jamais assez robuste pour complètement empêcher XSS. A la place, vous devez échapper le contenu avechou utiliser une librairie dédiée comme HTMLPurifier.

— Helper::output() a été retirée. Cette méthode a été dépréciée dans 2.x.

— Les méthodes Helper::webroot(), Helper::url(), Helper::assetUrl(), Helper::assetTimestamp() ont été déplacées vers le nouveau helper Cake\View\Helper\UrlHelper. Helper::url() est maintenant disponible dans Cake\View\Helper\UrlHelper::build().

— Les accesseurs magiques pour les propriétés dépréciées ont été retirés. Les propriétés suivantes ont maintenant besoin d’être accédées à partir de l’objet request :

— base — here — webroot — data — action — params

Helper

Les méthodes suivantes de Helper ont été retirées : — Helper::setEntity() — Helper::entity() — Helper::model() — Helper::field() — Helper::value() — Helper::_name() — Helper::_initInputField() — Helper::_selectedArray()

Ces méthodes étaient des parties uniquement utilisées par FormHelper, et faisaient partie des continuelles fonctionna- lités des champs qui devenaient problématiques au fil du temps. FormHelper ne s’appuie plus sur ces méthodes et leur complexité n’est plus nécessaire.

Les méthodes suivantes ont été retirées : — Helper::_parseAttributes() — Helper::_formatAttribute()

Ces méthodes se trouvent dans la classe StringTemplate que les helpers utilisent fréquemment. Regardez StringTemplateTraitpour intégrer les templates de chaîne dans vos propres helpers.

FormHelper

FormHelper a été entièrement réécrite pour 3.0. Il amène quelques grands changements :

— FormHelper fonctionne avec le nouvel ORM. Mais il a un système extensible pour être intégré avec d’autres ORMs ou sources de données.

— FormHelper dispose d’une fonctionnalité de système de widget extensible qui vous permet de créer de nou- veaux widgets d’input personnalisés et d’améliorer ceux intégrés.

— Les templates de chaîne sont un élément fondateur du helper. Au lieu de tableaux imbriqués ensemble partout, la plupart du HTML que FormHelper génère peut être personnalisé dans un endroit central en utilisant les ensembles de template.

En plus de ces grands changements, quelques plus petits changements finaux ont été aussi faits. Ces changements devraient aider le streamline HTML que le FormHelper génère et réduire les problèmes que les gens ont eu dans le passé :

— Le prefix data[ a été retiré de tous les inputs générés. Le prefix n’a plus de réelle utilité.

— Les diverses méthodes d’input autonomes comme text(), select() et autres ne génèrent plus d’attributs id.

— L’option inputDefaults a été retirée de create().

— Les options default et onsubmit de create() ont été retirées. A la place, vous devez utiliser le binding d’event Javascript ou définir tout le code js nécessaire pour onsubmit.

— end() ne peut plus faire des boutons. Vous devez créer des buttons avec button() ou submit(). — FormHelper::tagIsInvalid() a été retirée. Utilisez isFieldError() à la place.

— FormHelper::inputDefaults() a été retirée. Vous pouvez utiliser templates() pour défi- nir/améliorer les templates que FormHelper utilise.

— Les options wrap et class ont été retirées de la méthode error(). — L’option showParents a été retirée de select().

— Les options div, before, after, between et errorMessage ont été retirées de input(). Vous pou- vez utiliser les templates pour mettre à jour le HTML qui l’entoure. L’option templates vous permet de surcharger les templates chargés pour un input.

— Les options separator, between, et legend ont été retirées de radio(). Vous pouvez maintenant utiliser les templates pour changer le HTML qui l’entoure.

— Le paramètre format24Hours a été retiré de hour(). Il a été remplacé par l’option format.

— Les paramètres minYear et maxYear ont été retirés de year(). Ces deux paramètres peuvent maintenant être fournis en options.

— Les paramètres dateFormat et timeFormat ont été retirés de datetime(). Vous pouvez maintenant utiliser les templates pour définir l’ordre dans lequel les inputs doivent être affichés.

— submit() a eu les options div, before et after retirées. Vous pouvez personnaliser le template submitContainerpour modifier ce contenu.

— La méthode inputs() n’accepte plus legend et fieldset dans le paramètre $fields, vous devez utiliser le paramètre $options. Elle nécessite aussi que le paramètre $fields soit un tableau. Le paramètre $blacklista été retiré, la fonctionnalité a été remplacée en spécifiant 'field' => false dans le paramètre $fields.

— Le paramètre inline a été retiré de la méthode postLink(). Vous devez utiliser l’option block à la place. Définir block => true va émuler le comportement précédent.

— Le paramètre timeFormat pour hour(), time() et dateTime() est par maintenant par défaut à 24, en accord avec l’ISO 8601.

— L’argument $confirmMessage de Cake\View\Helper\FormHelper::postLink()a été retiré. Vous devez maintenant utiliser la clé confirm dans $options pour spécifier le message.

— Les inputs de type checkbox et boutons radios types sont maintenant générées à l’intérieur de balises label par défaut. Ceci aide à accroître la compatibilité avec les librairies CSS populaires telles queBootstrap32 et

Foundation33.

— Les tags de templates sont maintenant tous écrits en camelBack. Les tags pre-3.0 formstart, formend, hiddenblock et inputsubmit sont maintenant formStart, formEnd, hiddenBlock et inputSubmit. Pensez à bien les changer s’ils sont personnalisés dans votre application.

Il est recommandé que vous regardiez la documentationFormpour plus de détails sur la façon d’utiliser le FormHelper dans 3.0.

HtmlHelper

— HtmlHelper::useTag() a été retirée, utilisez tag() à la place.

— HtmlHelper::loadConfig() a été retirée. La personnalisation des tags peut être faîte en utilisant templates()ou la configuration templates.

— Le deuxième paramètre $options pour HtmlHelper::css() doit maintenant toujours être un tableau comme c’est écrit dans la documentation.

— Le premier paramètre $data pour HtmlHelper::style() doit maintenant toujours être un tableau comme c’est écrit dans la documentation.

— Le paramètre inline a été retiré des méthodes meta(), css(), script(), scriptBlock(). Vous devrez utiliser l’option block à la place. Définir block => true va émuler le comportement précédent.

— HtmlHelper::meta() nécessite maintenant que $type soit une chaîne de caractère. Les options supplé- mentaires peuvent en outre être passées dans $options.

— HtmlHelper::nestedList() nécessite maintenant que $options soit un tableau. Le quatrième argu- ment pour le niveau de tag a été retiré et il a été inclus dans le tableau $options.

— L’argument $confirmMessage de Cake\View\Helper\HtmlHelper::link()a été retiré. Vous devez maintenant utiliser la clé confirm dans $options pour spécifier le message.

http://getbootstrap.com/ http://foundation.zurb.com/

PaginatorHelper

— link() a été retirée. Il n’était plus utilisé par le helper en interne. Il était peu utilisé dans le monde des utilisateurs de code, et ne correspondait plus aux objectifs du helper.

— next() n’a plus les options “class”, ou “tag”. Il n’a plus d’arguments désactivés. A la place, les templates sont utilisés.

— prev() n’a plus les options “class”, ou “tag”. Il n’a plus d’arguments désactivés. A la place, les templates sont utilisés.

— first() n’a plus les options “after”, “ellipsis”, “separator”, “class”, ou “tag”. — last() n’a plus les options “after”, “ellipsis”, “separator”, “class”, ou “tag”.

— numbers() n’a plus les options “separator”, “tag”, “currentTag”, “currentClass”, “class”, “tag”, “ellipsis”. Ces options sont maintenant accessibles à travers des templates. Le paramètre $options doit maintenant être un tableau.

— Les placeholders de style %page% ont été retirés deCake\View\Helper\PaginatorHelper::counter(). Utilisez les placeholders de style {{page}} à la place.

— url() a été renommée en generateUrl() pour éviter des clashes de déclaration de méthode avec Helper::url().

Par défaut, tous les liens et le texte inactif sont entourés d’elements <li>. Ceci aide à écrire plus facilement du CSS, et améliore la compatibilité avec des frameworks populaires.

A la place de ces diverses options dans chaque méthode, vous devez utiliser la fonctionnalité des templates. Regardez les informations de la documentationTemplates de PaginatorHelpersur la façon d’utiliser les templates.

TimeHelper

— TimeHelper::__set(), TimeHelper::__get(), et TimeHelper::__isset() ont été retirées. Celles-ci étaient des méthodes magiques pour des attributs dépréciés.

— TimeHelper::serverOffset() a été retirée. Elle entraînait de mauvaises utilisations mathématiques de time.

— TimeHelper::niceShort() a été retirée.

NumberHelper

— NumberHelper::format() nécessite maintenant que $options soit un tableau.

SessionHelper

— SessionHelper est déprécié. Vous pouvez utiliser $this->request->session() directement, et la fonctionnalité de message flash a été déplacée dansFlashà la place.

JsHelper

— JsHelper et tous les moteurs associés ont été retirés. il pouvait seulement générer un tout petit nombre de code Javascript pour la librairie sélectionnée et essayer de générer tout le code Javascript en utilisant le helper devenait souvent difficile. Il est maintenant recommandé d’utiliser directement la librairie Javascript de votre choix.