前提・実現したいこと
パーフェクトphpという本の7章の自作フレームワークで詰まっています。
$dir、または$dirs[]の変数の中身が分かりません。
$loader->registerDirのところでなぜ引数が2つ指定されているのかも分かりません。
今の所上記2つがわからないです……。
多分、この本のこの章以降もわからないことだらけだと思うのですが、
なにか参考になるものがあるでしょうか?
初歩的な部類に入るので、この程度でわからないなら、同じような質問してしまいそうで不安です。
発生している問題・エラーメッセージ
変数、配列の中身が知りたい、引数を2つ指定している箇所の理由。
該当のソースコード
php
1 2 3ClassLoader.php 4 5<?php 6 7 8class ClassLoader 9{ 10 protected $dirs; 11 12 13 public function register() 14 { 15 spl_autoload_register(array($this, 'loadClass')); //自身とロードクラスをオートロードにセットする。 16 } 17 18 public function registerDir($dir) 19 { 20 $this->dirs[] = $dir; //ディレクトリを配列で格納。 21 22 } 23 24 public function loadClass($class) //ファイル名を$classで受け取る。 25 { 26 foreach ($this->dirs as $dir) { //ディレクトリ分フォリーチさせる。 27 $file = $dir . '/' . $class . '.php'; //ファイル名とディレクトリを合体させてファイルに格納。 28 if (is_readable($file)) { //読み込み可能か判断。 29 require $file; //ファイルを読み込む。 30 31 return; 32 } 33 } 34 } 35} 36 37bootstrap.php 38<?php 39 40require 'core/ClassLoader.php'; 41 42$loader = new ClassLoader(); 43$loader->registerDir(dirname(__FILE__).'/core'); //<-ここがわからないdirname?FILE?なぜ2つ?。 44$loader->registerDir(dirname(__FILE__).'/models'); //<-ここもわからない。 45$loader->register(); //オートロードにセット。
試したこと
bar_dumpしたけど何故かうまくいかなかった。
なぜかエラーが出ます。
なぜでしょうか?
補足情報(FW/ツールのバージョンなど)
xamppのローカル環境です。
win7です。
回答3件
あなたの回答
tips
プレビュー