2008-10-06 12 views
2

Il m'est difficile d'imaginer un script php de plus de quelques centaines de lignes de code. Il semble que, pour un environnement non persistant, les scripts basés sur le Web sont généralement faits de petits morceaux et utilisés dans le but de fournir une partie d'un site Web à l'utilisateur final. J'aimerais savoir si les gens développent n'importe quel type d'applications volumineuses, persistantes ou complexes avec PHP, et sur quoi vous travaillez exactement. J'ai seulement fait de petits projets pour de petits sites Web, donc je ne sais pas ce qui peut être accompli à plus grande échelle. Il serait également intéressant de savoir quelles bibliothèques vous utilisez et quelles autres technologies vous intégrez. S'il vous plaît, éclairez-moi afin que je puisse commencer à rêver de choses plus grandes!Est-ce que quelqu'un écrit des applications PHP complexes?

Répondre

1

MediaWikiMediaWikiMediaWiki est l'une des plus grandes applications PHP publiques, et il a un très bon code. . J'en connais quelques-uns plus grands, mais ils sont complètement horribles et vous n'apprendriez rien en les lisant.

+0

La base de code MediaWiki est OK jusqu'à ce que vous décidiez de l'étendre. J'ai fait de la recherche en PNL avec cela, donc je suppose que mon point de vue est faussé par la complexité de mon problème. – gradbot

1

Il existe lots des applications complexes OpenSource php. Par exemple, le CMS Drupal, qui peut être considéré comme une plate-forme à part entière pour le développement d'autres sites web.

Vous pouvez parcourir le code source en ligne: http://cvs.drupal.org/viewvc.py/drupal/drupal/

+0

Je pense que magento est beaucoup mieux en termes de code et de puissance Awesome, grand projet! –

12

Je regardais quelques-uns des bien connus des applications Web open source qui utilisent PHP pour obtenir un bon sens de ce qui peut être accompli, et comment PHP est utilisé dans chacun d'eux. L'avantage est que, comme ils sont tous open source, vous pouvez réellement regarder le code PHP pour voir comment diverses fonctionnalités ont été implémentées.

Quelques bons exemples à regarder comprennent:

Regardez aussi quelques-uns des cadres populaires pour voir quel genre de fonctionnalités qu'ils offrent (cela devrait vous donner une bonne idée de ce genre de choses PHP est le plus souvent utilisé pour):

+1

Ugh, PHP-BB ne devrait pas être sur cette liste. Jamais auparavant je n'avais vu autant de failles de sécurité dans un si petit nombre de lignes de code spaghetti incompréhensible. –

+0

ROFL, c'est SOOOO vrai, j'ai une application avec 3000+ et j'ai eu tout ce que vous pouvez imaginer jeté à elle sans problèmes pour le moment. – UnkwnTech

+2

Peut-être déplacer PHPBB à "Bon à regarder, donc vous savez ce qu'il ne faut pas faire" – UnkwnTech

1

+1 pour Wilco
J'ai un logiciel que j'utilise pour certains de mes clients, il est un CMS, Blog, bête de commerce électronique, la base de code est énorme, mais tout coopère avec l'autre bien.

2

Pour mon travail de jour, nous gérons tout en PHP - notre site web frontal, notre backend pour les agents et les employés, l'inventaire, les interfaces de contrôle serveur, etc. De toutes les nouvelles applications Zend Framework code que nous n'avons pas encore porté.En plus de cela, nous utilisons des choses comme Mantis (suivi de bogues construit en PHP), Mediawiki, et phpMyAdmin. La seule chose qui n'est pas PHP, ce sont les applications du vendeur, parce que les vendeurs aiment Java. La seule application ASP.NET que nous avons été abandonnée par le fournisseur pendant le projet (pas vraiment un coup contre ASP.NET, cette application était juste la définition parfaite d'un projet d'emballement et aurait échoué quel que soit le langage dans lequel elle a été écrite).

Avec des cadres matures comme Zend Framework, CodeIgnitor, et CakePHP créer à peu près tout en PHP est possible.

2

Le plus gros problème de développement de programmes à grande échelle est de les maintenir définitivement à long terme. Au départ, un programme débute avec des méthodes et des idées idéales, mais garder l'intégrité, surtout avec le temps, échoue, à mon avis, le plus souvent.

En outre, le fluage de portée est votre ennemi. Vous devez régner dans ASAP.

En ce qui concerne les programmes à grande échelle, l'entreprise pour laquelle je travaille a quelques programmes internes en constante évolution. Un exemple est notre moteur de site Web propriétaire. C'est une base de code très large qui comprend une douzaine de modules (gestion des utilisateurs, système d'enquête, blogs, galeries d'utilisateurs, etc.) qui nous permettent de construire rapidement nos sites clients.

Nous développons également notre propre programme interne de gestion de projet pour gérer le travail de nos clients.

Vous devriez certainement penser en termes d'échelle à long terme. Dans presque tous les projets sur lesquels j'ai travaillé, il y a un élément de permission/groupe pour les utilisateurs impliqués. Vous voudrez peut-être commencer à réfléchir aux possibilités et aux problèmes que cela implique et travailler jusqu'à des fonctionnalités plus complexes.

1

Mon entreprise travaille sur des logiciels éducatifs. Nous avons récemment commencé à fournir du contenu sur le Web, y compris la vidéo et l'audio, avec le backend entièrement écrit en PHP en utilisant MySQL. Nous avons deux applications principales, l'une qui vit sur nos serveurs et l'autre qui est livrée au client. Une heure correspond à ~ 42 000 lignes de code (en utilisant un nombre de lignes physiques) et une à ~ 68 000 lignes.

Nous utilisons abondamment PEAR et un projet récemment démarré utilise le Zend Framework.

+0

Combien il était pénible de convertir de PHP OOP à Zend? –

0

Obtenez CodeIgniter et reconstruisez Amazon ou Ebay. Si vous pouvez le rêver, vous pouvez le construire en PHP mais vous ne pourrez peut-être pas le maintenir car il est si facile de créer du mauvais code qui fonctionne. PHP.net est votre ami. Quel que soit le framework que vous utilisez, assurez-vous de lire le Guide de l'utilisateur et laissez-le vous guider.

0

Je ne peux pas croire que personne n'a encore mentionné le modèle MVC. OMI, c'est l'une des meilleures choses que vous pouvez utiliser pour vous aider à maintenir de grandes bases de code.

1

Nous utilisons PHP dans notre société. (Nous faisons l'apprentissage des langues en ligne: http://www.livemocha.com Vous devriez aller jeter un oeil sur le site Oui, c'est une sorte de plug sans vergogne, mais c'est aussi topique. :-))

Je ne peux pas vous donner un nombre précis des utilisateurs, mais nous avons publié un communiqué de presse il y a quelques temps pour atteindre la barre des 3 millions. C'est une assez grande échelle que les applications Web vont.

Nous construisons sur le framework CakePHP, basé sur une architecture MVC ... du moins en théorie.En pratique, ils génèrent automatiquement certaines méthodes pour les modèles qui ont tendance à pousser certains éléments du code modèle (mise en cache, choix de la base de données à utiliser) dans les contrôleurs. Ils ont aussi quelques problèmes de localisation en 1.2 qui me font penser que cette partie du cadre n'a pas encore vraiment atteint sa maturité. Cela dit, je trouve que CakePHP est assez confortable pour travailler globalement, et vous devriez au moins y jeter un coup d'œil si vous envisagez d'implémenter une application web à grande échelle en PHP. Il dispose également d'une excellente documentation (google pour "CakePHP Bakery").

+0

Construit avec dit qu'il a été fait dans WurdPress. http://builtwith.com/livemocha.com –

+0

C'est tout à fait possible - je sais qu'ils ont subi une reconstruction majeure (plusieurs années) environ 3 ans après avoir posté ce message. Ils ont également été achetés par Rosetta Stone, alors peut-être que RS a complètement supprimé le site et l'a remplacé par une page d'annonce. (Je ne sais pas - je ne travaille plus là.) – Arkaaito

Questions connexes