Maison >développement back-end >Problème PHP >Sur quoi devriez-vous vous concentrer pour apprendre en PHP ?
1. Explication de mvc
(1)mvc est un modèle, une vue, un contrôleur, c'est un modèle et un A ; L'idée de programmation est de séparer l'entrée, la sortie et le traitement des données d'une application et de décomposer le couplage.
(2)A.. Vue, collecte et traitement des données, ainsi que les demandes des utilisateurs, à l'exclusion des processus métier, smarty implémente le modèle B., reçoit les données et les demandes, termine le traitement des données associées, renvoie les données, « boîte noire » Opération, noyau, implémentation de la bibliothèque de classes PHP C. Contrôleur, implémentation de la tâche, appel de divers composants en fonction des données entrantes pour terminer la tâche, transmission des résultats à l'affichage de la vue et réalisation du processus métier.
(3) Avantages de mvc : Il permet aux développeurs de se concentrer uniquement sur une certaine couche, il est facile de remplacer l'implémentation de l'ancienne couche par la nouvelle, faible dépendance, réutilisabilité, standardisation, évolutivité et maintenabilité .
2. Le principe de mise en œuvre de la classification infinie.
A. Trois types : (1) Méthode récursive : Le nombre de requêtes est très important et n'est pas recommandé. (2) ajax : Cliquez sur qui vérifier la sous-colonne, puis cliquez sur la sous-colonne puis vérifiez la sous-colonne. Cliqué plusieurs fois et vérifié plusieurs fois (3) Lien de sang : Trouver tous les parents en même temps. Le chemin de la colonne nouvellement ajoutée = le chemin de l'ID parent - l'ID de la colonne parent.
B. Requête : select id,name,pid,path,concat(path,'-',id) as bpath from shop_menu order by bpath;
3. Comment concevoir ou configurer Mysql pour obtenir une utilisation efficace
(1) Conception de base de données, eh bien structuré, permettant une redondance partielle. (2) Les attributs de champ les plus appropriés doivent être NOT NULL si possible, de sorte qu'il n'est pas nécessaire de comparer les valeurs NULL lors de l'interrogation. (3) Conception de l'architecture du système, hachage de tables, hachage massif de données en plusieurs tables, clustering et séparation des requêtes et des écritures. (4) SQL efficace pour améliorer l’efficacité. (5) Utilisez la jointure au lieu de la sous-requête. (6) Utilisez union pour remplacer les tables temporaires créées manuellement. (7) Tous les résultats sont obligatoires, seules les données nécessaires sont obtenues à partir de la base de données. (8) Utilisez différents moteurs de stockage si nécessaire. Par exemple, Innodb peut réduire les blocages et HEAP peut améliorer la vitesse des requêtes. (9) Utiliser la technologie de mise en cache des transactions, des clés étrangères et des index (10).
4. Comment empêcher l'injection SQL
(1) Filtrer les mots-clés courants des opérations de base de données : sélectionner, insérer, mettre à jour, supprimer et, *, etc., ou pass Fonction système : filtre par addlashes (contenu à filtrer). (2)Fichier de configuration PHP Register_globals=off;//L'enregistrement des variables globales est désactivé. (3) N'omettez pas les petits guillemets (sur l'onglet) et les guillemets simples lors de l'écriture de SQL. (4) Compétences élevées en matière de dénomination de bases de données, nommez certains champs importants en fonction des caractéristiques du programme et utilisez des méthodes courantes pour les encapsuler qui ne sont pas faciles à deviner afin d'éviter d'exposer directement SQL. (6)Mode sans échec PHP Safe_mode=on;. (7) Activez Magic_quotes_gpc=on ; convertit automatiquement les instructions SQL. (8) Fermez le message d'erreur et écrivez-le dans le journal système. (9) Utilisez le prétraitement mysqli ou pdo.
6. Pour un système de connexion utilisateur sécurisé, veuillez faire attention au
(1) cryptage MD5 (mot de passe + chaîne). (2) Le nom du formulaire de connexion n'est pas le même que le champ pour éviter d'exposer les champs de la table. (3) Utilisez des noms de table, des noms de champs et des mots de passe difficiles à deviner. (4) Vérifiez la connexion avec le code de vérification pour éviter le craquage par force brute. (5) Vérifiez si les données soumises proviennent de ce site Web. (6) Utilisez le prétraitement dans la partie base de données du code de traitement post-connexion pour effectuer un filtrage afin d'empêcher l'injection SQL.
Tutoriel recommandé : Tutoriel vidéo PHP
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!