Laravelのrequest()
とかがどうやって呼ばれてるのかを調べていくうちに辿り着いたのでメモがてら。
Class
は簡単に読み込めるけど、Function
は一筋縄ではいかなさそう。
ついでにClass
に好き勝手プロパティ増やせることも発見した。
autoloaderを実装
spl_autoload_registerを使う。Laravelはcomposerが上手いことやってくれてるっぽかった
bootstrap.php
<?functionregist(){spl_autoload_register(function(){require'./Hoge.php';require'./Piyo.php';});}
使いたいクラス
適当に用意
Hoge.php
<?classHoge{public$hoge;}
Piyo.php
<?classPiyo{public$piyo;}
autoloaderを呼んで使う
ついでに好き勝手にプロパティも生やす
test.php
<?require'./bootstrap.php';// ここでクラスをautoloadするregist();// どこからも呼んでないけど$h=newHoge;// 生やせる$h->fuga="aaa";$h->hogepiyo="bbb";// 使える$p=newPiyo;$p->fuga="aaa";$p->hogepiyo="bbb";var_dump($h,$p);/*
結果
class Hoge#2 (3) {
public $hoge =>
NULL
public $fuga =>
string(3) "aaa"
public $hogepiyo =>
string(3) "bbb"
}
class Piyo#3 (3) {
public $piyo =>
NULL
public $fuga =>
string(3) "aaa"
public $hogepiyo =>
string(3) "bbb"
}
*/