Chère Communautée Grafikart,

Je m'interesse beaucoup à la POO en PHP que j'ai découverte en suivant les deux formations "La POO en PHP" et "Mise en pratique de la POO en PHP".

Je ne suis pas développeur par métier (je suis avocat) mais plutôt par intérêt et par jeu.

Je me suis donc amusé à refaire un site avec intégration d'un processus de paiement tel que Stripe, le tout basé sur le framework développé et expliqué dans la formation précitée.

Malheureuse, j'ai atteint mes limites sur la compréhension du fonctionnement du framework car je cherche aujourd'hui à ajouter un système de requêtes en AJAX de sorte à ce que, s'il s'agit d'une requête AJAX, il faudrait retourner un JSON au lieu de retourner une vue.

Néanmoins, je ne sais pas où dois-je implémenter une telle fontion (par exemple " isAjax() ") dans le framework, ni la logique applicative à suivre (mettre en place un controller spécifique ? une route spécifique ? ...).

Je ne demande absolument pas la solution servie sur un plateau d'argent, cependant un indice de la part de cette belle communauté me serait fort utile.

Je vous en remercie grandement.

Signé : un avocat qui s'intéresse à autre chose que des lettres.

4 réponses


Alors pour l'ajax, ca se passe en JS :)

Ton framework si c'est un framework PHP c'est un framework back end, je suppose que c'est Synfony ou Laravel, pour l'ajax tu as deux solutions, soit mettre du js dans ta vue (c'est pas un hack, c'est une facon normale de faire ;)), soit utiliser des component Vue ou React si c'est un process complexe ^^

Pour synfo regardes dans la doc, pour laravel tu places un @stack('scripts') dans ton layout, et dans la vue de la page de l'ajax tu fais:

@push('scripts')
    <script>
        // Ton AJAX
    </script>
@endpush
Elrohan
Auteur

Merci Popotte pour ta réactivité.

Il ne s'agit ni de Synfony, ni de Laraval, ni de CakePHP mais bien du framework développé par Jonathan dans son tuto "Mise en pratique de la POO en PHP".

Je pense avoir une idée pour intégrer la condition :
"'if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') '"

Ce serait dans le CrudAction.

Ah d'accord, alors c n'est pas un framework, c'est une architecture de PHP objet :p

Alors ma reponse reste la même pour ce qui est d'envoyer une requete AJAX, par contre le fait de retourner un JSON depuis PHP alors ta méthode est bonne ;)

Je te conseille de definir dans un fichier à part pour ranger tes conditions

definitions.php

define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');

(Et oublies pas d'inclure le fichier en tête de ton index.php x))

Comme ça à chaque fois que tu voudra vérifier si c'est de l'ajax tu pourras faire

if(IS_AJAX)

Plus propre :)

Elrohan
Auteur

Super merci beaucoup !

Aïe aïe ces rookies qui n'utilisent pas les bons termes... Framework au lieu d'architecture objet :D

Merci pour l'idée des définitions. Je vais faire comme tu dis.