3

こんにちは、次の PHP コードを実行しようとしていますが、エラーが発生します。クラススコープ内の変数に割り当てたいコアクラスに参照を渡しています..

注意: 配列から文字列への変換

前もって感謝します..

$core = new core($config);
$core->execute();   

class core
{
   private $config;

   public function __construct(&$config)
   {
      $this->$config = $config;
   }

   public function execute()
   {
      $this->set_path();
   }

   private function set_path()
   {
      return true;      
   }  
}
4

4 に答える 4

13

さて、まずは……。

$this->$config

の 2 番目は削除$する$config必要があります。そうしないと、 内の文字列で指定された名前の変数にアクセスしようとするからです$config。(たとえば、 $config が値として保持されている場合、クラス内の変数"test"にアクセスすることになります: )"test"$this->test

$configとにかく、それが渡されたときは何ですか?(文字列、配列、オブジェクトなど?)

于 2010-08-02T16:15:39.213 に答える
1

プライベート $config = 配列();

于 2010-08-02T16:14:36.807 に答える
1

$this->config = $config;

于 2010-08-02T16:19:06.943 に答える
0

これは、php 5.2 ではエラーなしで機能します。
どのバージョンの php を使用していますか?

<?php
class core
{
   private $config;

   public function __construct(&$config)
   {
      $this->config = $config;
   }

   public function execute()
   {
      $this->set_path();
   }

   private function set_path()
   {
      return true;      
   }  
}

$config=array(
     'a'    => '1'
    ,'b'    => '2'
    );

$core = new core($config);
$core->execute();
于 2010-08-02T16:25:29.073 に答える