CakePHP permettra de réduire les coûts de développement et d'aider les développeurs à écrire moins de code lors de la création de leurs applications, en utilisant des modèles de conception communément connus comme MVC et ORM.
Le cadre est très bien documenté, fait qui a aidé de nombreux développeurs passer à elle dans le passé.
Sa structure simple a aidé à fournir des applications plus rapidement qu'auparavant, ce qui leur permet le contrôle en profondeur sur la structure de l'application et de ses données.
Si une ou plusieurs caractéristiques ne sont pas couverts par le cœur de CakePHP, ne paniquez pas et il suffit de cocher pour l'un des composants gérés par la communauté.
Actuellement CakePHP est considéré comme l'un des cadres de PHP haut autour, dans la même catégorie que d'autres outils célèbres comme Symfony, Zend, Slim, ou Laravel.
Qu'est-ce que nouveau dans cette version:
Nouveau dans CakePHP 3.2.1 (31e Janvier, 2016)
Ce qui est nouveau dans la version 3.2.6 / 2.8.3:
- < li> Ces rejets corriger une faiblesse dans la validation :: UploadedFile () où les entrées de fichiers peuvent être manipulés pour accepter des fichiers existants sur le serveur. Cela pourrait conduire à un attaquant de pouvoir accéder à des fichiers système sensibles. Si vous utilisez Validation :: UploadedFile () et ne pas vérifier mime-types ou veiller à ce que le dossier était en fait un fichier téléchargé, vous devez mettre à jour.
Ce qui est nouveau dans la version 3.2.5 / 2.8.2:
- Une régression imbriqué routes préfixe étant incorrectement infléchi a été corrigé.
Ce qui est nouveau dans la version 3.2.3 / 2.8.0:
- Une régression imbriqué routes préfixe étant incorrectement infléchi a été corrigé.
Ce qui est nouveau dans la version 3.2.1 / 2.8.0:
- Une régression imbriqué routes préfixe étant incorrectement infléchi a été corrigé.
Ce qui est nouveau dans la version 3.1.5 / 2.7.7:
- Lazy Eager Loading
- D'autres méthodes de filtrage
- variables de modèles supplémentaires dans les modèles
- Mailers
- Refreshed application par défaut
- Shell Helpers
Styles
Ce qui est nouveau dans la version 3.1.0 / 2.7.3:
- Lazy Eager Loading
- D'autres méthodes de filtrage
- variables de modèles supplémentaires dans les modèles
- Mailers
- Refreshed application par défaut
- Shell Helpers
Styles
Ce qui est nouveau dans la version 3.0.7 / 2.6.7 / 1.3.20:
- AssetFilter maintenant prend en charge une option de cacheTime pour contrôler les en-têtes de cache.
- Fonctionnalités RulesChecker pour l'ORM ont été séparés en un trait. Cela rend les règles plus faciles à réutiliser dans d'autres sources de données.
- EventDispatcherInterface a été ajouté. Cela vous permet d'utiliser instanceof au lieu de method_exists lors de l'essai si un objet prend en charge les événements.
- Une sortie de la console classe de souche de test a été ajouté pour aider à faire des applications de la console de test plus facile.
- Collection :: extract () supporte maintenant le joker {*} lors de l'extraction des propriétés.
- Commandes Console et tâches supporte maintenant la possibilité de remplacer tous les fichiers, en supprimant la nécessité d'y répondre à chaque fichier.
- Tous les tests passent sur PHP7.
Qu'est-ce que les nouvelles dans la version 3.0.4 / 2.6.4 / 1.3.20:
- supprime Cascading sur les associations avec des alias personnalisés ne devrait plus échouer.
- XmlView supporte maintenant _xmlOptions. Cela correspond au comportement de JSONView.
- EntityTrait :: extractOriginal () se comporte désormais systématiquement avec l'extrait (). Les deux méthodes comprennent maintenant toutes les propriétés nommées, au lieu de simplement les propriétés inchangées. Une nouvelle méthode extractOriginalChanged () peut être utilisé pour extraire uniquement les valeurs d'origine des attributs modifiés.
- les paramètres de chaîne de requête sont maintenant correctement pris en charge dans IntegrationTestCase.
- Collection :: isEmpty () and Cake & # x5C; ORM & # x5C;. Query :: isEmpty () a été ajouté
- Les formulaires peuvent désormais être créés sans l'attribut action.
- Accès aux données de l'entité est maintenant plus efficace. Les entités mettent en cache le résultat de mesure accesseurs et invalider le cache lorsque les propriétés sont modifiées ou supprimées.
- CsrfComponent ne parvient pas à invalider les demandes qui manquent à la fois le jeton CSRF, et les données CSRF de poste.
- Lorsque triage des données de demande, les entités vides pourrait par des méthodes de validation de dérivation avec des charges utiles de JSON soigneusement créés. validations RulesChecker ne seraient pas contournés par ces entités vides.
Ce qui est nouveau dans la version 2.6.2 / 1.3.20 / 3.0.0-RC2:
- TextHelper liens plus doublement urls commençant par //
- génération de fichier POT ne comprend plus le «POT-Creation-Date 'en-tête. Il conduit souvent à un bruit inutile dans le contrôle de version.
- rendu d'exception fixe lorsque ExceptionRenderer a soulevé une erreur.
- erreurs de préavis dans PaginatorHelper quand aucun modèle a été mis en ont été fixés.
- ConsoleOutput ne génère pas d'erreurs lorsqu'il est utilisé avec php:. // Output
- Rediriger les réponses utilisent maintenant 302 comme code de statut par défaut au lieu de 200.
- Plugin bake génère maintenant des répertoires corrects pour Vues / Layouts.
- FormHelper ne crée plus maxlength valide les attributs pour les colonnes décimales lorsque le type de texte est forcé.
Ce qui est nouveau dans la version 2.6.0:
- stackTrace () a été ajoutée une enveloppe de commodité fonction pour débogueur de la trace (). Il echos directement comme debug () fait. Mais seulement si le niveau de débogage est activé.
- ConsoleOptionParser :: removeSubcommand () a été ajouté.
- Shell :: écrasement () a été ajoutée pour permettre de générer des barres de progression ou pour éviter la sortie trop de lignes en remplaçant le texte qui a déjà été délivré à l'écran.
- Lorsque vous utilisez comportement Acl, parentNode du modèle () méthode obtient maintenant le type (Aro, Aco) passé comme premier argument:. $ Model - & # X3e; parentNode ($ type)
- Schema avec MySQL supportent désormais une après clé lors de l'ajout d'une colonne. Cette clé vous permet de spécifier quelle colonne le nouveau devrait être ajouté après.
- Model :: save () a l'option atomique back-porté de 3,0.
- CakeRequest :: param () peut maintenant lire les valeurs en utilisant: ref:. Hash-path-syntaxe comme les données ()
- CakeRequest:. SetInput () a été ajouté
- HttpSocket :: tête () a été ajouté.
- Vous pouvez maintenant utiliser l'option de protocole pour remplacer le protocole spécifique à utiliser lors d'une demande.
- CakeTime :: timeAgoInWords () supporte maintenant strftime formats de date () compatibles absolus. Cela contribue à rendre localisant fois formatés plus facile.
- CakeTime :: timeAgoInWords () supporte maintenant une option de relativeStringFuture. Cette option est une chaîne compatible printf pour délivrer les futurs formats de date de temps relative. Cela contribue à rendre localisant fois formatés plus facile.
- Hash :: get () soulève maintenant une exception lorsque l'argument de chemin est invalide.
- Hash :: nid () soulève maintenant une exception lorsque les résultats de l'opération de nidification dans aucune donnée.
- HtmlHelper :: css () avait la possibilité, une fois ajouté. Il fonctionne de la même que l'option une fois pour HtmlHelper :: scénario (). La valeur par défaut est faux de maintenir la compatibilité ascendante.
- L'attribut maxlength va maintenant aussi être appliquée à textareas, lorsque le champ DB correspondant est de type varchar, selon les spécifications de HTML.
- Nouvelles fonctions i18n ont été ajoutés. Les nouvelles fonctions vous permettent d'inclure contexte de message qui vous permet désambiguïser chaînes de message peut-être confus. Par exemple «lire» peut signifier plusieurs choses en anglais, selon le contexte. Le nouveau __x, __xn, __dx, __dxn, __dxc, __dxcn et fonctions __xc permettent d'accéder aux nouvelles fonctionnalités.
- AuthComponent déclenche maintenant l'événement Auth.afterIdentify après avoir identifié avec succès un utilisateur.
- Modèle :: afterFind () utilise désormais toujours un format cohérent pour afterFind (). Lorsque $ primaire est fausse, les résultats seront toujours situés sous $ data [0] [ 'ModelName']. Vous pouvez régler le $ this - & # X3e;. UseConsistentAfterFind = false pour restaurer le comportement d'origine si votre application repose sur l'ancien comportement
- Valeur Configurer I18n.preferApp peut maintenant être utilisé pour contrôler l'ordre des traductions. Si vrai, il préférera les traductions d'applications sur les celles de tous les plugins.
migrations
Ce qui est nouveau dans la version 2.5.7:
- Décharger le modèle d'adresse e-mail dans CakeEmail fonctionne désormais documenté.
- outils de console sortent maintenant non nulle en cas d'échec.
- inflexion fixe de noms de classes de schéma dans SchemaShell.
- SQLite datasource analyse correctement les noms des champs de requêtes contenant des sous-requêtes.
- TreeBehavior travaille maintenant avec des modèles qui ont une propriété de l'ordre défini par défaut.
- HttpSocket gère gracieusement les réponses CHUNKED invalides maintenant.
- HttpSocket honore maintenant la possibilité version config, permettant HTTP 1.0 connexions à effectuer.
- Postgres datasource travaille maintenant avec des séquences définies schémas extérieurs.
- CakeEmail plus des bandes de lignes qui ne contiennent que '0'.
- Fix plus segfaults dans le moteur de cache Memcached.
- file_map Cached ne se régénère à chaque demande.
- CakePHP est désormais compatible avec le package phpunit.phar.
Ce qui est nouveau dans la version 2.5.6:
- CakeSession :: read () renvoie null sur tous les cas d'échec.
- Modèle :: isUnique () fonctionne maintenant comme validateur pour de multiples domaines.
- CakeTestCase :: getMockForModel () injecte maintenant la source de données de test pour tous les noms de connexion.
- Digest Auth gère maintenant et,? dans les données Digest.
- FormHelper ne génère plus une entrée cachée pour les entrées de cases à cocher mulitple handicapés.
- Dossier :: create () gère maintenant des chemins relatifs.
- Stack trace contexte plus maintenant la sortie sur les exceptions.
- Les erreurs fatales incluent maintenant des traces empiler si xdebug est activée.
- champs virtuels remplacent plus correctement dans les clauses.
Ce qui est nouveau dans la version 2.5.5:
- applications console ne couleurs sortie s'il n'y a pas TTY.
- Les fichiers ne sont pas écrasés par dossier :: copy () lorsque l'indicateur SKIP est utilisé.
- Hash :: insert () et Hash :: get () maintenant la poignée 0 comme le premier élément de chemin.
- documentation de l'API améliorée.
- Correction d'une situation où Hash :: remove () serait de supprimer les données de manière incorrecte.
- colonnes UUID sont maintenant reflétés correctement par PostgreSQL.
- CakeEmail :: reset () réinitialise maintenant le modèle de courrier électronique.
- Hash :: expand () et Hash :: merge () sont maintenant beaucoup plus rapide.
Ce qui est nouveau dans la version 2.5.4:.
- Amélioration des contrôles SMTP auth de réponse
- En-têtes sont maintenant correctement envoyé lors de l'utilisation des éléments de ajaxLogin avec AuthComponent.
- Les erreurs dans les fichiers de schéma de l'échantillon ont été corrigées.
- SecurityComponent ne met plus les URL contenant un espace dans le rappel de blackhole.
- la validation de l'année accepte maintenant les dates de 1800 et plus tard.
- RequestHandlerComponent sera unserialize corps de requête sur les demandes de suppression.
- Les transactions sont maintenant annulées dans saveAssociated / saveMany lorsque des exceptions sont élevés.
- Modèle :: afterFind () est plus appelé deux fois pour les associations hasOne / belongsTo. Il est maintenant appelée une seule fois, avec le format d'alias de modèle.
- Rejoignez bâtiment accepte désormais aucune condition. Lorsque les jointures sont créées sans conditions une croix sera créée à moins où les conditions limitent correctement la requête.
- SchemaShell gère désormais correctement les --file et les commutateurs --name.
- les fichiers de schéma générés ont des noms plus prévisibles maintenant. Au lieu d'utiliser la valeur APP_DIR, ils seront toujours utilisés 'App' pour les fichiers de schéma d'application.
- Exceptions résultant des conditions de course dans FileEngine sont maintenant ignorés.
- CakeTime retourne maintenant '' sur une entrée non valide.
- Fonctions de traduction formater correctement placeholders lorsque la première valeur est nulle.
Ce qui est nouveau dans la version 2.5.3:
- TextHelper :: autoLinkEmail () relie désormais les adresses électroniques adjacent à éléments HTML.
- «recherche» est maintenant pluralisé par Inflector correctement maintenant.
- 'stade' est maintenant pluralisé par Inflector correctement maintenant.
- Le schéma inclus pour les tables ACL comprend maintenant des index pour améliorer les performances.
- cache APCEngine est maintenant compatible avec APCU.
- App :: pluginPath () est obsolète. Vous devez utiliser Plugin :: chemin () à la place.
- API blocs doc ont été améliorées dans de nombreuses classes.
- de validation par email à CakeEmail ont été assouplies. Les deux adresses e-mail avec caractères UTF-8 et les noms de domaine IDN sont généralement livrables mais échouaient filter_var ().
- CakeResponse :: partageable () définit maintenant l'en-tête max-age public.
- Modèle :: getDataSource () commute maintenant correctement la propriété schemaName. Cela corrige une régression introduite dans 2.4.8.
- Validation :: inList () accepte plus les valeurs hexadécimaux pour les contrôles numériques.
- utilisation multi CSRF jetons ont maintenant leur expiration mise à jour à chaque demande.
- h () effectue maintenant mieux.
règles
Ce qui est nouveau dans la version 2.5.2:
- commande de console de gâteau fonctionne maintenant quand CDPATH est utilisé.
- Inflexion de «feedback» est maintenant correcte.
- état incorrect ligne parsing dans HttpSocketResponse a été corrigé.
- Formulaire protection falsification a été corrigé quand contiennent forme des URL multiples paramètres de chaîne de requête.
- Création d'handicapés sélectionner les options ne désactive l'élément select lorsque array (1) est utilisé pour l'option désactivée.
- Trailing routes étoiles peut maintenant être inversée en déroute.
- hashes blowfish âgées sont maintenant acceptées, et peuvent être utilisés avec AuthComponent.
- Un nom d'utilisateur de '0' peut maintenant être utilisé avec AuthComponent.
- docs Amélioration de l'API.
Ce qui est nouveau dans la version 2.5.1:
- Controller :: referer () se comporte correctement lorsque locale URL sont générées.
- TextHelper :: queue () a été restauré.
- FormHelper de sécurité utilisent uniquement le chemin d'accès et d'interrogation des parties d'une URL pour générer des hashs. Cela corrige des problèmes lorsque absolue URL ont été utilisées pour créer des formulaires.
- manquants pages d'erreur de composants ont des chemins corrects maintenant.
- Compatibilité avec PHP5.6 a été améliorée. 2.5.1 contient les modifications suivantes:
- Chargement des données à partir de modèles et leurs associations avec de multiples sources de données fonctionne correctement maintenant. Cela corrige une régression ajoutée dans 2.5.0-beta.
- FormHelper :: postLink () a eu un changement de signature arrière incompatible 2.5.0-dev. Cette méthode est maintenant compatible.
- CakeEmail utilise maintenant le mimetype correct pour les e-mails qui contiennent du texte et html, mais pas de pièces jointes. Auparavant, multipart / mixed a été utilisé qui a causé certains clients à gérer de manière incorrecte des messages électroniques.
jetons
Ce qui est nouveau dans la version 2.5.0:
- Le moteur de cache Redis supporte maintenant unix_socket
- PaginatorComponent ne sera plus faire une trouvaille ( 'count') pour la première page quand il y a moins d'enregistrements que la limite actuelle de la page.
- FormHelper :: postLink () fixe à partir de 2.4.9 ont été fusionnés dans.
- Amélioration de documentation nombreuses API.
- TextHelper :: queue () a été fixé.
- SQLServer :: décrire () échouait n'échoue lorsqu'il est utilisé avec les appareils.
- authentification peuvent être aliasées vous permettant d'utiliser le même adaptateur plusieurs fois avec différentes stratégies de passe de hachage.
adaptateurs
Ce qui est nouveau dans la version 2.4.9:
- FormHelper :: postLink () fonctionne désormais correctement avec SecurityComponent. En 2.4.8 une erreur a été commise qui a abouti à des hashs incorrects générés.
Ce qui est nouveau dans la version 2.4.8:
- SQLServer maintenant correctement ajoute le nom de schéma lors de la description des tables .
- Hash :: extract () peut maintenant correspondre les attributs booléens.
- fclose () erreurs lors de l'utilisation des obus ne devraient plus se produire.
- CakeResponse :: file () lance maintenant une exception lorsque les chemins contiennent '..'.
- ShellDispatcher jette maintenant argv à un tableau. Cela résout les problèmes lorsque la console de gâteau a été appelé à partir d'un SAPI non-cli.
- TextHelper :: autoLink () maintenant des liens correctement urls avec subdomains contenant. '& # X5C; _'
- hashes forme SecurityComponent falsification comprennent maintenant l'URL, y compris la chaîne de requête comme une entrée de hachage.
Ce qui est nouveau dans la version 2.4.7:.
- appareils de base sont désormais inclus dans les packages PEAR
- locale Limbourgeois a été ajouté à L10n.
- MailTransport comprend maintenant la dernière erreur dans l'exception soulevée lorsque le courrier () échoue.
- HtmlHelper :: getCrumbList () prend en charge le paramètre d'échappement maintenant.
- tables Décrire dans les schémas de SQLServer spécifiques fonctionne maintenant correctement.
- docs API améliorées pour plusieurs classes.
- URL sont correctement générées lorsque deux touches de routage commencent par la même chaîne.
- Modèle :: deleteAll () fonctionne correctement lors de l'utilisation des vues MySQL.
- CakeEmail définit le thème sur les aides maintenant.
- entrées cachées générées à la radio (), sélectionnez () et case à cocher () ont la «forme» attribut défini lorsqu'il est fourni.
- Inflexion les mots finissant en «aves» a été améliorée.
- CakeTestCase :: assertTags () fonctionne maintenant beaucoup plus rapide.
- CakeTestCase :: assertTags () exige tous les attributs à vérifier maintenant.
- AclShell :: delete maintenant supprime tous les enregistrements correspondants.
Ce qui est nouveau dans la version 2.4.6:.
- tâche Extract gère entre guillemets les messages de validation correctement
- Modèle :: champ () fonctionne désormais avec des champs traduits avec comportement Translate.
- les tests de base ne font plus partie des paquetages PEAR. Cela résout les problèmes lorsque le paquet de poire est utilisé comme une dépendance de compositeur, et un classmap incorrect a été généré.
- FormHelper :: case à cocher () peut maintenant générer des cases à cocher pour les valeurs vides.
- Postgres peut désormais convertir des champs booléens en entier lorsque vous utilisez SchemaShell.
- Les modifications apportées à la façon dont les ID sont générés pour les entrées de radio ont été annulées. Ces changements ont entraîné des problèmes dans certaines applications.
- documentation de l'API a été amélioré.
- Inverser le routage pour les actions préfixées a été améliorée.
- Configuration temporaire des associations avec :: bindTranslation comportement Translate () sont maintenant correctement non consolidé et restauré.
- les données de compensation avec MemcacheEngine vont maintenant travailler avec plus de 100 dalles.
- Validation :: décimal () fonctionne maintenant avec des flotteurs localisés.
- Les données non valides dans pickers datetime est maintenant correctement traitée.
Ce qui est nouveau dans la version 2.4.5:
- ids DOM générés pour les radios et les cases à cocher doit désormais être sans collision lors de l'utilisation des valeurs non-alphanumériques.
- Le pilote postgres cite maintenant les noms de schéma. Cela résout les problèmes avec des schémas existants en utilisant des caractères spéciaux.
- Traduire le comportement gère désormais correctement les valeurs traduites de '0'.
- Contrôleur de cuisson fournit maintenant une meilleure rétroaction quand aucun contrôleur sont générés.
- datetime ne sélectionner l'année 0 lorsque la valeur sélectionnée est «0000-00-00». Cela améliore la compatibilité avec MySQL.
- Création de schéma avec le paramètre de connexion fonctionne maintenant comme prévu.
- URL ne sont plus deux URL décodée. Cela corrige les données perdues lorsque les paramètres nommés ou segments de chemin contiennent des valeurs qui ressemblent à des données codées URL.
entrées
Qu'est-ce que les nouvelles dans la version 2.4.4:
- TextHelper :: autoLink () gère maintenant les adresses électroniques à l'intérieur des URL correctement.
- Pagination données de demande est définie même lorsqu'un NotFoundException est élevé maintenant.
- Modèle :: deleteAll ne supprimer des enregistrements distincts maintenant.
- Router mapResources () assure maintenant que le préfixe est à la fois avant et arrière slash.
- Une condition de boucle infinie dans CakeSession a été fixé. Cela pourrait être déclenchée en démarrant une session déjà invalidé.
- Hash :: numérique () fonctionne désormais comme prévu avec les nombres négatifs et d'autres valeurs numériques.
- Les «mes» et les formats «YM» pour validation :: Date () ont été assouplies pour permettre aux deux valeurs de l'année 2 et 4 chiffres.
- FormHelper n'inférer types incorrectement lorsque type = case à cocher est fourni.
- Postgres BigInteger clés primaires utilisent désormais correctement le type bigserial.
- FormHelper :: dateTime () gère correctement fois autour de 12:00:00 quand un intervalle est également utilisé.
- Hash :: combiner () lance maintenant des exceptions lorsque les chemins de clés et de valeurs se traduisent par des tableaux de différentes longueurs.
- CakeRequest :: referer () lit plus mal l'en-tête HTTP_X_FORWARDED_HOST.
Ce qui est nouveau dans la version 2.4.3:.
- améliorations API Documentation
- en-têtes longs ne sont plus emballés avec PHP_EOL lors de l'envoi email avec MailTransport. Cela devrait résoudre les problèmes de livraison avec Qmail, et d'autres agents de transport SMTP.
- Modèle :: & # x5C;. _clearCache () A amélioré la performance
- Modèle est maintenant mieux travailler avec le schéma de contenant les noms de colonnes numériques.
- Une exception est maintenant levé quand un bloc d'affichage est ouvert alors qu'il est déjà ouvert.
- SchemaShell n'utilise schema.php comme nom de fichier lorsqu'un paramètre de nom personnalisé est fourni.
- MKV est un type de contenu pris en charge.
- écritures Cookie sont maintenant plus cohérents. Auparavant écrit multi-clé et écritures individuelles ont été traitées très différemment. Fixation de la cohérence d'écriture rend les données de suppression saner et les résultats en moins de biscuits transmis.
- données de tableau vides dans les cookies sont maintenant analysés correctement.
- CakeTime :: dayAsSQL () maintenant correct prend en charge le paramètre de fuseau horaire.
- COUNT (DISTINCT x) requêtes fonctionnent mieux dans SQLServer maintenant.
- des valeurs de séquence Postgres utilisent maintenant les clés primaires personnalisées.
- HtmlHelper maintenant code correctement les URL générées pour les balises META.
- Utilisation FormHelper :: postLink () après avoir créé un formulaire GET fonctionne maintenant comme prévu.
- Modèle :: saveAssociated () gère l'expression correctement les objets maintenant.
Ce qui est nouveau dans la version 2.4.2:
- Sqlite :: truncate () va vérifier que le table de sqlite_sequence existe avant de le modifier.
- Éléments d'étiquetage ont maintenant leur pour les attributs générés correctement pour les entrées de radio.
- documentation de l'API amélioré pour un certain nombre de classes et méthodes.
- TreeBehavior :: récupérer () utilise désormais correctement les conditions de portée.
- Hash :: contains () peut maintenant rechercher des valeurs d'aiguilles contenant nulls.
- boutons radio handicapés sont maintenant générés correctement lorsque les touches d'entiers et de chaîne sont utilisés.
- domaines internationaux sont maintenant acceptés par validation :: url ()
- Inflector gère maintenant «quota» et «courbes» correctement.
- jQueryEngineHelper traite maintenant l'option 'xhr' comme un argument de rappel.
- Bake ajoute maintenant le validateur numérique pour les champs de flotteur.
Ce qui est nouveau dans la version 2.4.1:
- erreurs de préavis lors du chargement de fichiers LC_TIME ne devrait plus se produire .
- TreeBehavior :: generatetreelist () inclut désormais le champ d'application défini dans la propriété actsAs du modèle.
- Support pour readline a été ajouté aux commandes Shell. Si votre environnement prend en charge readline, les touches fléchées ne sera plus une sortie de séquences d'échappement.
- FormHelper :: input () va maintenant utiliser les attributs définis dans la clé de l'étiquette.
- support Inflexion a été améliorée.
- Performance de CakeTime :: timeAgoInWords () a été améliorée.
- signatures de méthode de callbacks de comportement a été corrigé. Si vous utilisez PHP5.4 vous pouvez avoir à mettre à jour les signatures de méthode de vos comportements pour résoudre les erreurs E_STRICT.
- CROSS JOIN fonctionnent correctement maintenant.
- SqlServer :: value () gère désormais correctement les valeurs NULL.
- Cache :: clearGroup () avec FileEngine et aucun préfixe se comporte comme prévu maintenant.
- CakeEmail cite maintenant des alias de messagerie qui contiennent des caractères non-alphanumériques, qui n'ont pas déjà été encodés.
- validation du numéro de téléphone a été simplifié pour fixer les indicatifs régionaux valides détectés comme non valide.
Ce qui est nouveau dans la version 2.3.9:
- Maintenance version 2.3.9 intègre plus de 20 bugfixes et quelques améliorations de performance.
Ce qui est nouveau dans la version 2.3.8:.
- documentation de l'API amélioré
- I18nShell extrait désormais modèle plugin messages de validation correctement.
- ServerShell sert maintenant des actifs statiques avec des paramètres de chaîne de requête.
- ServerShell utilise correctement le paramètre document_root.
- Inflector peut maintenant pluralize mots supplémentaires.
- les réponses de fichiers en utilisant Range HTTP fonctionne maintenant correctement.
- Une régression introduite à AuthComponent en 2.3.7 pour redirectUrl () quand une application est en cours d'exécution dans un sous-répertoire a été corrigé.
Ce qui est nouveau dans la version 2.3.7:
- vues Cached contiennent maintenant leur en-tête Content-Type. Il est recommandé que vous videz vos caches de vues lors de la mise à niveau.
- Retour-Path est désormais exclue sur les emails livrés via SMTP.
- Les temps créés et modifiés automatiques lorsque les enregistrements d'épargne sont maintenant conformes. Il y avait un cas limite où ils pourraient différer d'une seconde.
- Undocumented, caractéristiques non testés autour de la constante de IIS_SERVER ont été supprimés.
- FormHelper :: dateTime () sélectionne maintenant l'année correcte lors de la création d'une entrée qui a un maxYear plus tôt que l'année en cours.
- vues Email calculer maintenant la frontière plus tard dans les questions de fixation de processus de rendu où Voir callbacks pourrait annexer des images ou des pièces jointes inline, résultant en bornes incorrectes.
Ce qui est nouveau dans la version 2.3.4 / 1.3.16:
- CakePHP 1.2.12, 1.3 .16, 2.2.8 et 2.3.4 ont juste été libérés pour résoudre un problème critique avec la façon dont paginations et PaginatorComponent critères poignée de tri.
Ce qui est nouveau dans la version 2.3.3:
- Permettre beforeSave le rappel de comportements à changer la source de données à être utilisés pour la sauvegarde réelle.
- bug de fixation dans FormHelper où le méridien incorrect serait sélectionné pour les champs de temps.
- Problèmes résolus avec les modèles ne sont pas ajoutés lorsque $ utilisations = true.
- l'analyse de l'état fixe dans des cas spécifiques de mysql.
- Ajout du support pour la clé = & # X3e; les cookies de valeur dans HttpSocket.
- Prévention & quot; maxlength & quot; attribuer élément d'entrée de type & quot; nombre & quot;.
- les valeurs timestamp incorrectes fixes lors de l'utilisation CakeTime :: fromString ()
Ce qui est nouveau dans la version 2.3.1:
- Le ServerShell gère désormais correctement plugin et thème actifs.
- FormHelper :: entrées () gère correctement les modèles de plug-in.
- Rétrocompatibilité pour checkboxes HABTM a été amélioré.
- génération de schéma fonctionne mieux avec SQLServer maintenant.
- modèles de cuisson mieux détecte a et appartient à plusieurs associations.
- Sécurité :: rijndael () génère désormais correctement les valeurs iv aléatoires. Il continuera à décrypter des valeurs cryptées avec un iv fixe. Ceci améliore la sécurité des valeurs chiffrées, en empêchant les attaques de dictionnaire sur la clé / valeur.
- Modification des tables avec Postgres renomme correctement les champs maintenant.
- les opérateurs d'expression régulière sont mieux pris en charge dans Postgres.
- Les erreurs fatales affichent désormais lorsque l'encodage gzip est activé.
Ce qui est nouveau dans la version 2.2.1 / 2.1.5:
- Sécurité fix: CakePHP 2.1. 5 et 2.2.1 viennent d'être libérés. Si vous utilisez la classe `xml` de CakePHP, l'utilisateur doit mettre à jour le plus rapidement possible.
Ce qui est nouveau dans la version 2.2.0:
- filtres Dispatcher, d'une manière légère de fixation callbacks comme middleware au cycle de vie dispatcher pour la mise en cache plus facile ou plus rapide des réponses d'action.
- Nouveau api riche pour créer et supprimer des règles de validation à la volée pour les modèles
- pagination transparente pour la coutume trouver types
- Prise en charge des transactions réelles de base de données imbriquées
- Groupes de cache, une belle façon pour les entrées de cache marquage et suppression de masse à l'aide de ces balises
- Amélioration du support d'enregistrement, plusieurs nouvelles méthodes d'utilité ont été ajoutés à CakeLog
- classe Configure peut maintenant dump valeurs stockées dans un stockage persistant
- AuthComponent accepte désormais contenir une clé pour stocker des informations d'utilisateur supplémentaire en session
- Plusieurs améliorations à CakeEmail, comme en-tête personnalisé charset, des thèmes personnalisés, établissant des liens domaine et des aides personnalisées définies au moment de la configuration
Qu'est-ce que les nouvelles dans la version 2.1.3:
- ControllerTestCase n'écrase GET / POST demandes lors de la simulation .
- Xml :: fromArray () gère désormais correctement sur les touches numériques de la séquence.
- et Model :: comportement Translate saveAll () maintenant enregistrer correctement les traductions dans les associations hasMany.
- Router :: queryString () gère correctement les annexant à querystrings existantes.
- Modèle :: saveMany (), saveAssociated () enregistrer correctement les données qui ont été modifiées dans un beforeValidate () callback.
- Voir maintenant correctement ré-utilise l'instance du gestionnaire d'événement de contrôleur.
Ce qui est nouveau dans la version 2.1.2:
- Un changement à CakeSession était revenue pour aider à résoudre les problèmes avec IE8 et sessions se perdre.
- Correction d'un problème avec SQLServer + colonnes booléennes.
- DboSource :: buildJoinStatement () ne pas ajouter le schéma lorsque la table est une sous-requête.
- SessionComponent :: id () retourne toujours le sessionid. Il sera automatiquement démarrer la session si nécessaire.
- vérifier dans le modèle d'expression Méthode () et calculer () est seulement fait en cas de besoin maintenant.
- Le testsuite maintenant utilise toujours la source de données de test. Auparavant, si vous ne l'avez pas inclure tous les appareils et les tests qui nécessitaient la base de données exécuté, la connexion par défaut a été utilisé.
- fragments d'URL ne sont plus urlencoded. Cela a causé des problèmes avec les cadres du côté client comme épine dorsale.
- Le retour de L10n :: get () renvoie toujours la langue.
- HTML échapper pour urls de chaîne sur css () et l'écriture () a été fixé.
- Avertissements de saveAll () avec une donnée de hasMany ensemble vide sont fixés.
- Validation :: décimal () accepte des valeurs telles que 10 et 10,0.
- FormHelper :: postButton () ne fait plus invisible, mais
Ce qui est nouveau dans la version 2.1.1:
- Mise à jour des fichiers .htaccess, assurez-vous que vous mettez à jour les en vous apps aussi bien.
- Set :: sort () trie désormais correctement lorsque vous utilisez {s} .Path
- comportement par défaut Session.cookieTimeout fixe
- Fait classe de validation plus strictes lors de la vérification des valeurs dans la liste.
- urldecode occasion de fuite arguments passe dans l'URL
- Ajout d'une option manquante récursif pour objet DigestAuthenticate.
Ce qui est nouveau dans la version 2.1.0:
- Mise à jour version minimale de PHP exigence de 5.2.8 due à des bogues PHP # 44251 et # 45748
- Paginator helper accepte maintenant une option pour définir la classe par défaut pour le & quot; courant & quot; Lien vers page
- Extension de vues non-existantes lèvera une exception
- Extension de vues à l'aide d'un chemin absolu (par rapport à la vue dossier) est maintenant possible
Commentaires non trouvées