如何在php中创建web控件
在asp.net中,有GridView、菜单等控件如何在php中创建web控件,php,asp.net,asp.net-controls,web-controls,Php,Asp.net,Asp.net Controls,Web Controls,在asp.net中,有GridView、菜单等控件 如何在php中开发一个web控件,比如编辑器[html、jscript、ajax对服务器的调用],它被反复使用,如果我们能将它分开,控制的改进会更好?在php中,所有的“控制器”都是用纯html编写的 如果你想要更经常使用的“控制器”,那么就为它们制作函数f.ex function list($array) { $output = ''; foreach($array as $item) $output .= "<li>
如何在php中开发一个web控件,比如编辑器[html、jscript、ajax对服务器的调用],它被反复使用,如果我们能将它分开,控制的改进会更好?在php中,所有的“控制器”都是用纯html编写的 如果你想要更经常使用的“控制器”,那么就为它们制作函数f.ex
function list($array)
{
$output = '';
foreach($array as $item) $output .= "<li>$item</li>";
return "<ul>$output</ul>";
}
函数列表($array)
{
$output='';
foreach($array as$item)$output.=“$item ”;
返回“$output
”;
}
现在您有了一个“列表控制器”。在PHP中,您可以用纯HTML编写所有“控制器” 如果你想要更经常使用的“控制器”,那么就为它们制作函数f.ex
function list($array)
{
$output = '';
foreach($array as $item) $output .= "<li>$item</li>";
return "<ul>$output</ul>";
}
函数列表($array)
{
$output='';
foreach($array as$item)$output.=“$item ”;
返回“$output
”;
}
现在您有了一个“列表控制器”。ASP.net尝试模拟Windows窗体,这允许Windows窗体用户快速启动并运行网站。当它模仿Windows窗体时,他们创建了几个预加载的用户控件,您可以将它们插入到网页中。所有这些都需要生成样式、JavaScript和HTML,以便在客户端浏览器上使用配置的选项显示控件。您可以尝试在PHP中使用包含的.PHP产生类似的效果。例如,创建一个button.php,然后将其包含在希望显示按钮的位置
但是为了简单起见,我发现使用PHP和框架进行开发的方法要干净得多。ASP.net试图模仿Windows窗体,这允许Windows窗体用户快速创建并运行网站。当它模仿Windows窗体时,他们创建了几个预加载的用户控件,您可以将它们插入到网页中。所有这些都需要生成样式、JavaScript和HTML,以便在客户端浏览器上使用配置的选项显示控件。您可以尝试在PHP中使用包含的.PHP产生类似的效果。例如,创建一个button.php,然后将其包含在希望显示按钮的位置
但为了简单起见,我发现使用PHP和框架进行开发的方法要干净得多。首先,请注意,在PHP中,“control”和更糟糕的是,“controller”的含义完全不同 我没有使用ASP,但我已经广泛使用了Delphi,以及Delphi for PHP,这与您所问的相同(是的,在PHP中) 基本上,您需要某种框架来构建这些东西,正如Johann所说的,您可能想要使用MVC,但实际上并不需要 此类系统的示例(无MVC):
class-TControl{
公共$width=0;
公共高度=0;
public$name='ControlN';
公共职能{
回声';
}
}
类标签{
公共$caption='Label';
公共职能{
echo'.htmlspecialchars($this->caption,entu QUOTES)。'';
}
}
$label=新的TLabel();
$label->width=200;
$label->高度=24;
$label->caption='My label!';
$label->render();
首先,请注意,在PHP中,“control”和更糟糕的是,“controller”的含义完全不同
我没有使用ASP,但我已经广泛使用了Delphi,以及Delphi for PHP,这与您所问的相同(是的,在PHP中)
基本上,您需要某种框架来构建这些东西,正如Johann所说的,您可能想要使用MVC,但实际上并不需要
此类系统的示例(无MVC):
class-TControl{
公共$width=0;
公共高度=0;
public$name='ControlN';
公共职能{
回声';
}
}
类标签{
公共$caption='Label';
公共职能{
echo'.htmlspecialchars($this->caption,entu QUOTES)。'';
}
}
$label=新的TLabel();
$label->width=200;
$label->高度=24;
$label->caption='My label!';
$label->render();
不是在C中,C有自己的“控制器”供您使用。C#试着用“控制器”来模仿Windows编程。哈哈,你也可以用PHP来模仿它。你能举个例子说明你是如何“用PHP来模仿它”的吗?如果你使用一个类似“控制器”的框架,你也有同样的东西。C#没有控制器,.NET framework有。PHP没有控制器,但Zend Framework、CodeIgniter或CakePHP有类似的功能。@Knarf@deceze OP和Knarf谈论的是控件,而deceze谈论的是控制器。苹果换橙子。不是在C中,C有自己的“控制器”,你可以使用。C#试着用“控制器”来模仿Windows编程。哈哈,你也可以用PHP来模仿它。你能举个例子说明你是如何“用PHP来模仿它”的吗?如果你使用一个类似“控制器”的框架,你也有同样的东西。C#没有控制器,.NET framework有。PHP没有控制器,但Zend Framework、CodeIgniter或CakePHP有类似的功能。@Knarf@deceze OP和Knarf谈论的是控件,而deceze谈论的是控制器。果不其然。没错,但当用户试图在PHP中使用ASP.NET控件时,我想我会给他们另一种方法来构造他们的应用程序。没错,但当用户试图在PHP中使用ASP.NET控件时,我想我会给他们另一种方法来构造他们的应用程序。+1感谢您指出控制器和控件。苹果到橙子谢谢我使用zend框架,我想添加编辑文章的控件[always tinyMCE]这在许多页面中经常使用,我想像你那样将它封装在一个类中。但它有javascript交互,如何在我的控件中管理javascript?+1感谢您指出控制器和控件。苹果到橙子谢谢我使用zend框架,我想添加编辑文章的控件[always tinyMCE]这在许多页面中经常使用,我想像你那样将它封装在一个类中。但我