前提・実現したいこと
Head.phpのclass「Logic_Head」をindex.phpで利用したいです。
発生している問題・エラーメッセージ
Fatal error: Uncaught Error: Class'\php\Logic_Head'not found~
該当のソースコード
'A/php/Logic/Head.php'
<?php namespace php; class Logic_Head { private static $instance = null; public static function instance() { if(is_null(self::$instance)) { self::$instance = new self(); } return self::$instance; ・・・以下略 } } ?>
'A/view/index.php'
<head> <?php \php\Logic_Head::instance()->メソッド名; ?> <head> ・・・以下略
試したこと
namespaceを
namespace php\Logic;
などと替えてみましたが変わりませんでした。
あと初歩的ですが、スペル間違いを確認し、検索して調べてみましたが
問題の解決に至りませんでした。
補足情報(FW/ツールのバージョンなど)
・php7.0
・初心者の練習の為、'Logic/Head.php'は知り合いが書いたものです。
(知り合いのところでは問題なく使用できていました。)
初歩的な質問で恥ずかしいですが、どうかご教授お願い致します。
後日談~自己解決方法
その後、元の'Logic/Head.php'はlalavelで使用していた事が分かりました。
自分の環境ではフレームワークを使用していませんでしたので
同じ様にnamespaceを使用しようとしても出来ないのは当たり前でした。
<?php require_once '../../php/Logic/Head.php'; $page = new Logic_Head(); //インスタンス生成 $page->meta_merge(array()); //メタ用メソッド $page->set_title('新しいページ'); //タイトル用メソッド echo $head = $page->create_head();//htmlへ表示 ?>
上記とすることで目的とする「Head.phpのclass「Logic_Head」をindex.phpで利用したい」を実現できました。
namespaceはおいおいinclude_pathを設定し直して、再トライしてみようと思います。
※ 今回改めてPHPマニュアルの大切さが分かりました。
お二人ともありがとうございました。
回答1件
あなたの回答
tips
プレビュー