PHP
NCMB

NCMB PHP SDKの使い方: ユーザ管理

More than 1 year has passed since last update.

NCMB PHP SDKでのユーザ管理の方法を解説します。

アカウント名とパスワードによるサインアップ

use Ncmb\User;

$user = new User;
$user->userName = 'Ncmb_Tarou';
$user->password = 'password_for_MyApp_user';

$user->signUp();

アプリ(サービス)内のユーザを新しく作成するにはいくつかの方法がありますが、最も簡単なのはユーザ名とパスワードでのサインアップです。この場合 \Ncmb\User クラスのインスタンスを作り、userName と password プロパティをセットした後に signUp() メソッドを呼び出します。

サインアップが終了すると、そのユーザでログインした状態となります。

メールアドレスに会員登録メールを送る

use Ncmb\User;

$mailaddress = 'hoge@example.jp';
User::sendRegistrationMail($mailaddress);

会員登録要求のリンクを含んだメールを指定したメールアドレスに送信することもできます。これには sendRegistrationMail メソッドを用います。

ユーザログイン/ログアウト

use Ncmb\User;

// ログイン
$userName = 'Ncmb_Tarou';
$password = 'password_for_MyApp_user';
$user = User::login($userName, $password);

// ログアウト
User::logout();

ユーザごとの権限管理(ACL)を行う場合は、対象ユーザによるログイン処理を行います。ユーザ名/パスワードによるログインの他、Twitter/Facebook 認証もあります。(こちらについては別に記事を書く予定です)

現在のログインユーザの取得

use Ncmb\User;

$user = User::getCurrentUser();

getCurrentUser メソッドを用いると、現在ログイン中のユーザ情報を取得できます。

ユーザの削除

use Ncmb\User;

$id = '94GpvfVnPz7pMo7c';
User::unregister($id);

ユーザのobjectIdを指定して、そのユーザを削除することができます。ただしユーザーには、標準でそのユーザしかアクセスできない権限が付加されているので、別に権限を設定しないと削除できないケースの方が多いでしょう。

ユーザに付加情報を追加

\Ncmb\User クラスは \Ncmb\Object を継承しているので、任意のキーと値をセットすることが可能です。

use Ncmb\User;

$userName = 'Ncmb_Tarou';
$password = 'password_for_MyApp_user';
$user = User::login($userName, $password);

$user->age = 24;
$user->gender = 'female';
$user->rank = 8;
$user->save();

上の例では、ユーザ名「Ncmb_Tarou」でログインした後に、そのユーザに対して

key value
age 24
gender female
rank 8

という値を追加しています。