如何在php中创建web控件

如何在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>

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


如何在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]这在许多页面中经常使用,我想像你那样将它封装在一个类中。但我