セキュリティを考慮したログイン機能をPHPで作る方法その3-エラーの修正編
トラブル発生
今までダウンロードしたファイルに基本設定を施してきたので、ここらで一度動かしてみようと思ったら、、、
Class'Fr\LS'が見つからないって。気づくの遅い??
見つからないって言われたけど、そもそもこのClass'Fr\LS'って何を表してるかあまりわかっていなかった。基本に戻ってコードを見ていこう。
基本1.class.logsys.phpに全ての関数やら変数やらの定義が書いてある
このファイルにログイン機能の基となるコードがまとめられていて、バージョンアップがあれば、ここのファイルを差し替えるだけで良いようになっている。
つまりこのclass.logsys.phpのファイルは触らない。
じゃあ、どうやってそのファイルを使っていくかというと、config.phpというファイルを作り、include関数という外部のファイルを読み込ませる関数を使ってclass.logsys.phpを呼び出す。
<?php
include "class.logsys.php";
そして、他のファイルで使う時はconfig.phpを読み込ませるという流れ。
基本2.namespace関数とクラス
Class'Fr\LS'のFrはclass.logsys.php内にて下のコードで定義されています。
<?php
namespace Fr;
namespace関数。名前はFr。namespace関数は日本語で名前空間という超直訳された名前の関数です。関数とか変数の名前ってそれぞれつけていくと、やれあそこでその名前使ったからここでは使えない、など面倒なことになるらしいので、もう関数とか変数とか一つにまとめた場所で名前つけよーぜ、みんなーここにしゅーごー的な関数らしい。
もっと賢い解説はこちら。
では続いて、Class'Fr\LS'のLS。これはクラスの名前。
このLSというClassにログイン機能で使う予定の関数とか変数がまとめて入ってます。
クラスに関する基本事項はこのサイトを参考にしました。
[PHP]クラスの基礎 メンバ変数とメンバ関数 | PHP Archive
エラー解消!
コードをじーーーーーーっと見つめながら格闘すること3時間。遂に解決の時を迎えた。
問題があったのは、config.php。一番初めのまさに出だし。
<?
include "class.logsys.php";
<?の続き、PHPってはいってないやん!!!!!!!!!
えーーーーー、そこーーーーーー????( ゚Д゚)
今さっき、振り返りしながらこのブログのためにinclude部分引用して気づいたわwww
慌てて<?phpに直したら、今度は以前エラーが出ていた時消config.phpの=>を=に変えてみたのを直せって。
\Fr\LS::$config = array(
"info" => array(
"company" => "Subin's Blog Demos",
"email" => "mail@subinsb.com"以下省略。演算子が続く限り=>に戻す。
ですよねーーーー。
ということで、なんとか動き始めました。
ファイルはちゃんと自分で責任をもって見ないとだめですね。汗