尝试将函数添加到已存在的PHP库中

尝试将函数添加到已存在的PHP库中,php,Php,我正在尝试向已经存在的php库(不再维护)添加一个函数 我试图实现的是能够将文本对齐到居中/对齐/左/右对齐 这是该库的git链接 这就是我到目前为止所做的 //Creating property //So by default, this will be centered private $textAlign = 'center'; public function __construct($fontPath=NULL, $fontName=NULL, $fontSize=NULL, $

我正在尝试向已经存在的php库(不再维护)添加一个函数

我试图实现的是能够将文本对齐到居中/对齐/左/右对齐

这是该库的git链接

这就是我到目前为止所做的

//Creating property
//So by default, this will be centered

private $textAlign = 'center';


public function __construct($fontPath=NULL, $fontName=NULL, $fontSize=NULL, $textColor=NULL, $textAlpha=NULL, $textLineSpacing=NULL, $bgColor=NULL, $bgAlpha=NULL, $shadowOffset=NULL, $shadowColor=NULL, $shadowAlpha=NULL, $textAlign =NULL)
    {
        // Initialize with specified defaults:
        if (!empty($fontPath)) $this->setFontPath($fontPath);
        if (!empty($fontName)) $this->setFont($fontName);
        if (!empty($fontSize)) $this->setFontSize($fontSize);
        if (!empty($textColor)) $this->setTextColor($textColor, $textAlpha);
        if (!empty($textLineSpacing)) $this->setTextLineSpacing($textLineSpacing);
        if (!empty($bgColor)) $this->setBgColor($bgColor, $bgAlpha);
        if (!empty($shadowOffset)) $this->setShadow($shadowOffset, $shadowColor, $shadowAlpha);

        //This one I added
        if (!empty($textAlign )) $this->setAlignment($textAlign);
    }
下面是函数:

public function setAlignment($textAlign=NULL)
    {
        //What to do here?
        //So basically if the $textAlignment is null, then use the default one correct? Else use the user defined one?
    }

所以我要做的是添加一个名为
setAlignment
的函数,它将文本的对齐方式设置为左/中/右等。。。比如微软的word等等。但我不知道从这里继续到哪里。我希望构造函数的最后一个参数具有对齐选项。

那么,应该如何实现对齐?通常最好使用CSS类来完成,因此PHP部分将把这些类注释到HTML元素中。您必须将这些类添加到现有的CSS文件中,无论它们是静态还是动态创建的。此外,如果投资于不再维护的库是一个好主意,您也应该三思:这是有原因的。它可能在当前版本的PHP中不可用,并且可能包含不再修复的安全或逻辑错误。除非你自己有知识并且愿意从现在开始维护这个库……如果这个库不再被维护了,那么就把它叉出来,改变它中你需要的东西,然后使用你的实现。但正如@arkascha所指出的,寻找一个维护的库可能更好。是的,我同意这一点。到目前为止,这似乎与最新的php(目前为7.2)一起工作,似乎没有任何问题,这就是为什么我想更新/编辑这个。使用CSS类的问题是该库用于控制器。从某种意义上说,一开始就不需要HTML。该库基本上将文本输出为图像。这就是我需要帮助的原因。基本上你只需要写一个文本,它就会输出一个带有边框的图像。但我想有一个选择。