http://webpanels.sourceforge.net
I've rewritten a project I was working on called WebPanels for PHP5, and based it around ASP.NET's code behind approach. This means that you can design a form in Visual Studio or the free ASP.NET WebMatrix editor, and it will be displayed by my framework, with controls declared in the template file imported into the Page class' namespace. A quick example;
A template file like this,
<html>
<head>
</head>
<body>
<form id="SampleForm" runat="server">
<p>
<php-TextBox id="TextBox1" runat="server"></php-TextBox>
</p>
<p>
<php-Button id="Button1" runat="server" Text="Button" OnClick="ClickButton"></php-Button>
</p>
<p>
<php-Label id="Label1" runat="server">Label</php-Label>
</p>
<!-- Insert content here -->
</form>
</body>
</html>
and a class file like
<?php
require_once("./WebPanels/webpanels.config.php");
using("WebPanels.Web.UI");
class SamplePage extends Page
{
function __construct()
{
parent::__construct("SamplePage");
$this->SetTemplate("./SamplePage.html");
}
function ClickButton()
{
$this->Label1->Text($this->TextBox1->Text());
}
}
$page = new SamplePage();
$page->Init();
$page->Run();
$page->Render();
?>
produces an output like

If you're playing around with PHP5, I'd appreciate if you could take a bit of time to look at it and give me some suggestions, or criticise me for being a fool reimplementing something that's not so great to begin with 😉.