我曾经以程序方式编写 php。因为我想了解更多关于 OOP 的信息,所以我决定为我的新项目以 OOP 方式编写 php。
无论如何,假设我有一个需要用户登录的项目。这意味着在 login.php 中,一旦用户输入正确的用户名和密码,它将被重定向到 index.php 并开始从产品表中加载所有产品并在 index.php 中很好地显示它们。
之前,我是如何做到这一点的,在 login.php 中我将拥有以下代码:
登录.php
session_start();
...
if (loggedCorrect($user, $password)) {
$_SESSION['loggedinuser'] = $user;
//redirect to index.php
}
索引.php
session_start();
if (isset($_SESSION['loggedinuser']) {
//select fields from products table and display them
...
}
所以在OOP中它会是这样的:
登录.php
session_start();
$user = new User($user, $password);
if ($user->hasCorrectLogin()) {
$_SESSION['loggedinuser'] = $user->getUsername();
//redirect to index.php
}
索引.php
session_start();
if (isset($_SESSION['loggedinuser']) {
$products = new Products();
//display all products
}
产品类别
class Products {
private $productArray;
...
__construct() {
//select all products from mySQL table then put every product in productArray
}
...
}
我的问题是:
启动对象时(例如我的产品)。我必须检查登录会话吗?如果是这样,我应该在 __contruct 里面做吗?或者我应该在“类产品”行之前做吗?
我还有一个 cronjob.php,它将每 x 分钟执行一次。当它执行时,它会创建一些像 Products 这样的对象并分析它们。因此,如果需要登录会话检查,那么我不确定如何使其工作,因为 cronjob 不支持会话。
请指教