index.php
php
1<?php 2require_once(__DIR__ . '/../../config/config.php'); 3 4$app = new MyApp\Controller\Index(); 5 6$app->run(); 7 8if($app->getUserdata()->icon){ 9 echo "◯◯"; 10}else { 11 echo "□□"; 12} 13?>
sub/index.php
php
1<?php 2require_once(__DIR__ . '/../../../config/config.php'); 3 4$app = new MyApp\Controller\Index(); 5 6$app->run(); 7 8if($app->getUserdata()->icon){ 9 echo "◯◯"; 10}else { 11 echo "□□"; 12} 13?>
index.php
sub/index.php
では、$app = new MyApp\Controller\Index();
で初期化してありMyApp\Controller\Index()
の関数が使えます。
MyApp\Controller\Index()
ではextends \MyApp\Controller
で \MyApp\Controller
そてあるので、 \MyApp\Controller
の関数も使えます。
\MyApp\Controller
ではユーザのIDでファイルを探して、あればtrueをなければfalseを返すプログラムが実行されるようになってます。
php
1public function usericon(){ 2 $this->setUserdata("icon", false); 3 if ($this->isLoggedIn()) { 4 if (file_exists("./../users/icons/" . $this->me()->id . ".png")) { 5 $this->setUserdata("icon", true); 6 } 7 } 8 }
index.php
sub/index.php
を実行すると、結果上の関数が実行されます。
index.php
ではtrueが返ってくるのですが、sub/index.php
ではfalseが返ってきます。
index.php
とsub/index.php
はディレクトリは違いますが呼び出しているファイルは同一のファイルで関数は実際呼び出されています。
上のコードの$this->me()->id
でユーザのIDを入れているんですが、echo $app->me()->id;
としindex.php
sub/index.php
それぞれで実行するとちゃんとIDがはいってきたので問題無いと思います。
ではなぜ、IDもはいっているのに画像が表示されないのでしょう?
回答2件
あなたの回答
tips
プレビュー