我來自桌面開發,我習慣在計算機的內存中看到我的應用程序,直到它被用戶終止。但對於PHP,每次向服務器請求新頁面時,我們都必須重新構建所有環境(類,對象,數據庫連接等)。我們在$_SESSION
數組中存儲了一些變量,以便在用戶通過身份驗證時保持用戶登錄。
如果在用戶認證之後,我把application
對象(以及其他創建的應用程序放入當前會話的其他對象,這樣解釋器不需要在每個請求上重新加載所有內容),如果它是好的理念,不僅是一個很好的,如果我的服務器專用?
我不認爲它不會讓響應速度更快,並且還更少的內存消費者。
<?php
// if user and password match:
session_start()
$_SESSION['Application'] = new TApplication('index/index');
$_SESSION['Application']->SetUser($userName);
$_SESSION['Application']->ConfigureUserPermissions;
$_SESSION['Application']->RUN;
<?php
// any request after user is logged and application is set:
session_start()
if (isSet($_SESSION['Application']) && (!$_SESSION['Application']->GetUser = null))
{
$_SESSION['Application']->ExecuteAction($_GET['url']);
}
我想知道這是否是:
- 可能嗎?
- 服務器內存殺手?
- 更快然後通過閱讀我的
MVC
中的所有PHP
文件重建應用程序? - 可靠的方法?
據我所知,$ _SESSION變量在頁面瀏覽量之間被序列化爲磁盤,因此每次有新的請求時您仍然需要重建數據庫連接等。 –
您應該嘗試它只有那麼你會發現爲什麼這種方法如此糟糕 –
我的意圖是開發一個像Office應用程序包,許多應用程序共享數據庫中的類和表,包括用戶數據。 – PSyLoCKe