Salut à tous,
J'ai commencé à développé mon propre script de forum (style phpBB, IPB, ...), et j'aurais voulu quelques avis sur mon code de base (après tout, je l'ai mis en accès publique et licence MIT sur Github) :
https://github.com/DarkCenobyte/materialif
Ma base: Pas de framework, du PHP7, juste Eloquent (l'ORM de Laravel), Smarty3 pour les templates, et Composer pour déjà ces dépendances, mais aussi pour faire l'autoloader PSR-4 de mes classes. Et côté Front-end, j'utilise MaterializeCSS. (qui donne déjà un jolie résultat je trouve pour mon script d'installation et mon début de panel d'admin)
(Ah, et avant de me dire que c'est sans intérêt ou d'utiliser un framework, mon premier objectif était de m'améliorer en PHP, et surtout en ce qui concerne les namespace, ... Au-delà de ça, j'ai lu que souvent un framework avait tendance à être plus lent à l'exécution qu'un PHP sans framework, et je me suis dit que je pourrais peut-être tenter de me faire une base solide ne remplissant que mes besoins... Au pire, ça m'aide à m'améliorer en PHP sur des domaines qui me sont utiles, au mieux, c'est génial et ça marche)
Pour l'instant ce qu'il y a :
- Un script d'installation (qui ne détruit pas pour l'instant le dossier install/ mais je prévois ça pour plus tard, quand je n'aurais plus trop à revenir dessus dans mon code, puis c'est plus pratique de le laisser tant que je bosse avec git et que je peux revenir dessus).
- Un système d'URL rewriting activable dans un fichier de conf (fonctionnel sous Apache avec .htaccess et URL_Rewrite, même si le gros du truc est fait en PHP, pour être plus facilement portable après ailleurs)
- Un panel d'administration pour l'admin crée lors de l'installation, qui permet de créer/éditer/supprimer des catégories et des ranks actuellement (du simple CRUD on va dire), avec une pagination fonctionnel.
(il n'y a pas encore de forum en soit ou d'affichage des catégories/...), mais je préfèrerais avoir des avis sur le code de base que j'utilise, savoir si je peux l'optimiser, ...
Ah, juste pour PHP7, je sais que je l'utilise pas à la perfection, en-dehors du comparateur logique "??", mais je me suis pas encore penché sur son typage, et comme pour l'instant il ne fait pas en soit gagner en performance me semble, je me suis dit que je pourrais toujours (même si ça sera long...) repasser derrière si ça fournis un gain en perf'.
Voilà, je suis ouvert à tout avis ou suggestion sur le code .
Salut,
Je suis un développeur front, je ne saurais pas te dire ce que vaut ton projet côté back. Mais effectivement, aujourd'hui on manque de "bon" cms de forum.
Je le testerai ce weekend.
J'ai parcouru très rapidement le code et je t'invite à
Le 21 octobre 2016 à 16:45:42 deepblue a écrit :
Je le testerai ce weekend.J'ai parcouru très rapidement le code et je t'invite à
- faire de l'injection de dépendance : c'est pratique et ça permet de faire évoluer facilement ton projet et de faciliter les contributions
- faire un vrai routeur : tu vas nécessairement devoir faire de belles url
- faire un peu plus de tests sur les données utilisateur (typiquement dans routeur actuel et surtout dans les formulaires)
- intégrer la notion d'environnement : passer en mode prod ou dev pour activer ou pas des features (affichage ou pas des erreurs, outils de debugs/profiling, conf email spécifique, whatever)
- essayes dès à présent d'intégrer une console (cli)
Merci pour ces premiers conseils ,
(je pense que c'est lié au fonctionnement même du call_user_func_array, il faudrait en soit que je récupère les noms des paramètres d'une fonction mais je n'ai pas trouvé comment faire, et que les compares aux clés associés aux paramètres transmis pour réorganiser le tableau que je passe à cette fonction).
En soit, je ne cherche pas à réaliser quelque chose d'aussi avancer qu'un framework, mais juste reprendre certains éléments des frameworks pour essayer de faire un forum plutôt performant sur mon code
J'imagine que tu travailles sous Windows. Fais attention à la casse, j'ai du renommer le répertoire "admin" en "Admin" pour accéder au backoffice.
L'injection de dépendance aura un intérêt dans les contrôleurs et dans l'implémentation d'un conteneur de services. Jettes un œil à l'inspection de classe, ça répond également à ta problématique pour le nom des paramètres.
Concernant le routeur, je parle d'en écrire un en PHP. Ce que tu as implémenté pour le moment ne peut pas fonctionner à plus ou moyen terme. C'est assez mal foutu en fait.
Pour le moment, compliqué de faire des tests potables je pense. Le design (du dev) n'est pas exceptionnel et je pense que tu devrais revoir pas mal de trucs avant de continuer.
Bon courage
Le 21 octobre 2016 à 13:49:22 warpShadow a écrit :
Salut,(...) Mais effectivement, aujourd'hui on manque de "bon" cms de forum.
Discourse. End of discussion. Genre, vraiment.
Quant au projet de l'auteur, j'essaie d'y jeter un oeil quand j'ai le temps. Ceci dit, ça fait vraiment trop longtemps que je n'ai plus fait de PHP pour dire d'avoir un avis vraiment pertinent.
Le 22 octobre 2016 à 17:02:16 deepblue a écrit :
J'imagine que tu travailles sous Windows. Fais attention à la casse, j'ai du renommer le répertoire "admin" en "Admin" pour accéder au backoffice.L'injection de dépendance aura un intérêt dans les contrôleurs et dans l'implémentation d'un conteneur de services. Jettes un œil à l'inspection de classe, ça répond également à ta problématique pour le nom des paramètres.
Concernant le routeur, je parle d'en écrire un en PHP. Ce que tu as implémenté pour le moment ne peut pas fonctionner à plus ou moyen terme. C'est assez mal foutu en fait.
Pour le moment, compliqué de faire des tests potables je pense. Le design (du dev) n'est pas exceptionnel et je pense que tu devrais revoir pas mal de trucs avant de continuer.
Bon courage
merci , j'ai bien fait de demander un avis sur ma base avant de continuer du coups x) , je vais me pencher sur l'aspect routeur en premier je pense.
Sinon yes, je travail sous Windows/WAMP (j'ai déjà un serveur unix (un freebsd avec PHP7 et Apache24 qui fonctionne) prêt pour me faire un site pour le présenter et pour le tester, mais pas encore pris le temps de déployer mon code dessus).
Le 22 octobre 2016 à 19:16:37 lisarael a écrit :
Le 21 octobre 2016 à 13:49:22 warpShadow a écrit :
Salut,(...) Mais effectivement, aujourd'hui on manque de "bon" cms de forum.
Discourse. End of discussion. Genre, vraiment.
Quant au projet de l'auteur, j'essaie d'y jeter un oeil quand j'ai le temps. Ceci dit, ça fait vraiment trop longtemps que je n'ai plus fait de PHP pour dire d'avoir un avis vraiment pertinent.
Oui, 'fin Discourse ne tourne pas en PHP et ne dois pas pouvoir être lancer sur beaucoup d'hébergement mutualisé... (Bon, en soit un VPS ça ne coûte pas chère de nos jours...)