代码可重用的HTML UI元素PHP

时间:2012-03-20 16:04:23

标签: php user-interface coding-style code-reuse

我是PHP的新手,我目前正在为大学的作业创建一个PHP Web应用程序。在开发过程中,我意识到用户界面中的很多元素正在我的应用程序的不同部分中被复制。例如,我可能在名为“新客户”(<a class="bigbutton" href=".......">New Client</a>)的客户页面中有一个超链接按钮,在项目页面中有一个名为“新项目”(<a "bigbutton" href=".......">New Project</a>)的另一个超链接按钮。

通常情况下,我可以复制构建客户页面上按钮的html,并更改内容以适应项目页面中的“新建项目”按钮。现在如果我将超链接按钮转换为标签,我将不得不转到该特定按钮的每个实例,用标签替换标签,如果这个按钮存在于这么多页面上,那么更新将非常耗时。

这只是一个简单的例子,然后我必须考虑多个页面中的其他重复元素,例如面包屑,列表等。

有没有办法以我可以实际重用这些可能值得关注的UI元素的方式进行编码?也许我可以尝试将每个元素编写成类,但是现在我不确定。

任何提示,指针或资源都非常有用和赞赏。

谢谢你们。

2 个答案:

答案 0 :(得分:3)

你可以制作在调用时回显HTML的PHP​​函数,可选择包括一些配置内容,例如:

function make_button($id, $label) {
    echo '<button id="'.$id.'">'.$label.'</button>';
}

这可以用于页面的大块,或者只是小块。我使用过的某些系统有一个html_writer类用于此类事情,其他系统使用渲染方法来传递一个对象,它会在页面上传回一个代表该对象的HTML字符串。

根据您的喜好。也可以制作小功能,可以在更大的功能中重复使用,如:

function make_buttons_from array($array) {
    foreach ($array as $id => $label) {
        $this->make_button($id, $label);
    }
}

这里的示例回显了它们的输出,但您也可以使用字符串连接来组合这些部分。再次,你的电话。这不是一个正确的方法。

答案 1 :(得分:1)

您可以采取各种具体途径,但基本方法是在类中构建一组模板化函数或方法,以构建页面的所有常用元素。在这些函数中定义了一个页面之间共享(或只有微小变化)的任何内容,您只需从每个页面调用这些函数,提供足够的信息以允许该函数区分它应如何显示其内容取决于调用它的页面的详细信息。

如果您对公共元素进行了更改,则只需转到该功能并进行更改,然后将其复制到所有页面。