プロが教える店舗&オフィスのセキュリティ対策術

PHPでクラスの中にクラスを指定するのは不可能なことなのでしょうか?

<例>
name.php
<?
require("list.ini");

$list = new Select;
$list->doSelect($a);
<中略>
?>

list.ini
<?
class Select{
function doSelect($qu){
require("col.ini");
$col = new Col;
$col->doCol($ab,$ac);
<中略>
}
?>

col.ini
<?
class Col{
function doCol($a,$b){

<中略>
}
?>

とすると
Fatal error: Cannot redeclare class
エラーがでます。

不可能なのでしょうか?

よろしくお願いします。

A 回答 (2件)

書き方の問題ですね。


col.ini のクラス宣言部
class Col{
 省略
}

list.ini
の先頭に
<?
class Col{
 省略
}
class Select{
function doSelect($qu){
$col = new Col;
$col->doCol($ab,$ac);
 省略
}
}
の様に1つのファイルにまとめて記述してしまうか、
または、

list.ini
の先頭でclass Select{
の前に
require_once("col.ini");
class Select{
function doSelect($qu){
// require("col.ini"); // この行は削除
$col = new Col;
 省略
}
}

の様にすれば良いと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
classが1ファイルに2つ書けるとは知りませんでした。

お礼日時:2003/11/09 22:20

list.iniの


class Select 内のfunctionの中ではなく、
class Select の外で呼び出してはどうでしょう?

「classの中にclass」というよりも、
functionの中にclassを書くことは出来ないと思いますよ。

なので、

list.ini
<?
require "col.ini";
class Select{
$col = new Col;
<中略>
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!