我正在使用干预图像库来简化卡的创建。为此,我创建了一个类,在其中可以更轻松地在这些卡片上添加文本。
此方法所在的部分代码:
<?php
use Intervention\Image\ImageManagerStatic as Image;
class Cards Extends Image {
private $image;
[...]
public function addText($text, $x, $y, $textSize, $font, $color, $align, $valign, $angle) {
$this->image->text($text, $x, $y, function($font) {
$font->file($font);
$font->size($textSize);
$font->color($color);
$font->align($align);
$font->valign($valign);
$font->angle(0);
});
}
}
?>
我的问题是,我在将addText方法的参数传递给函数($ font)时遇到麻烦。如何在PHP中做到这一点?
答案 0 :(得分:2)
似乎text()的回调仅接受Font对象,因此请使用use()
将它们传递给:
$this->image->text($text, $x, $y, function($font) use($textSize, $color, $align, $valign)
{
$font->file($font);
$font->size($textSize);
$font->color($color);
$font->align($align);
$font->valign($valign);
$font->angle(0);
});