如何将参数传递给函数内部

问题描述 投票:2回答:1

我正在使用干预图像库来促进我的卡创建。为此,我创建了一个类,在这些卡上添加文本会更容易。

此方法的部分代码:

<?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做到这一点?

php
1个回答
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);
});
© www.soinside.com 2019 - 2024. All rights reserved.