我正在尋找一個指南,或者簡單地瞭解設計網站的方法。PHP Web-App Design
我對如何做各種事情在PHP反正,OOP的基本知識是一個好主意,和功能並沒有什麼...
但我需要一些結構,以保持跟蹤我,讓我知道我應該做什麼。
有沒有可以幫助我的網站,指南或方法?或者,也許一個應用程序,客戶端或web應用程序...
我正在尋找一個指南,或者簡單地瞭解設計網站的方法。PHP Web-App Design
我對如何做各種事情在PHP反正,OOP的基本知識是一個好主意,和功能並沒有什麼...
但我需要一些結構,以保持跟蹤我,讓我知道我應該做什麼。
有沒有可以幫助我的網站,指南或方法?或者,也許一個應用程序,客戶端或web應用程序...
首先,您需要確定您的應用將要執行的操作以及將要使用它的人員。
接下來,您可以創建use cases開始籌劃正是用戶會做。你甚至可以用棒圖和箭頭來製作花哨的小圖。
Sequence diagrams和屏幕實體模型將幫助您規劃出系統如何工作,你需要哪些頁面。
您也可以創建一個基於UML的class diagram,它可以真正幫助您規劃出需要創建的類,包括他們需要的方法和變量,以及讓您掌握設計數據庫的軌道適合你的網站。
與跳躍編寫代碼相比,做這些事情看起來有點無聊或跛腳,但因爲它會迫使你提前思考,所以即使只做了一半的事情,也可以避免大量的陷阱。
從那裏,你實際上可以使一個嚴重的TODO列表,並通過依賴性和優先順序的任務。我使用文本文件。這不是最好的解決方案,但它對我很有用。
編輯:
擴大我自己的過程。請注意,這是我自己在自己的項目上工作時所做的。
一旦我有了上述排序完成後,接下來的事情我會做實際上是寫出來的數據庫表中,這樣的事情:
USERS TABLE
===========
user_id (PK) unsigned int (10)
username varchar(30)
email_address varchar(30)
is_active bool
password varchar(41)
registration_date datatime
registration_ip varchar(20)
last_login_ip varchar(20)
last_login_date datetime
...等。所有的桌子。然後坐下來看看這些表是如何相互關聯的,想想可能會丟失什麼,並規範化/反規範化,直到它對於構建的應用程序有意義,尤其是需要編寫的查詢。是的,我在文本文件中這樣做。
我強烈建議,像其他人一樣,MVC設計模式。它可能不適合你想要做的事情,但它通常適用於大多數Web應用程序,並使它們更容易實現和維護。你想要的最後一件事是意大利麪代碼。
所以如果你打算使用MVC,應該很清楚你需要寫什麼模型(最重要的部分)以及控制器和視圖文件。
所以我這是怎麼安排什麼我需要做的:
TODO
- create database tables
- user registration
- authentication
...
SECURITY
- sessions in db table
- xss cleaning in form x
...
等!
每次我想到我需要做的事情都會成爲一個觀點。顯然這些點可以很容易地進一步擴大。我試圖通過來訂購他們,我覺得下一個(因爲這是最簡單的方法)和重要性,或從其他任務的依賴。
這對某些人來說可能看起來很愚蠢,但這是我如何跟蹤事物的方式。 希望它給你一些想法。
老實說,什麼工作最適合我一直是一個簡單的「把它寫下來,你這樣做之前」的做法。如果您只是花時間計劃您的服務將如何運作,那麼您可以節省大量時間,而無需重寫任何東西!
聽起來好像只是寫下你想要做什麼,以及如何做到這一點會幫助你很多。
是的,它會幫助,但也想知道如果有一個系統,我可以使用的地方,我可以設置它的東西作爲任務,所以當我完成了第一步可能只是簡單地勾選它,它會表明我不得不/現在可以開始某個部分已經完成... 我知道這可以在紙上完成,但系統似乎是一種好方法來管理這樣的事情。 – Aran 2009-08-23 17:17:42
我同意Gavin:您應該瞭解Model-View-Controller,如the article Gavin中所述。
它會爲您提供文件的基本佈局,它會讓您考慮數據庫(當您計劃模型時)。
讓自己更多地瞭解您的項目的一種方法是找到合作伙伴program together。
我一直在使用CodeIgniter和Kohana一段時間,他們是一個很好的節省時間。 (後者是前者的一個分支,它們都是PHP中的MVC框架) 雖然他們不會爲你組織網站,但仍然是一個很好的幫助。 – Petruza 2009-08-23 18:02:31
首先,我同意別人在開始之前寫下幾件事的看法 - 即使它只是非正式的。這總能幫助你解決問題和你需要的東西。
如果您對某些您正在使用的技術有些陌生,那麼我的一招就是先從幾個不那麼雄心勃勃的樣本開始。不要害怕先寫一些可怕的東西,因爲這樣做很糟糕,曾經會教你如何做第二次。無論你在做什麼,Hello World都是你的朋友。
我已經這樣做了..通常會做出一些愚蠢的事情。所以我可以回過頭來看看它做些什麼......讓它變得更有趣,再次重溫時更有趣... – Aran 2009-08-23 18:46:44
你有任何文本文件的例子嗎? 我想我可能會走下這條使用文本文件的路線...... – Aran 2009-08-23 17:53:40