私は楽しみのために、配列にいくつかのオプションを与えてから、配列をWideImageクラスで使用できる文字列に変換できるようにしようとしています。しかし、私は問題を抱えています。それは実際には不可能なようです。
私のコードは次のとおりです。
$options = array('resize'=>'50,50');
$actions = implode('->', $options);
$img = WideImage::load($image) . $actions . ';';
これにより、次のような文字列が作成されます。
WideImage::load('../images/photo.jpg')->resize(50,50);
私が皆さんから探しているのは、これが可能かどうかを教えてくれることです。
アップデート
eval()を使用していると、wideimageクラスに指定されたメソッドが未定義のプロパティであるというエラーが発生します。
これが私のコードです:
$actions = 'resize(50,50)';
return eval('WideImage::load($image)->$actions->saveToFile('path/to/file')');
これにより、未定義のプロパティのエラーが発生し、saveToFile()が非オブジェクトのメンバーであることがわかります。しかし、サイズ変更をハードコーディングし、$actionsを使用しない場合は実際に機能しています。私はここで何が間違っているのですか?