Question

Je continue à lire à quel point CodeIgniter est d'un point de vue du développement. Et je suis sûr que l'utilisation du cadre fera le processus de développement plus rapide. Mais la question que je me pose est, il y aura une différence dans un cadre fait individuellement, ce qui répond à vos besoins?

est CI, malgré le faible encombrement annoncé, va « tourbière » le système, car il est essentiellement un cadre sur un cadre (la référence plus tard PHP comme cadre de C)? Y at-il de bons moyens pour répartir la charge? Y a-t-il des grandes applications dans la nature qui ont été faites avec CI?

Merci Casper.

Était-ce utile?

La solution

Je suis en cours d'exécution d'un site CodeIgniter avec environ 11K fichiers.

Je l'ai fortement modifié la structure de base du CodeIgniter pour mes besoins. Par exemple, j'ai 3 applications avec 3 contrôleurs avant en utilisant les mêmes fichiers système. J'utilise Smarty comme moteur de templating. J'ai riches applications Web PHP alimentés par jquery et prototype / Scriptaculous. J'utilise la validation du formulaire, l'authentification, enregistrement actif, courrier électronique, etc., etc.

Mon expérience à ce jour a été très positive.

Une fois que vous obtenez un (vrai) moteur de templating comme Smarty branché Codeigniter vous avez toute la puissance que vous aurez besoin pour les moyennes et les grands sites.

Vous devez penser à organiser votre site en gros « metagroups » la structure « contrôleur » en Codeigniter prévoit un tel comportement. ( 'Blogs', 'marchandises', 'forums', etc ..)

CI est très facile d'ajouter des plugins pour.

Le cadre simplifie beaucoup de conneries que vous auriez besoin d'un code à la main. Il est rapide, simple et configurable.

Mon une grande plainte avec CI jusqu'à présent est que ce n'est pas très conscient multi-applications. La mise en page par défaut suppose que vous exécutez une application. Dans mon cas, j'ai une application globale avec le fichier global qui peut être tiré dans toutes les applications en cours d'exécution. Cependant, cela pourrait être résolu de manière plus élégante. De plus, vous devez ajouter un peu de duvet supplémentaire pour basculer entre les contrôleurs avant.

Mon aspect préféré de CI est facile d'enregistrement actif sur une base de données MySQL. Il est mort simple à mettre en place une connexion DB et obtenir requêtes d'enregistrement actives en cours d'exécution.

Je dirais qu'il est assez facile de commencer avec. Assurez-vous de magasiner et de déterminer comment brancher Smarty dans votre application. Vous pouvez utiliser la valeur par défaut « vue de de Codeigniter, mais la minute où vous avez besoin si / logique d'autre dans vos modèles, vous êtes foutus.

Je mis en place un « modèles » et une zone « contenu » dans chaque application que je peux remplir avec des modèles Smarty et le contenu statique respectivement. Le reste, je peux tirer d'une connexion DB.

Autres conseils

Ceci est vraiment une question que vous seul pouvez répondre. Lorsque vous parlez d'un « grand système », vous pourriez vouloir dire quelque chose largement utilisé (par pages vues / etc.), ou quelque chose qui englobe un vaste ensemble de règles métier, mais utilisé seulement par quelques personnes. Est-ce que l'application doit être rapide, ou pouvez-vous équilibrer la charge sur plusieurs serveurs il?

Votre « PHP est un cadre sur C » commentaire est assez détraqué, l'OMI. Non, PHP n'est pas aussi vite que C. Mais il est beaucoup mieux au traitement des demandes Web. PHP est utilisé dans certains des plus grands sites dans le monde - Facebook a été entièrement écrit en PHP. Yahoo utilise PHP un peu. Alors PHP est assez rapide pour à peu près tout le monde, d'autant plus que la base de données sera presque toujours votre goulot d'étranglement. Si vos applications PHP ralentissent, vous pouvez utiliser équilibreurs memcache / charge / mettre plusieurs serveurs d'applications sur votre réseau. Assez facile à l'échelle la fin PHP de choses.

Ce que je peux vous dire est une brève comparaison avec d'autres cadres. Je l'ai utilisé CI dans les déploiements limités, la plupart du temps aidant d'autres personnes, mais ce que je l'ai vu, je l'ai aimé. Il vous donne un avantage de vitesse en temps d'exécution sur quelque chose comme CakePHP, mais il augmentera votre temps de développement (comme la plus grande force de gâteau est sa capacité à développer et déployer rapidement). En terme de vitesse, il se sent assez comparable à Zend ou Symfony, qui est encore à 5-7x plus lent que simplement écrire le PHP brut vous.

Pour résumer les différents cadres (NB: mon avis ci-dessous):

  • CakePHP est idéal pour un développement rapide. Sa performance est le pire des cadres principaux, bien que le version 1.3 (à venir bientôt!) Est censé vous obtenir gratuitement (aucune modification de l'API, ils sont juste enlever le support de PHP4) 25% d'augmentation de la vitesse. Il est axé sur ActiveRecord, et il est super rapide pour obtenir un site doté de multiples fonctionnalités et en cours d'exécution (sérieusement, sérieusement le développement rapide / côtelettes Prototypage).
  • Zend est le plus largement utilisé. Il a la plus grande flexibilité avec ses modules en ajoutant. Il est super rapide, mais pas particulièrement léger. Pour un projet d'entreprise, je partirais avec celui-ci ou symfony. Se sent comme l'utilisation d'une buncha différentes bibliothèques pour moi. Et leurs conventions de nommage sont un peu onéreux ...
  • Symfony - voir les commentaires Zend. Bien que symfony est censé être encore plus enterprisey.
  • CodeIgnitor est le petit nouveau chaud sur le bloc. Son concentré pour rester sur votre chemin tout en étant un « cadre », à savoir un outil qui vous aidera à faire votre travail plus rapidement. Il est rapide à courir, mais un peu plus lent à se développer.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top