アプリ版:「スタンプのみでお礼する」機能のリリースについて

例2
▽クラス定義内でのinclude - id:anatooのブログ
  http://d.hatena.ne.jp/anatoo/20080106/1199616528

・クラスの中でincludeすると、コンストラクタ以外だとエラーになるのですが、なんででしょうか?
・なぜ、syntax errorになるのでしょうか?
・コンストラクタならいい、という決まりなのでしょうか?
・それはどこに書いてあるのでしょうか?

A 回答 (3件)

コンストラクタがどうという話じゃなく、


Class直下ではvarとかfunctionしか書けないという話かと。
かつ、varとかfunctionの引数には動的なものは使えない。
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2013/02/15 11:32

No.1です。


色々実験しましたがおっしゃる様にエラーになります。
>>Parse error: parse error, unexpected T_INCLUDE, expecting T_FUNCTION in H:\Ap2_hsap\home\hoge2.php on line 4
クラス定義全体をinclueすることは有っても部分的にincludeすることが無かったので全く気が付きませんでした。
以下、実験したソースです。
<?php
class Vegetable {

var $edible;
var $color;
//上記2行をincludeするとエラーになる


function Vegetable($edible, $color="green")
{
// $this->edible = $edible;
// $this->color = $color;
include 'Vegetable2.php';//上記2行をincludeするとOK
}

function is_edible()
{
return $this->edible;
}
//上記functionをincludeするとエラーになる

function what_color()
{
// return $this->color;
include 'what_color2.php';//上記1行をincludeするとOK
}

}
print_r( new Vegetable(true, "blue"));
?>
自分的に、新発見でした。
お役に立てなくて御免なさい。
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2013/02/15 11:32

携帯から失礼します。


いまテスト出来ませんが
includeでは無く普通に書いて実験してみて下さい。
publicが余計の様な気がしますが?
何でclassのfunctionがpublicなんでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2013/02/15 11:33

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