私は、5 年間の平均的な熟練した PHP の知識を OOP にもっと依存するように変換するために最善を尽くしてきましたが、クラスの実用性を把握するのにはるかに苦労しています。
私が頻繁に行うことは、クラスの使用方法の良い単純な例であり、開始するのに役立つと思います。
現在、ユーザーデータを格納する「オブジェクト」を作成したい場合は、これを行います...
$user=/* some work to pull from SQL the user's saved information*/;
echo "Welcome ".$user['firstname']." ".$user['lastname']."!";
その場合はうまくいきますが、私がしなければならないときは醜くなります...
$user=/* some work to pull from SQL the user's saved information*/;
function echo_welcome() {
global $user;
echo "Welcome ".$user['firstname']." ".$user['lastname']."!";
}
echo_welcome();
基本的に、グローバルの使用をやめようとしています。これは、(ほとんど) 悪であることがわかっているからです。
クラスを使用してこれを達成するにはどうすればよいですか? クラスが SQL から一度だけユーザー情報を生成し、他の関数の内外でユーザー配列の値にアクセスできるようにすることを期待します。
作成後にクラス内で変更する方法を教えていただければ、ボーナス ポイントです。たとえば、他の条件によっては、ユーザー情報を強制的に変更する必要がある場合があります。例えば...
if ($site_settings['allUsersNoAccess']) $user['noAccess']=true;
if ($user['noAccess']) die("Go away");