我正在面向对象的设计中编写一个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