在 asp.net 中有 grideview、菜单等控件
如何在php中开发一个像编辑器一样的web控件[html, jscript, ajax调用服务器] 反复使用,如果能分开控制改进会更好?
在 asp.net 中有 grideview、菜单等控件
如何在php中开发一个像编辑器一样的web控件[html, jscript, ajax调用服务器] 反复使用,如果能分开控制改进会更好?
首先,请注意,在 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();
在 PHP 中,您可以用纯 HTML 编写所有“控制器”。
如果您想要更经常使用的“控制器”,请为它们制作函数,f.ex;
function list($array)
{
$output = '';
foreach($array as $item) $output .= "<li>$item</li>";
return "<ul>$output</ul>";
}
现在你有了一个“列表控制器”。
ASP.net 试图模仿 Windows 窗体,这允许 Windows 窗体用户快速启动和运行网站。由于它模仿 Windows 窗体,他们创建了几个预加载的用户控件,您可以将这些控件插入到网页中。所有这些所做的就是生成样式、JavaScript 和 HTML,以便在客户端浏览器上使用您配置的选项显示控件。您可以尝试使用包含的 .php 在 PHP 中产生类似的效果。例如,创建一个 button.php,然后将其包含在您希望显示按钮的位置。
但是为了简单起见,我发现使用 PHP 和框架进行开发的MVC方法要干净得多。