Je te conseille de pousser un peut plus les routes, pouvoir avec des routes customisée ou l'on peut definir des paramètres dans l'url (un peut comme le router laravel) et des routes nommés qui permettent de faire des url propres un peut imageiner une fonction dans les vues $url->route('nomDeLaRoute')
Bonjour tout le monde, j'ai créé un petit framework MVC et j'aimerais avoir vos avis, suggestions pour celui ci .
Le lien github : https://github.com/hugopb82/S-MVC
Merci par avance. Hugo
23 réponses
une fonction dans les vues $url->route('nomDeLaRoute')
Des routes dans les vues ? Oo
Des url :p, c'est vrais que c’était mal dit des routes nommé dans le config et un fonction qui genere les url en fonction dans les vues ;)
Merci pour vos réponses. Je vais regarder pour le routing mais je pense que je le laisserai en option car le but du framwork est d'être ultra simple, voir minimaliste. Après c'est vrai que des urls plus propres ça serait bien. Je vais me renseigner pour composer. J'ai un peu avancé aussi en local mais j'ai pas encore mis à jour le code sur GitHub. Je vois tout ça demain.
Hugo
Salut, je viens de mettre à jour le code et la doc. J'ai ajouté :
- Une classe Config pour pouvoir gérer tout ce qui est identifiant de base de donnée, nom du site...
- Un dossier Lib/ qui gère les librairies externes avec un autoloader
Voilà, je vais voir maintenant pour un router mais j'ai cru comprendre que c'était assez lourd en terme de performances donc si vous avez des conseils je suis preneur!
Hugo
Tu aurais du regarder à Composer avant de créer ce dossier Lib...
Je vais m'y interresser dès que possible. Pourquoi j'ai fait quelque chose de pas propre ?
Disons que c'est devenu la norme pour tout ce qui est dépendance et autoloading...
J'ai dû louper un chapitre, je vais regarder tout ça. Merci!
Salut, j'ai ajouté le support de composer et je suis actuellement en train de bosser sur un router. Si vous avez encore des idées d'améliorations je suis preneur!
Hugo
Salut Hugo
J'ai testé ton framework et franchement il est pas mal.
J'aurais aimé qu'au niveau des routeurs s'il etait possible d'intégré un système genre :
Si l'url vaut : /age/10
Ok je vais essayer de m'y mettre dès demain mais ça m'a l'air quand même complexe :)
Je te remercie pour ton retour positif, ça fait toujours plaisir!
Hugo
Parfait
Fait signe dès que t'integres de nouvelles fonctionnalités.
Salut, je n'ai pas encore eu le temps de bosser sur le router par contre j'ai réglé certains trucs :
- Les dossiers dans Public ne sont plus affichés pour l'utilisateur. (On peut accéder à un fichier mais pas lister un dossier)
- J'ai ajouté la possibilité d'écrire la config au format .ini
- Je dois régler quelques problèmes apparement avec composer, je pense que dans la soirée ça sera fait!
Voilà...
C'est bon j'ai réglé le bug du router (même si je pense que du refactoring ferait du bien...), je passe à composer dès que possible (demain je pense). Après je m'occuperait de la partie Lib du projet parce qu'un framwork sans support natif des bases de données ça craint un peu ^^
Une question : tu sais comment on fait pour que mon répertoire Lib pointe vers un autre dépôt Github???
Salut, j'ai enfin créer le router (merci @balbert). J'ai mis le code à jour sur github (j'ai aussi fait quelques changements au niveau de l'architecture) et donc on peut maintenant déclarer des routes du type :
Voila, il doit encore il y avoir quelques bugs donc si vous en trouvez n'hésitez pas à me contacter.
Hugo
Bonjour @hugopb82,
Je file voir sa tout de suite :)
Bonjour @hugopb82,
Je suis entraint de tester ton framework, le routing repond parfaitemnt à mes attentes.
Concernant les bugs :
dans le ton bootstrap.php à la ligne 45 lorsque t'appelles la methode d'un controller t'utilises ->
Alors que c'est deprecié, tu peux le remplacer par :
Il serait aussi parfait que t'utilises l'autoloader de composer.
Un petit truc qui serait aussi parfait à ajouté au niveau du routing faire un fichier
router.xml qui contiendra les règles il te suffira de le valider avec un fichier xsd et c'est bon (Comme sur Struts 2 en java :) ).
Si tu utilises phpstorm t'as pas besoin de savoir comment fonction le xsd, puis que tu peux le générer.
Vu que t'as déjà fait une classe qui gere le routing, il te suffira de lire le fichier xml et appeler les fonctions correspondante.
Pour la lecture du fichier tu peux utilisés la class SimpleXMLElement.
Bonne continuation.
Merci pour ces réponses, je m'y penche dès que possible. J'ai juste une question : utiliser l'autoloader de composer est-il indipensable ??? Parce que mes autoloaders fonctionnent bien et que le jour ou composer deviendra obselète il faudra retaper tout le code
Ton autoloader est super, mais c'est tout simplement pour respecter la norme :).
Je viens de voir un petit bug au niveau du routing @Hugo.
J'ai crée une route :
Lorsque je veux acceder à /page/1 tout fonctionne parfaitement mais si j'essaie d'acceder à /page/1?url=facebook
Sa m'affiche Error.
Je pense que sa vient de ton .htaccess.
Tu peux remplacer ton .htaccess par
Puis dans App.php à la ligne 20 et remplacer $url par =>
Bonjour tout le monde, je me suis remis à développer mon "mini-framework" et j'ai amélioré pas mal de choses :
- Support de composer (au choix)
- Nouveau router plus performant
- Support des routes en XML
- Simplification du code dans la page d'index (dans App/Public/index.php). Exemple de code :
<?php require('../App.php'); $app = new App(); $app->Router->get('/', 'index@index'); $app->boot(); - J'ai réécrit le wiki et je pense qu'il est plus clair
Voilà, si vous avez des questions ou des suggestions n'hésitez pas!
Hugo