1

在 asp.net 中有 grideview、菜单等控件

如何在php中开发一个像编辑器一样的web控件[html, jscript, ajax调用服务器] 反复使用,如果能分开控制改进会更好?

4

3 回答 3

3

首先,请注意,在 PHP 中,“控制”甚至更糟,“控制器”的含义完全不同。

我没有使用过 ASP,但我广泛使用了 Delphi,以及用于 PHP 的 Delphi,它的功能与您所询问的相同(是的,在 PHP 中)。

基本上,您需要某种框架来构建这些东西,正如 Johann 所说,您可能想要使用 MVC,但实际上并非必须如此。

这种系统的示例(没有 MVC):

class TControl {
    public $width=0;
    public $height=0;
    public $name='ControlN';
    public function render(){
        echo '<div style="width:'.(int)$this->width.'px; height:'.(int)$this->height.'px;"/>';
    }
}

class TLabel {
    public $caption='Label';
    public function render(){
        echo '<div style="width:'.(int)$this->width.'px; height:'.(int)$this->height.'px;">'.htmlspecialchars($this->caption,ENT_QUOTES).'</div>';
    }
}

$label=new TLabel();
$label->width=200;
$label->height=24;
$label->caption='My label!';
$label->render();
于 2011-03-29T07:33:33.467 回答
1

在 PHP 中,您可以用纯 HTML 编写所有“控制器”。

如果您想要更经常使用的“控制器”,请为它们制作函数,f.ex;

function list($array)
{
   $output = '';
   foreach($array as $item) $output .= "<li>$item</li>";
   return "<ul>$output</ul>";
}

现在你有了一个“列表控制器”。

于 2011-03-29T07:09:22.707 回答
1

ASP.net 试图模仿 Windows 窗体,这允许 Windows 窗体用户快速启动和运行网站。由于它模仿 Windows 窗体,他们创建了几个预加载的用户控件,您可以将这些控件插入到网页中。所有这些所做的就是生成样式、JavaScript 和 HTML,以便在客户端浏览器上使用您配置的选项显示控件。您可以尝试使用包含的 .php 在 PHP 中产生类似的效果。例如,创建一个 button.php,然后将其包含在您希望显示按钮的位置。

但是为了简单起见,我发现使用 PHP 和框架进行开发的MVC方法要干净得多。

于 2011-03-29T07:23:40.593 回答