• 締切済み

外部ファイルのクラスのインスタンスが生成できない

いつもお世話になっております。 PHP(Ver5.2)が利用できるレンタルサーバーを借りていろいろやっているのですが、 include_once した外部PHPファイルの中のクラス定義のコンストラクタがCallされません。 //外部クラスの記述 class A{ public function __construct(){ echo "OK"; } } //メインPHPの記述 include_once "xxx.php"; $obj = new A(); ↑におけるメインPHPをブラウザから呼び出したとき、本来なら OK とechoされるはずなのに、何も表示されません。 また、クラスAに定義したpublicなfunctionをCallしようとすると、定義されてないメソッドをCallした、とエラーになります。(インスタンス自体が生成されていない??) ファイル自体は正常にIncludeされていると思います。(ファイル名を間違ったらエラーになったから) ちなみに、クラスAの記述をメインPHPに記述すると、正常に動きます。 外部ファイルのクラスを正常に動かすにあたって、何かphp.iniあたりの編集が必要なのでしょうか? どうぞよろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

つかぬ話・・・ phpファイルではない普通のテキストファイルはインクルードできますか?

gongon8
質問者

お礼

yambejp様 ご回答いただきありがとうございます。 通常のTextファイルはちゃんと表示されました。 実は、include時のファイル名の大文字小文字が違っており、 それを直したら、正常にコンストラクタが評価されました。 私の単純ミス・・・?? ただ、テキストファイルは大文字・小文字の違いでエラーになったのに、 phpファイルはエラーにならなかったんです。 今までのLAMP環境での案件においても、大文字・小文字が違っていても、 エラーにはならなかったような薄い記憶が・・・。アルツかしら??

関連するQ&A

  • 外部ファイルを読み込み そのファイル内でクラス関数を呼びたい

    クラス内にて外部ファイルを読み込んで そのファイル内で 呼び出されたクラスの処理を呼び出したい と思ってます class hoge{ function vew(){ //ファイルを呼び出す } function content(){ echo //文字列を表示 } } --呼び出されるファイル <b> <?php //呼び出したクラスのcontentを呼び出す $this->content(); ?></b> 多少流れや構造が変わってもいいので ファイルからクラスの処理を呼び出す方法は無いでしょうか?

    • 締切済み
    • PHP
  • クラスが使えない。

    こんにちは。 PHPで、次のコードを使い、 クラスを使おうと思っていますが、 うまくいきません。 <?php echo "練習です!"; class mylesson{ public function ee(){ echo "erer"; } } $ob=new mylesson; $ob->ee(); ?> 練習です!のみ表示され、ererは 表示されません。 何がいけないのでしょうか。 よろしくお願いします。 また、別ファイルのクラスファイルを作りたいのですが、 この場合、include関数で、クラスファイルを 読み込めばいいのでしょうか。 追加ですいませんが、何かわかれば、お願いします。

    • ベストアンサー
    • PHP
  • 外部ファイルの関数を使うには?

    phpで include_once('okok'); なら、そこで定義した関数や変数は使えるのですが、 perlで require "dame.pl"; として、dame.plで定義した変数を使おうとすると、 Global symbol "%hash_hensuu" requires explicit package name at test.pl line 16. となります。 パッケージや変数の輸出?など片言の言葉が思い浮かぶのですが、実際どのように書けば、外部ファイルの関数を使えるようになるのでしょうか?

    • ベストアンサー
    • Perl
  • phpのクラスにて別ファイルの変数について

    PHPのクラス内で別ファイルで定義した変数を呼び出したく "require_once"でそのファイルを読みこみその変数を呼び出したのですが 「Notice: Undefined variable:」のエラーが表示されました。 他のクラスではないphpプログラムでは正常に表示されましたが クラスでは別の方法で表示する必要があるのでしょうか。 可能であればその手段もご提示頂ければ幸いです。 どなたかご教示頂けないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 外部PHPファイルの読込みについて

    いつもお世話になります。 外部PHPファイルの読込みが、期待通りの動作をしません。 レンタルサーバ会社は、Aサーバ、Bサーバ 同じ。(条件同じ) allow_url_fopen は、defaultの ONです。 まずAサーバに、agent.phpをアップロード。agent.phpファイルの中身は、 <?php $agent =$agent = $_SERVER['HTTP_USER_AGENT']; ?> これを、Bサーバの、test.phpに読込み。test.phpの中身は、 <?php include("http://BサーバのURL/agent.php"); echo "<html><head><title>.....</title></head>\n"; echo "<body><p>UserAgent : " . $agent . "</p></body></html>\n"; ?> この場合、http://BサーバのURL/agent.phpを開いても、 UserAgent($agent)の値は出てきません。これは、どうしてでしょうか? 但し、Aサーバに、下記のPHPファイル(xyz.php)をアップロードして <?php echo "<p>あいうえお</p>\n"; ?> として、Bサーバのtest.phpの中身を <?php echo "<html><head><title>.....</title></head><body>\n"; include("http://BサーバのURL/xyz.php"); echo "</body></html>\n"; ?> として、test.phpを読み出すと、「あいうえお」と出力されます。 何故なのか、またどうしたら期待通り動作するのかを、教えて下さい。  よろしくお願いします。

    • ベストアンサー
    • PHP
  • 基本クラスに派生クラスのインスタンスを持たせたいのですが.....

    A.h//////// #pragma once #include "B.h" class A{ B* b; } B.h/////// #pragma once #include "A.h" class B : public A{ } ////////////// 上のようなクラス構成にさせたいのですが..... #include "A.h"をB.hに追加したところでエラーが出ます。 基本クラスに派生クラスのインスタンスを持たせたいのですが.... どのようにすれば良いでしょうか? エラー内容は : error C2143: 構文エラー : ';' が '*' の前にありません。 : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません この三つが出ます。 何方かよろしくお願いしますm(_ _)m

  • 外部ファイルの読み込み

    HTMLにPHPの外部ファイルを読み込みたいと考えています。 <?php include ("1.php"); ?> <html> <head> <title></title> </head> <body> <div> <?php include ("2.php"); ?> </div> </body> </html> <?php include ("3.php"); ?> こんな感じで組み込むことって可能ですか? 外部ファイルなしで普通に1つにして読みこませると大丈夫なのですが、上記のように外部ファイルとして読み込ませると、表示されません。 <html>タグの外って、基本的にだめなんですか? 教えてください。

    • ベストアンサー
    • PHP
  • PHP/外部ファイルの数値を計算

    PHPで、計算する時、例えば <?php $x = 5; $y = 3; echo $x + $y ."\n"; ?> とすれば答えが出ます。 この時、$x と$yの値を外部のファイルに入力したいです。 試したのは $xの値は、x.phpというファイルに5と入力 $yの値は、y.phpというファイルに3と入力 そして <?php $x = <?php include('x.php'); ?>; $y = <?php include('y.php'); ?>; echo $x + $y ."\n"; ?> としたのですが、はじかれてしまいます。 正しい方法を教えて頂けないでしょうか。 何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのパス指定

    初めてphpを触っています。 いくつかの処理を外部ファイルにしたいのですが パスの指定が悪いのか、同じ階層に置いたり、いろいろ試してもfatal error ばかりです。 どこが悪いのか、教えていただけないでしょうか? サンプルとして、moto.phpのなかのincludeフォルダー内の外部ファイル:func.phpを実行することとします。 moto.php <?php require "./include/func.php"); $a = 2; $b = 1; $c = $a - $b * $a; echo return_word($a); echo "<br>"; //改行 echo return_word($b); echo "<br>"; //改行 echo return_word($c); ?> func.php <? php function return_word ( $data ){ if ( $a==1){ return "a"; }else if ($a==2){ return "b"; }else{ return "c"; } } ?> コマンドラインから php moto.php を実行すると <? php function return_word ( $data ){ if ( $a==1){ return "a"; }else if ($a==2){ return "b"; }else{ return "c"; } } ?> Fatal error: Call to undefined function return_word() in C:\xxxxxx\php\moto.php on line 9 となってしまいます。 外部ファイルは見えているようなのに、どうして関数がundefined になってしまうのでしょうか? phpの基本的なことなのかもしれませんが よろしくアドバイスお願いできればと思います。

    • ベストアンサー
    • PHP
  • PHPでHTML文を外部読み込みする場合

    HTML+CSSを記述したPHPファイル(a.php)に、HTMLを記述したHTMLファイル(b.html)をincludeしたいと考えています。 a.phpに読み込まれるb.html部分にはa.phpで定義したスタイルを適用したく無いのですが、こういう条件を満たすにはどのような方法があるでしょうか?

    • ベストアンサー
    • PHP