Fork me on GitHub

Rapport de message :*
 

Re: sqlfile dans xoopsversion.php

Titre du sujet : Re: sqlfile dans xoopsversion.php
par mage sur 20/12/2020 11:31:13

Je penses que tu n'as pas compris de quoi je parles. Tu ne peux pas avoir de différence de performance avec la bdd car le résultat final est identique. C'est la manière d'y arriver

Je vais prendre un exemple parlant avec le résultat suivant:

Citation :
SELECT o.*, l.* FROM xmtutorial_tutorial AS o LEFT JOIN xmtutorial_category AS l ON o.tutorial_cid = l.category_id ORDER BY tutorial_weight ASC, tutorial_title ASC LIMIT 0, 15



Une écriture standard va exécuter une requête sql à l'aide de la fonction:

$sql "ma requête";

$GLOBALS['xoopsDB']->queryF($sql);


Dans le cas des classes le code est le suivant:
// Criteria
        
$criteria = new CriteriaCompo();
        
$criteria->setSort('tutorial_weight ASC, tutorial_title');
        
$criteria->setOrder('ASC');
        
$criteria->setStart($start);
        
$criteria->setLimit($nb_limit);
        
$tutorialHandler->table_link $tutorialHandler->db->prefix("xmtutorial_category");
        
$tutorialHandler->field_link "category_id";
        
$tutorialHandler->field_object "tutorial_cid";
        
$tutorial_arr $tutorialHandler->getByLink($criteria);


Ce code va générer exactement la même requête donc tu ne peux avoir de performance meilleure ou moins bonne par rapport à la bdd.

Cette méthode est plus lourde de prime à bord mais permet de mettre en place une structure très souple pour faire évoluer son module. Je ne veux pas te convaincre car si tu préfère la première méthode, elle est parfaitement adaptée et marche très bien.
Cette méthode apporte un niveau de sécurité bien plus important dans le cas de l'écriture dans la bdd car les données sont filtrées automatiquement avant insertion.
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

31 Personne(s) en ligne (23 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 31 | Plus ...