SpeedPHP 3 est passé de la prise en charge uniquement de MySQL/Smarty à la prise en charge de plusieurs types de bases de données ainsi que de plusieurs moteurs de modèles et moteurs de mise en cache de données.
SpeedPHP 3 renforce et améliore la plupart des fonctions et de l'architecture d'origine, atteignant un équilibre entre rapidité, légèreté et facilité d'extension.
SpeedPHP 3 a corrigé tous les bugs et erreurs depuis SpeedPHP2, et sa stabilité a atteint un nouveau niveau.
La mise à niveau de SpeedPHP version 2 vers SpeedPHP version 3 est très simple et ne nécessite que les étapes suivantes :
Téléchargez les fichiers SpeedPHP 3.
Supprimez les fichiers SpeedPHP 2 d'origine et remplacez-les par des fichiers SpeedPHP 3.
Pour l'application SpeedPHP 2 d'origine, vous devez ajouter la fonction spRun(); au bas du fichier d'entrée afin de démarrer l'application.
Les fichiers HTML statiques générés par le spHtml d'origine doivent être supprimés et le dossier temporaire (généralement le répertoire tmp) doit être supprimé et régénéré.
La zone de saisie du mot de passe crypté dans le spAcl d'origine est devenue une extension indépendante dans SpeedPHP 3. Veuillez vous rendre dans la section d'extension du forum SpeedPHP pour télécharger la nouvelle extension md5password (la zone de saisie du mot de passe crypté d'origine) à installer et à utiliser.
Comment utiliser SpeedPHP 3 :
L'utilisation de SpeedPHP 3 est fondamentalement la même que celle de SpeedPHP deuxième édition, donc le manuel de SpeedPHP deuxième édition peut également être utilisé sur SpeedPHP 3.
Diverses instructions de configuration de base de données Instructions de paramètres du moteur de modèle Instructions de configuration du cache Utilisation simple du moteur de modèle rapide Présentation de nouvelles fonctionnalités :
1. Prend en charge plusieurs types de bases de données : MySQLi, SQLite, Oracle, MsSQL, PDO, etc.
2. Ajoutez la version de branche SAE cloud computing SAE et la version de branche GBK (exclusivement pour la plateforme de cloud computing Sina).
3. Prend en charge plusieurs moteurs de modèles : Smarty, Template Lite, speedy, etc.
4. Prend en charge plusieurs mécanismes de mise en cache : Memcache, Xcache, APC, eAccelerator, etc.
5. Améliorez la structure du pilote de la base de données et du moteur de modèle, améliorez la structure logique du contrôleur et de la classe d'affichage, rendez-la plus raisonnable et économisez davantage de ressources.
6. De nombreuses fonctions originales ont été renforcées, la fonction statique de génération spHTML a été améliorée et le mode URL statique a été amélioré.
7. Ajoutez spRun, spDB, replace, affectéeRows, runSql, escape,
8. De nombreux bugs depuis la sortie de la deuxième version de SpeedPHP ont été corrigés et la stabilité a été grandement améliorée.
9. Pour maintenir une configuration d'application cohérente, les membres SP2 doivent uniquement ajouter spRun au fichier d'entrée.
10. Restez simple, facile à apprendre et léger.
Journal des modifications
L'extension UrlRewrite a été mise à jour, le mappage contrôleur/action a été ajouté, le masquage principal/index a été supprimé et le masquage des paramètres peut être défini.
Ajout de la fonction membre d'échappement pour remplacer __val_escape pour le filtrage des chaînes et correction du mode de valeur du modèle. Si la valeur est fausse, elle ne sera pas envoyée au modèle. Cela peut s'adapter au défaut selon lequel la boucle de Smarty ne peut pas déterminer si une valeur existe.
Modification de la logique de traitement de la fonction membre de remplacement de spModel pour éviter d'ajouter de nouveaux enregistrements par erreur lorsqu'il n'y a aucune modification de données.
Optimisez le mode de sortie automatique des pages, la sortie automatique est désormais gérée par spController.
Correction d'un problème d'invite dans la fonction d'importation. Correction de la façon dont les valeurs nulles sont gérées dans le pilote. Suppression des instructions d'enregistrement d'exécution SQL redondantes de certaines bases de données. Correction des pilotes Oracle et MsSQL. Correction d'une erreur dans le pilote SQLite. Correction de l'erreur selon laquelle le pilote pdo ne pouvait pas obtenir de données.
La fonction __val_escape de spModel est modifiée pour juger les valeurs nulles, les nombres, etc. spCache est défini comme une classe affiliée à spModel à usage unique. Semblable à spVerifier, elle ne peut pas être appelée plusieurs fois. Supprimez les paramètres non valides de spLinker. Résolvez le problème dans la fonction getTable du pilote mssql. code de l'objet de vue instancié dans le constructeur spController Déplacé vers spRun.
Correction du traitement logique de la configuration 'url_path_base' et correction du problème de traitement du nom de table en limite dans le pilote mssql.
Le framework SpeedPHP rejoint le fork de la version de l'environnement cloud computing SAE
Le framework SpeedPHP a ajouté une branche de la version GBK et révisé les informations de copyright dans les fichiers de code du framework SpeedPHP.
spModel ajoute une méthode de remplacement pour mettre à jour les enregistrements qui remplissent les conditions. Si l'enregistrement n'existe pas, un nouvel enregistrement sera ajouté.
Correction de la logique d'effacement des données du pager de spPager. Correction de la logique de la fonction de spArgs qui déterminera si la variable existe et si la longueur de la valeur de la variable est supérieure à 0.
spError enregistrera les informations sur l'erreur à l'aide de error_log dans l'environnement Release.
Protection de l'invite d'erreur de l'initialisation de session_start. Logique de génération spHtml optimisée. Ajustement de la méthode et de la logique d'invite spHtml. Correction de la manière d'enregistrer les fonctions d'affichage. Il peut prendre en charge l'objet, le nom de classe et le nom de fonction en tant que descripteurs enregistrés. Ajustement de la méthode d'invite et de la logique de spHtml pour supprimer les paramètres inutiles url_getter et url_setter en HTML et utiliser directement les fonctions membres de spHtml.
Correction de la valeur de retour de __val_escape étant nulle.
spModel ajoute une méthode runSql. runSql remplacera la requête pour exécuter les instructions SQL. La méthode de requête est conservée pour des raisons de compatibilité ascendante, mais il est recommandé d'utiliser la méthode runSql avec une signification plus claire.
spModel ajoute la méthode affectéeRows() pour obtenir le nombre d'enregistrements affectés par les opérations de mise à jour, de création et autres.
La fonction spRun est ajoutée pour séparer le processus principal speedphp et les deux étapes d'exécution du code utilisateur, de sorte que certains codes d'opération qui nécessitent des bibliothèques de classes mais avant l'exécution du code utilisateur puissent être ajoutés. Parallèlement, lors de la mise à niveau vers cette version du framework, vous devez apporter une modification au fichier d'entrée : dans le fichier d'entrée (généralement index.php) : require(SP_PATH."/SpeedPHP.php"); ligne, ajoutez l'appel de fonction spRun( );
La variable pilotée par la base de données conn est modifiée en public
Améliorez la méthode de champ de spHtml pour les paramètres, utilisez json_encode pour remplacer la sérialisation moins efficace et strictement typée, afin que les paramètres de la page générée puissent être plus libres et efficaces. Cependant, en même temps, dans le code existant mis à niveau vers cette modification, il faudra régénérer les fichiers HTML statiques.
Lorsque la configuration url_path_base par défaut est vide, le fichier d'entrée est /index.php
Correction des erreurs typographiques dans la classe spAccessCache. Ajout de la configuration sp_notice_php. Les développeurs peuvent personnaliser le programme d'invite d'erreur indiquant que la méthode spContrller est introuvable. Protection du message NOTICE généré lorsque le tableau de configuration spConfigReady a été écrasé. problèmes de nom d'objet enregistrés par la fonction de modèle et les ont supprimés. Fonctionnalité expérimentale « Zone de saisie du mot de passe crypté ».
La classe spAccessCache prend en charge l'extension de la fonction spAccess avec davantage de méthodes de mise en cache sous une forme étendue. Actuellement, les types de pilotes de cache pris en charge par spAccessCache sont les suivants : Cela permet aux développeurs de disposer d'une solution de moteur de modèles simple et rapide en plus des moteurs de modèles tels que Smarty.
Ajout des classes de pilote de base de données db_pdo, db_pdo_mysql, db_pdo_sqlite pour prendre en charge l'interface de base de données PDO. Actuellement, les liens PDO mysql et sqlite sont pris en charge et ajoutés à la classe de pilote de base de données db_sae MySQL pour être ajoutés à la classe de pilote de base de données db_oracle. les types de bases de données sont pris en charge pour être ajoutés à la classe de pilote de base de données db_sqlite, prennent en charge le type de base de données SQLite pour rejoindre la classe de pilote de base de données db_mssql, prennent en charge le type de base de données MSSQL pour rejoindre la classe db_mysqli, prennent en charge le type de pilote de base de données MySQLi, modifient la base de données mysql. nom du pilote à db_mysql, ajoutez la méthode de formatage limite, modifiez la méthode d'instanciation dans le constructeur db_mysql et ajoutez la prise en charge de mysql. Le mode lien long de la base de données est ajouté au fichier de bibliothèque de classes TemplateLite. Les deux variables $tbl_name et $_db sont remplacées par. public.Le constructeur de spModel est réécrit pour prendre en charge le pilote de plusieurs types de bases de données. Une fois les données de pagination obtenues, elles seront supprimées, ici cela ne causera pas de confusion dans les données de pagination suivantes. Modification de la façon dont les instructions SQL implémentent la logique de limite pour résoudre le problème selon lequel certains types de bases de données ne peuvent pas prendre en charge la syntaxe de limite.
En conjonction avec spController, l'instance du moteur de modèle est modifiée. Amélioration de la manière d'attribuer des valeurs au pilote du moteur de modèle pour effectuer un traitement tolérant aux pannes des fonctions affiliées au modèle afin de prendre en charge les moteurs de modèles qui ne peuvent pas enregistrer les fonctions de modèle. Améliorez la méthode de lecture réseau de spHtml pour éviter le problème de l'impossibilité de lire les fichiers mais de la génération de pages HTML vierges. Ajoutez la série CURL de méthodes de lecture réseau à utiliser lorsque file_get_contents ne peut pas lire les données réseau. Améliorez l'invite de file_get_contents et détectez si l'environnement PHP interdit la lecture réseau en cas d'échec de la lecture réseau. Limite spHtml à générer uniquement des fichiers HTML dans le cadre de APP_PATH. Correction de problèmes de logique dans les fonctions de lecture et de génération d'URL de spHtml.
Les variables du moteur de modèle de spController ont été redéfinies pour prendre en charge plusieurs moteurs de modèle. Correction d'un problème de lecture de la fonction __get. Correction du problème selon lequel lorsque spArgs obtient la valeur, la valeur par défaut ne peut pas être 0.
Modification de la valeur par défaut de la configuration db_driver_path et ajout de la fonction spDB. spDB peut obtenir un raccourci en utilisant simplement la sous-classe spModel et opérer directement sur la table (propriété de spModel) sans la définition de la sous-classe spModel. Supprimez l'esperluette de spConfigReady, corrigez le problème de chemin de sortie automatique du modèle, modifiez l'emplacement du pilote mysql, transférez le répertoire Smarty et transférez le pilote mysql, supprimez le fichier spDB et la fonction spDB sera placée dans spFunctions en tant que fonction principale dans l'avenir.
Ajoutez le répertoire Drivers et placez la classe de pilote du programme principal. Lorsque la vue est fermée, vous pouvez toujours utiliser $this->variables et $this->display pour l'attribution de modèles. Cependant, la syntaxe de son modèle doit être une syntaxe PHP ordinaire.
Développer