ど素人によるwebサービス開発日記

ウェブの構造もわかっていない超初心者ですが、Webサービスを開発中です。調べたこと、学んだことをまとめていきます。

セキュリティを考慮したログイン機能をPHPで作る方法その3-エラーの修正編

トラブル発生

今までダウンロードしたファイルに基本設定を施してきたので、ここらで一度動かしてみようと思ったら、、、

f:id:hajimetenoweb:20150607165150p:plain

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"

以下省略。演算子が続く限り=>に戻す。

 ですよねーーーー。

ということで、なんとか動き始めました。

 

ファイルはちゃんと自分で責任をもって見ないとだめですね。汗