Bonjour à toutes et à tous,
Permettez moi de vous exposer mon problème.
Venant du Java, j'ai une petite connaissance de la POO et du développement MVC sous framework.
Je dois maintenant développer un soft qui avait été fait en j2ee, mais sous php (que je ne connais pas bien).
Du coup, je m'interroge sur l'utilisation ou non d'un framework, en l'occurence le choix s'est porté sur CodeIgnition, pour ses bons retour qu'on peut lire sur internet, sur sa petite taille.
Toutefois, je m'interroge sur l'utilité d'un framework dans mon cas.
Je suis tout seul sur le projet et seul et unique développeur... donc pas de travail d'équipe.
Je peux coder proprement sans framework ou comme un porc avec un framework.
Mon projet n'est pas une application de e-commerce, ou quelque chose de simple, mais une application scientifique client serveur avec des calculs très lourds et une manipulation de grosses quantités de données.
Du coup alors que sous java, l'utilisation d'un framework, permet que le cycle de vie de l'objet est géré par le framework, et du coup cela optimise l'utilisation mémoire et minimise les fuites.
J'ai bien lu:
http://www.developpez.net/forums/d46...rk-vs-symfony/
http://www.developpez.net/forums/f23...es-frameworks/
mais je n'ai pas réellement trouvé de réponse à mes interrogations...
Par exemple j'ai fait un test tout con avec CodeIgniter:
un model qui ramène le résultat d'une requête énorme au controller et l'envoie à la vue qui affiche le résultat...
Or ce qui est ramené est un objet, et l'objet est envoyé... donc il est en mémoire.
Et comme le php.ini limite basiquement la consommation mémoire, au bout d'un moment si mon résultat est trop gros ça pète...
Si je fais la même chose en php, j'ouvre une connection, j'exécute la requête, fetch le résultat et écrit dans ma page... je me rends compte qu'il n'y a pas de mémoire utilisée.
Les données fetchées sont directement écrite.
Du coup je me demande si un framework c'est si bien que ça?
Comment le framework gère les objets qu'il transmet? Comment, à quel moment réalloue-t-il la mémoire des objets une fois utilisés?
Bref, dans mon cas
- pas d'équipe de développement
- méconnaissance des framework php (donc obligé d'apprendre à les utiliser)
- application complexe avec des gros calculs sur de gros volumes de données et donc grosse consommation de mémoire si objet en mémoire
Est-ce utile d'utiliser un framework?
Que peut m'apporter ce framework concrêtement?
Personnellement je n'arrive pas à voir l'utilité de CodeIgniter pour mon application, vu que:
- la gestion de l'identification est particulière et ne peux pas utiliser le Helper proposé
- le formulaire est très complexe et peut difficilement être fait par le Helper
- les autres Helper ne sont d'aucune aide
J'ai de sérieux doutes quand à l'optimisation de la mémoire et de l'utilisation des objets (surtout destruction et réallocation).
Et je crois le pire de tout...
J'ai passé une journée entière à installer et faire fonctionner CodeIgniter 2.1.1 tout simplement car le framework comportait une erreur dans un des fichiers que j'utilisais
system/database/drivers/oci8/oci8_result.php
$rowcount; n'existe pas et n'est pas instancié et il faut remplacer par "$this->num_rows;"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function num_rows() { if ($this->num_rows === 0 && count($this->result_array()) > 0) { $this->num_rows = count($this->result_array()); @oci_execute($this->stmt_id); if ($this->curs_id) { @oci_execute($this->curs_id); } } return $rowcount; }
L'utilisation d'un framework implique de faire confiance au code, et de telles erreurs, peuvent couter beaucoup de temps en développement surtout si on ne connait pas bien le PHP...
Sans me conseiller votre framework, mais en étant tout à fait honnête et le plus objectif possible, me conseilleriez vous l'utilisation d'un framework? Ou au contraire de ne pas utiliser de framework?
Et sinon quel framework me conseilleriez vous et pourquoi, à savoir, quelle brique du framework pourrais-je avoir l'utilité?
Merci d'avance pour votre aide et vos conseils...
Partager