PHP初めて見ました。
Amebaでブログを始めよう!

Pear::Auth メンバ変数一覧

var $expire = 0;


var $expired = false;


var $idle = 0;


var $idled = false;


//認証するにあたってユーザー名とパスワードを何で管理するか、ストレージ「配列、DBなど」を選択。

var $storage = '';


var $loginFunction = '';


var $showLogin = true;


var $allowLogin = true;


var $status = '';


var $username = '';


var $password = '';


var $checkAuthCallback = '';


var $loginCallback = '';


var $loginFailedCallback = '';


var $logoutCallback = '';


var $_sessionName = '_authsession';


var $version = "@version@";


var $advancedsecurity = false;


var $_postUsername = 'username';


var $_postPassword = 'password';


var $session;


var $server;


var $post;


var $cookie;


var $authdata;


var $authChecks = 0;


var $logger = null;


var $enableLogging = false;


var $regenerateSessionId = false;

Pear::Authのコンストラクター

さて、早速ソースコードを拝見。


ちなみに自分、プログラミング暦1年ぐらいの初心者なので


( ̄_ ̄ i) な感じですw


function Auth($storageDriver, $options = ''', $loginFunction =''', $showLogin = true)


パラメータをチェックしてみました。


$storageDriverは認証するにあたってユーザー名とパスワードを何で管理するか、ストレージを選択します。


配列を使って認証させたいなら「Array」


データベース(PEAR::DB)を使って認証させたいなら「DB」を指定してあげます。


ちなみに、Containerフォルダーの中を覗いてみると、ストレージドライバーごとのファイルが存在知ることが分かりました。


パラメータの$storageDriverは、メンバ変数、$this->storage_driverに代入されます。


if (is_object($storageDriver)) {
    $this->storage =& $storageDriver;
    $this->storage->_auth_obj =& $this;
} else {

    ↓ここで代入される。  
$this->storage_driver = $storageDriver;
$this->storage_options =& $options;
}


次に$optionsです。


Auth 自身およびストレージドライバの両方についてのオプションを含む配列を指定してあげます。


簡単に言えば、認証システムを使うにあたってのオプションを指定してあげるだけです。


パラメータの$optionsは、$this->applyAuthOptions($options);によって、配列の値をメンバー変数に代入させています。


applyは適用と言う意味で、日本語に直訳するとオプションを適用させるという意味です。


applyAuthOptionsメソッドは


function &applyAuthOptions(&$options)
{

    //$optionsが配列の場合
    if(is_array($options)){

      


        //$_SESSIONのキー
        if (!empty($options['sessionName'])) {
            //メンバ変数に代入して$options['sessionName']を削除

            $this->_sessionName = $options['sessionName'];
            unset($options['sessionName']);
        }


        if (isset($options['allowLogin'])) {
            $this->allowLogin = $options['allowLogin'];
            unset($options['allowLogin']);
        }


        
        if (!empty($options['postUsername'])) {
            $this->_postUsername = $options['postUsername'];
            unset($options['postUsername']);
        }
        if (!empty($options['postPassword'])) {
            $this->_postPassword = $options['postPassword'];
            unset($options['postPassword']);
        }
        if (isset($options['advancedsecurity'])) {
            $this->advancedsecurity = $options['advancedsecurity'];
            unset($options['advancedsecurity']);
        }
        if (isset($options['enableLogging'])) {
            $this->enableLogging = $options['enableLogging'];
            unset($options['enableLogging']);
        }
        if (isset($options['regenerateSessionId']) && is_bool($options['regenerateSessionId'])) {
            $this->regenerateSessionId = $options['regenerateSessionId'];
        }
    }


return($options);

}











Pear::Authのソースコードからコメントを削除しました。

以前ダウンロードした、Auth-1.6.1のフォルダー内にあるAuth.phpを開いてみた。


1365行もある( ̄□ ̄;)


コメントうぜぇw


コメント削除できないか探してみたらこんなホームページがありましたので、使わせて頂きました。


http://d.hatena.ne.jp/toku-hiro/20080223


886行まで減りました。