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で質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QクラスTシャツの作成について

クラスTシャツというか
部活(吹奏楽部)でみんなでそろえてTシャツを作りたいと思ってます
お値段もお手ごろでデザインも可愛い
Tシャツ作成会社をご存知の方
教えてください

Aベストアンサー

安いトコロです
http://www.nook-market.com/
http://www.shimizu-seihan.com/

いろいろオプションがあるトコロです
http://www.nakaki.net/index.html
http://www.p1-intl.com/index.html

Qprint "{$data[$i][$j]}";の $dataと「直接関係」がある

<!DOCTYPE html>
<html>
<head>
<title>P185 Sample6-15▸ 多次元配列</title>
</head>
<body>

<?php

$data[0][0] = "東京";
$data[0][1] = 32;//$data[0][●]に東京のデータを格納します。
$data[0][2] = 25;
$data[1][0] = "名古屋";
$data[1][1] = 28;//$data[1][●]に名古屋のデータを格納します。
$data[1][2] = 21;
$data[2][0] = "大阪";
$data[2][1] = 27;//$data[2][●]に大阪のデータを格納します。
$data[2][2] = 20;
$data[3][0] = "京都";
$data[3][1] = 26;//$data[3][●]に京都のデータを格納します。
$data[3][2] = 19;
$data[4][0] = "福岡";
$data[4][1] = 27;//$data[4][●]に福岡のデータを格納します。
$data[4][2] = 22;

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>都市名</th>
<th>最高気温</th>
<th>最低気温</th>
</tr>

<?php

for($i=0; $i<count($data); $i++){
print "<tr>";
for($j=0; $j<count($data[0]); $j++){
print "<td>{$data[$i][$j]}</td>";//配列の要素を出力する。
}
print "</tr>\n";
}

?>

</table>

</body>
</html>
以上ですが・・・だんだん難しくなってきました!
 さて
  print "<td>{$data[$i][$j]}</td>";の $dataと「直接関係」があるところは
 1) for($j=0; $j<count($data[0]); $j++){  
 2)$data[0][0] = "東京";~$data[4][2] = 22;
  の1)2)のどちらと「直接関係」があるのでしょうか?
 以上よろしくお願いいたします。

<!DOCTYPE html>
<html>
<head>
<title>P185 Sample6-15▸ 多次元配列</title>
</head>
<body>

<?php

$data[0][0] = "東京";
$data[0][1] = 32;//$data[0][●]に東京のデータを格納します。
$data[0][2] = 25;
$data[1][0] = "名古屋";
$data[1][1] = 28;//$data[1][●]に名古屋のデータを格納します。
$data[1][2] = 21;
$data[2][0] = "大阪";
$data[2][1] = 27;//$data[2][●]に大阪のデータを格納します。
$data[2][2] = 20;
$data[3][0] = "京都";
$data[3][1] = 26;//$data[3][●]に京都の...続きを読む

Aベストアンサー

> の1)2)のどちらと「直接関係」があるのでしょうか?

No.1さんと同じく質問の意味が理解できません。
わかり易く補足いただいた方が良いかと思います。



”の1)2)のどちらと「関係」があるのでしょうか?” というご質問であれば

”どちらとも関係あります” という回答になります。

Q文化祭等でのクラスTシャツ

僕のクラスでは文化祭でクラスのTシャツを作ります。
でも当日しか着ないのでお金の無駄、コストに対するリターン(賛成派はこれを盛り上がりと称しています)が少なすぎると思い、多数決では反対に回りました。
しかしほかの生徒は全員賛成でした。

皆さんだったら、文化祭を盛り上げるためにクラスでTシャツを作るのに賛成ですか、反対ですか?値段は一着1000円台前半です。人数は40人程度です。デザインなどは問いません。

いろいろな意見を聞いてみたいです。よろしくお願いします。

Aベストアンサー

「当日しか着ない」と考えてしまうところが若さですね。

当日の盛り上がりグッズとしての1000円の出費も高校生なら高くないと思います。
(休みの日にボーリングやカラオケ行って、ハンバーガー食べて帰って来たらそれ以上使ってませんか?)

それに文化祭が終わってからも男子は部屋着として使い、それを友達との話のネタとして盛り上がることも出来ますし、キレイに洗濯した上で保存しておけば数十年後の同窓会でウケをとれること間違いないですね。

私は賛成派です。

ただ、私なら1000円台前半は逆に「安い」と言ってしまいそうです。

大人に見せても恥ずかしくない、きちんとしたデザイン&作りで文化祭後も街中で普通に着られるクオリティー目指そうと言い出すと思うのでベースとなるTシャツだけで1000円いっちゃいます。(笑)

100均アンダーシャツ+手書きを息子が中学生の時に運動会で見ましたが【マジメな教師の正しさで作っちゃいました】感満載で中学生でも着るほうも見るほうも、ちょっと・・・。

高校生なら折角の大義名分のある無駄遣いを楽しむのも一手だと思います。

それをするためにたくさん問題が出てくると避けるのではなく、問題を解決しようと取り組む姿勢を養うにもいい機会ですから。

「当日しか着ない」と考えてしまうところが若さですね。

当日の盛り上がりグッズとしての1000円の出費も高校生なら高くないと思います。
(休みの日にボーリングやカラオケ行って、ハンバーガー食べて帰って来たらそれ以上使ってませんか?)

それに文化祭が終わってからも男子は部屋着として使い、それを友達との話のネタとして盛り上がることも出来ますし、キレイに洗濯した上で保存しておけば数十年後の同窓会でウケをとれること間違いないですね。

私は賛成派です。

ただ、私なら1000円台前半は逆に「安い...続きを読む

Qforeach($stock as $name => $value){ の$value)で値用の変数

<!DOCTYPE html>
<html>
<head>
<title>P161 Sample6-7 array()を使う</title>
</head>
<body>

<?php

$stock = array("みかん"=>80,"いちご"=>60,"りんご"=>22, "もも"=>50,"くり"=>57);

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>番号</th>
<th>個数</th>
</tr>

<?php

foreach($stock as $name => $value){
print "<tr><td>{$name}</td><td>{$value}個</td></tr>\n";
}

?>

</table>

</body>
</html>
以上の foreach($stock as $name => $value){ 
 のforeach文は特殊な繰り返し文で$stockは”変数名”・$name"はキー(引出し)用の変数・
 ここまでは何となく意味がわかります。最後のは$valueは”値用の変数”・・とあります。
 ここで言う、”値用の変数”の値とは何のことなのでしょうか? 
 よろしくお願いいたします。

<!DOCTYPE html>
<html>
<head>
<title>P161 Sample6-7 array()を使う</title>
</head>
<body>

<?php

$stock = array("みかん"=>80,"いちご"=>60,"りんご"=>22, "もも"=>50,"くり"=>57);

?>

<table border="2">
<tr bgcolor="#AAAAAA">
<th>番号</th>
<th>個数</th>
</tr>

<?php

foreach($stock as $name => $value){
print "<tr><td>{$name}</td><td>{$value}個</td></tr>\n";
}

?>

</table>

</body>
</html>
以上の foreach($stock as $name => $value){ 
 のfor...続きを読む

Aベストアンサー

$name には、"みかん"、"いちご" など。$valueには、80や60が入ります。

> $stock = array("みかん"=>80,"いちご"=>60,"りんご"=>22, "もも"=>50,"くり"=>57);

の => という記号と対応しているでしょ?

Q学祭のクラスTシャツに

学祭のクラスTシャツに
皆にメッセージ
書いてもらってるんですが
記念に塾の先生に
書いてもらってもいいでしょうかね?

何で?ってなったら
どうしようと思って…

Aベストアンサー

クラスTシャツとは、貴方個人の物なのですか?

それとも学祭でみんなで使う物ですか?

塾の先生とはあなた個人としか繋がりが無いのですよね。学祭と塾の先生は何かの理由で繋がりでもあるのですか?

その辺がわからないとお答えしにくいなあ

Q体育祭のクラスtシャツデザイン

体育祭のクラスtシャツデザインをしなければならないのですが、なかなか良い案が浮かびません(><)

勝利の象徴の動物を描こうかと思っているのですが、どんな動物が当てはまるか、また虎は勝利の象徴の動物か教えていただきたいです。

他にも体育祭クラスtシャツにふさわしいデザインのアイデアがあればお願いします!

(条件)

・胸元に10㎝×10㎝くらいの大きさでプリントするのであまり細かすぎるデザインは出来ない
・実際存在するキャラクターはNG

Aベストアンサー

虎はたしか勇気の象徴だったと思います。ライオンは勝利の象徴です!
不死鳥とかどうですか?
どこかの王家の文様をオマージュしてもいいかも

Qループ forに関して for($i = $num ; $i < $max ; $i++)

phpの初心者です。

以下の記述ですが、上手にループしてくれません。

for($i = $num ; $i < $max ; $i++)

$num の部分に「0」を入れると稼動するのですが、変数を代入したいというのが希望です。

方法があったらご教授下さい。

Aベストアンサー

もう一度全体のコードを見直してみてください。
問題なく動作します。

$num = 1;
$max = 5;

for($i = $num ; $i < $max ; $i++){
echo $i."<br />";
}

QクラスTシャツ

クラスTシャツのデザインを考えなければならないのですが、なにせ私は絵が描けないので(汗)困っています!!
なので、参考になるようなイラストの載っているHPを何でも良いので教えてください~!!(>_<)

Aベストアンサー

こんにちわ^^僕もクラスTシャツを頼まれたのですが、その時は何とか乗り切りました。クラスTシャツというのは、しょせん記念にっていう程度ですよね。僕が思うに金を出したのだから長く着れる物がいいです。やっぱり、着たくない物に金を出す人は居ないですよ!つまらない話になってしまいすいません。話は変わりますが、僕は白黒写真なんかをプリントしてもらいました。けっこう、評判良かったです。わからなかったら、クラスの中のお洒落男の子に聞いたらいいと思いますよ!あと、無難に行きたいのならクラス全員の名前を書く事ですね。下のHPを参考にしてくださいね。
http://www.tsutano.com/yutaka/photo/usa/
http://yooyoh.cocolog-nifty.com/photos/america/
http://www.mas-yamazaki.com/washington16.html
http://www4.ocn.ne.jp/~puropera/

Q$this->pets[$i]->report();の意味がわかりません

$this->pets[$i]->report();の記述が出てきてわかりません。
いったい何をしているのか良くわかりません。
ご教示よろしくお願い致します。

Aベストアンサー

配列の中にオブジェクト(クラスを実体化したもの)があり、そのオブジェクトのメソッドを参照しています。
$this->pets = new Pet(); ←こんな記述無いですか?

そのソースの前後がわからないと、まったく意味がわからないので補足お願いします!


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング