I am writing a web application in an object oriented design. This application would be interacting with the database pretty often. A few regular operations are verifying a user's ACL permissions for the function/method requested, performing certain functions etc. In a nutshell, the database would be used a lot. So my question here is, if I do develop my application using OOP, and declare class level variables which would be used to set the input coming in, and if there is any parallel or concurrent request coming in from another user, would the input data be changed??

Would I have to do something separate to make sure that the application is multi-threaded and the input coming in be not changed until the process isn't finished??

ex:

```
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;
    }

}

```

Now if I have two users hitting my application at the same time, and make a call to the functions in this class

user1:
$obj = new myProces();
$obj->process1(1,2);

user2:
$obj = new myProces();
$obj->process1(5,6);

Now if I do have class level variables, would they have changed values when concurrent requests come in?? Would PHP doing any kind of handling for multi threading? I am not sure if Apache can act as a message queue, where requests can be queued.

Can anybody explain if OOP for web applications with heavy number of users is good or if any kind of multithreading has to be done by developers??