2

Web サイトの public ディレクトリの「messages」サブディレクトリにあるファイルに (カスタム コントローラ プラグインからの) データを書き込みたいと考えています。

カスタム コントローラ プラグインは非常に単純です。

<?php

namespace Main\Service;

class MessageWriter
{    
    public $data = array();

    public function __set($name, $value)
    {
        $this->data[$name] = $value;
    }

    public function write_message()
    {
        $this->time = time();
        $data = serialize($this->data);

        $filename = time() . '_' . rand(1000, 9999);
        @file_put_contents('/var/www/public/messages/' . $filename, $data);
    }

}

?>

2 つの小さな問題 / 質問があります。

  1. パスのハードコーディングを回避するにはどうすればよいですか? パブリック ディレクトリ (/var/www/public) の実際のパスを保持する ZF2 構成変数はありませんか。
  2. ZF2 でファイルを書き込むためのクラスはありますか、それとも file_put_contents や同様のファイル関数を使用しても問題ありませんか?

どうもありがとうございました!

マイク

4

2 に答える 2

2

ZF2 では、すべてのパスがアプリケーション ルートからの相対パスであるため、file_put_contents('public/messages/' . $filename, $data). そしてfile_put_contents()使い心地がいい。

于 2013-10-30T22:57:50.193 に答える