我正在面向對象的設計中編寫一個Web應用程序。這個應用程序會經常與數據庫進行交互。一些常規操作正在驗證用戶對所請求的函數/方法的ACL權限,執行某些功能等。簡而言之,數據庫將被使用很多。所以我的問題是,如果我使用OOP開發我的應用程序,並聲明將用於設置輸入的類級別變量,並且如果有來自另一個用戶的任何並行或併發請求,輸入數據被改變?在多線程的請求環境中面向對象的編碼 - PHP
我需要做一些獨立的事情來確保應用程序是多線程的,並且在進程未完成之前進入的輸入不會被更改嗎?
例如:
class myProces{
var $input1;
var $input2;
function process1($ip1, $ip2){
$this->input1 = $ip1;
$this->input2 = $ip2;
$this->getDataDB();
}
function getDataDB(){
//do some database activity with the class level variables;
// I would pass the values in the class level variables;
$query = "select column from table where col1 = $this->input1 and col2= $this->input2";
mysql_query($query);
return something;
}
}
現在,如果我有兩個用戶打在同一時間我的應用程序,並給函數的調用這個類
USER1: $ OBJ =新myProces( ); $ obj-> process1(1,2);
user2: $ obj = new myProces(); $ obj-> process1(5,6);
現在,如果我確實有類級變量,當併發請求進來時它們是否會更改值? PHP會爲多線程做任何類型的處理嗎?我不確定Apache是否可以充當消息隊列,請求可以排隊。
任何人都可以解釋,如果面向大量用戶的Web應用程序的OOP好,或者開發人員需要做任何類型的多線程?
PDO將如何幫助我?它是爲單個應用程序使用多個數據庫而不是它 – macha 2011-01-23 02:53:24