« ethnaのフォーム定義をDBから取得する その3 | メイン | ethnaのフォーム定義をDBから取得する 補足 »

ethna

ethna のEthna_DB_PEAR:getMetaData()でNOTICE

テーブル定義情報を取得する為
$ethnadb =& $this->backend->getDB();
$a =& $ethnadb->getMetaData( $vv ); ←★
で、
(NOTICE): global.getmetadata(class/DB/Ethna_DB_PEAR.php:220): [PHP] E_NOTICE: Only variables should be assigned by reference in /home/toshi/Ethna/Ethna-2.5.3/class/DB/Ethna_DB_PEAR.php on line 220
メッセージが。
参照渡しの戻り値の問題。出ない環境もあったので調べると
PHP Version 4.4.8
Apache/2.2.3 (Unix)

Ethna-2.3.7
Ethna-2.5.0 preview3
Ethna-2.5.0 preview5
いずれでも再現。

PEAR のヴァージョンを疑い
PEAR 1.5.0 stable
PEAR 1.8.1 stable
PEAR 1.9.0 stable
いずれでも再現。

最終的に、PHP Version 4.4.8 → PHP Version 5.2.9 で改善。
PHP4で使わざるを得ない場合、Ethna_DB_PEAR:getMetaData() を変更すれば改善する。
        :
function &getMetaData($table){
    $def =& $this->db->tableInfo($table);	←★
    if (is_array($def) === false) {
        return $def;
    }
         :
   $def = $this->db->tableInfo($table);
に。

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/6596

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)