Я пишу веб-приложение в объектно-ориентированном дизайне. Это приложение будет взаимодействовать с базой данных довольно часто. Несколько регулярных операций проверяют права доступа ACL пользователя для запрашиваемой функции / метода, выполняют определенные функции и т. Д. В двух словах, база данных будет использоваться очень часто. Поэтому мой вопрос здесь заключается в том, что если я разработаю свое приложение с использованием ООП и объявлю переменные уровня класса, которые будут использоваться для установки входных данных, и если будет какой-либо параллельный или параллельный запрос, поступающий от другого пользователя, будут ли входные данные быть изменены ??
Должен ли я сделать что-то отдельное, чтобы удостовериться, что приложение является многопоточным и входной вход не будет изменен до тех пор, пока процесс не будет завершен?
например:
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 = new myProces ();
$ Obj-> Process1 (1,2);
user2:
$ obj = new myProces ();
$ Obj-> process1 (5,6);
Теперь, если у меня есть переменные уровня класса, они бы изменили значения, когда поступают параллельные запросы? Будет ли PHP обрабатывать несколько потоков? Я не уверен, что Apache может выступать в качестве очереди сообщений, где запросы могут быть поставлены в очередь.
Кто-нибудь может объяснить, хорош ли ООП для веб-приложений с большим количеством пользователей, или разработчики должны выполнять какой-либо многопоточный режим?