私は手続き型の方法でphpをプログラムしていました。OOP についてもっと学びたいので、新しいプロジェクトのために PHP を OOP 方式でプログラミングすることにしました。
とにかく、ユーザーがログインする必要があるプロジェクトがあるとしましょう。つまり、login.php でユーザーが正しいユーザー名とパスワードを入力すると、index.php にリダイレクトされ、製品テーブルからすべての製品のロードが開始され、index.php に適切に表示されます。
前に、これを行う方法は、login.php に次のコードを含めることでした。
login.php
session_start();
...
if (loggedCorrect($user, $password)) {
$_SESSION['loggedinuser'] = $user;
//redirect to index.php
}
index.php
session_start();
if (isset($_SESSION['loggedinuser']) {
//select fields from products table and display them
...
}
したがって、OOP では次のようになります。
login.php
session_start();
$user = new User($user, $password);
if ($user->hasCorrectLogin()) {
$_SESSION['loggedinuser'] = $user->getUsername();
//redirect to index.php
}
index.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
}
...
}
私の質問は次のとおりです。
オブジェクトを開始するとき(私の場合は Products など)。ログインセッションを確認する必要がありますか? もしそうなら、__contruct 内でそれを行うべきですか? または、「class Products」行の前に行う必要がありますか?
x 分ごとに実行される cronjob.php もあります。実行すると、製品などのオブジェクトが作成され、それらが分析されます。したがって、ログイン セッション チェックが必要な場合、cronjob はセッションをサポートしていないため、これを機能させる方法がわかりません。
お知らせ下さい