2010-12-01 61 views
4

中,人們認爲什麼尺寸的PHP項目的「我真的需要一個框架,這個」 ...需要使用PHP框架

把這個代碼:

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'password'; 
$dbname = 'test'; 

$conn = mysql_connect($dbhost, $dbuser, $dbpass) 
     or die("Cannot connect to mysql server"); 
mysql_select_db($dbname) or die("Cannot select database"); 
$delete_item_id = mysql_real_escape_string($_POST['id']); 
$result = mysql_query("delete from `timesheet` where id ='".$delete_item_id."'") 
      or die(mysql_error()); 
?> 

這花5分鐘時間手寫在Notepad ++中,對於這個腳本來說,確實是一個混亂的東西!

或者使用框架的人...總是使用框架?

+0

你應該把這個過去http://programmers.stackexchange.com/ – Stephen 2010-12-01 13:12:48

+0

你需要一個功能,而不是框架(在你的問題移動之前) – ajreal 2010-12-01 13:14:14

回答

8

我站在一個非常不同的地方比大多數人在這個問題上。

該項目的大小是無關緊要的。球隊和所有未來球隊的規模是重要的。

如果你是一位優秀的程序員,無論你被告知什麼,框架都會減慢開發速度。從框架中獲得的東西比這更重要。首先,您將創建更多可維護的代碼。其次,你將創建更多標準化的代碼。最後,你會創建更多的分離代碼。

所有這些事情只對團隊而言很重要,可能是第一個例外。

如果你是獨自開發的,你知道你在做什麼,你可以彈起你需要非常迅速frameworky裝飾物的核心位。您可以維護一個隨時可以回來的班級和功能的個人圖書館,並且可以根據需要決定每個項目需要什麼。

你是對的,只需要5分鐘就可以完成的東西應該只需要5分鐘即可完成。把我的傻小遺傳算法搞笑圖像生成器放在http://www.twitterandom.info/GAFunny/這比一些數據庫表,一些目錄和一個頁面稍微多一點。但是通過一堆真正的核心課程來完成所有GA工作。

框架如何讓項目變得更容易或更好?它不會有。但這是一個相當複雜的項目。

轉動表格。如果我和一個團隊一起構建這個團隊,並且我們需要同時進行這項工作,該怎麼辦?如果計劃讓我在一年後停止工作,並且其他10個人需要從我離開的地方繼續工作,該怎麼辦?

然後一個正式的框架變得至關重要。那就是使用標準的東西,在這種情況下,如smarty或symphony,真的會使尋找新的程序員更容易處理它。

這就是框架成爲需求的地方。有一個團隊。團隊規模越大,越經常變得越重要。

3

你需要一個框架(無論現有的或自制)只要任一者爲真:

  1. 你想多程序員在一個項目上工作
  2. 你不想輕易可以修改/替換項目的部分後來
  3. 你希望你的項目是容易擴展
  4. 你想新程序員進入代碼很快要獨立的邏輯,表示
  5. 和來自彼此的數據

是的,簡短的一次性腳本不需要框架,但只要它變得越來越複雜,就需要一個,即使您自己寫一個(我建議使用任何現有的框架不過,你可以再聘請誰已經知道了,以減少對你的代碼,以培養他們的努力的人)

0

除了這裏的回覆之外,我還會補充一點,框架通常鼓勵編程實踐,這可能會導致未來項目(特別是MVC控制器)的代碼重用。編寫良好的代碼通常可以適用於另一個項目,但是,當他們基於框架時,使用模塊時我已經獲得了更多的成功。

我也會說,作爲擁有17年專業經驗的人,當我在框架的限制範圍內工作時,我會寫出更好的代碼。我認爲這是因爲我的代碼最終更加一致,並且框架的約定阻止了我偷工減料。