2008-10-06 32 views
2

我很難想象一個超過幾百行代碼的php腳本。看起來,對於非持久性環境,基於Web的腳本通常是以小塊形式完成的,並且用於將網站的一部分交付給最終用戶。我想知道人們是否正在用PHP開發任何類型的大型或持久性或複雜的應用程序,以及您正在處理的是什麼。我只爲小型網站做過小型項目,所以我不知道可以在更大規模上完成什麼。瞭解您正在使用的庫以及您正在與哪些其他技術進行集成也很高興。請賜教,讓我可以開始夢想更大的事情!有人寫過很長很複雜的PHP應用嗎?

回答

1

MediaWiki是最大的公共PHP應用程序之一,它有非常好的代碼。 。我知道一些較大的,但它們非常可怕,而且通過閱讀它們可以學到任何東西。

+0

MediaWiki的代碼基礎是好的,直到你決定擴展它。我一直在用它進行NLP研究,所以我想我的觀點被我的問題的複雜性所扭曲。 – gradbot 2008-10-08 15:40:50

1

還有很多複雜的OpenSource php應用程序。例如,Drupal CMS可以被認爲是開發其他網站的平臺。

你可以通過源代碼在網上瀏覽:http://cvs.drupal.org/viewvc.py/drupal/drupal/

+0

我覺得在真棒代碼和電源方面,magento要好得多,大項目! – 2015-05-19 14:01:47

12

我會看一些使用PHP來獲得可以取得什麼成就的良好意識知名的開源Web應用程序,而PHP是如何在他們每個人中使用。優點是,由於它們都是開源的,你可以看看PHP代碼,看看各種功能是如何實現的。

一些很好的例子來看看包括:

也看一些流行的框架,看看他們提供什麼樣的功能(這應該給你一個什麼類型的東西PHP是最常用於感好):

+1

呃,PHP-BB不應該在那個列表中。我以前從未見過如此多的安全漏洞,這些漏洞包含在這幾行難以理解的意大利麪代碼中。 – 2008-10-06 03:06:59

+0

ROFL,這是SOOOO的真實情況,我有一個3000+的應用程序,我已經擁有了所有你可以想象的事情,但沒有任何問題。 – UnkwnTech 2008-10-06 03:36:23

+2

也許移動PHPBB到「很高興看看,所以你知道什麼不該做」 – UnkwnTech 2008-10-06 03:36:54

1

+1的Wilco
我有我用我的一些客戶的軟件,它是一個CMS,博客,電子商務獸,代碼庫是巨大的,但一切都互相很好合作。

2

對於我的日常工作,我們使用PHP運行所有內容 - 我們的前端網站,代理和員工的後端,庫存,服務器控制接口等。這些都是從新的啓用AJAX的Zend Framework應用程序到遺留我們還沒有移植的代碼。最重要的是,我們使用Mantis(PHP中內置的錯誤跟蹤),MediawikiphpMyAdmin

不是PHP的唯一的事情是供應商的應用程序,因爲供應商喜歡的Java。我們擁有的一個ASP.NET應用程序在項目中實際上被供應商放棄了(並不是真的是對ASP.NET的敲門磚,該應用程序只是失控項目的完美定義,並且無論它使用什麼語言編寫都會失敗)。

隨着像Zend FrameworkCodeIgnitorCakePHP這樣的成熟框架在PHP中創建幾乎任何東西都是可能的。

2

開發大型項目的最大問題是肯定讓他們維護在長期的。最初,一個程序開始時都充滿了理想的方法和想法,但保持完整性,特別是隨着時間的推移失敗,在我看來,往往不會。

另外,範圍蔓延是你的敵人。你必須儘快統治這一點。

至於大型程序去我工作的公司有一些內部程序不斷在開發中。一個例子是我們的專有網站引擎。這是一個非常龐大的代碼庫,包含十幾個模塊(用戶管理,調查系統,博客,用戶畫廊等),可以讓我們快速建立客戶網站。

我們也發展我們自己的內部項目管理程序來管理我們的客戶工作。

你應該從長遠的角度考慮規模。幾乎在我參與過的每個項目中都有涉及用戶的權限/組元素。您可能想開始考慮涉及的可能性和問題,並着手更復雜的功能。

1

我的公司致力於教育軟件。我們最近開始進行基於網絡的內容交付,包括視頻和音頻,後端使用MySQL完全使用PHP編寫。我們有兩個主要應用程序,一個存放在我們的服務器上,一個存放在客戶端。一個鐘約42,000行代碼(使用物理行數),另一個約68,000行。

我們使用PEAR廣泛和最近開始的項目是使用Zend Framework

0

獲取CodeIgniter並重建亞馬遜或Ebay。如果你可以夢想,你可以用PHP構建它,但是你可能無法維護它,因爲它很容易創建錯誤的代碼。 PHP.net是你的朋友。無論使用什麼框架,都要確保閱讀「用戶指南」並讓它指導您。

0

我不敢相信沒有人提到過MVC模式。國際海事組織,這是你可以用來幫助你維護大型代碼庫的最好的事情之一。

1

我們在我們公司使用PHP。 (我們在線語言學習:http://www.livemocha.com,你應該去看看網站,是的,這是一種無恥的插件,但它也是主題。:-))

我不能給你一個確切的數字的用戶,但是我們發佈了一個新聞稿,一會兒就慶祝達到300萬大關。這與網絡應用程序的規模相當。

我們建立在CakePHP的框架,它是基於MVC架構...至少理論上是這樣。在實踐中,他們爲模型自動生成某些方法,這些方法傾向於將某些模型代碼片段(緩存,決定使用哪個DB)導入控制器。他們在1.2中也有一些本地化問題,這讓我覺得這部分框架還沒有真正達到成熟。也就是說,我發現CakePHP很適合整體工作,如果您正在考慮在PHP中實施大型Web應用程序,您至少應該查看它。它也有一些優秀的文檔可供使用(谷歌的「CakePHP麪包店」)。