É impossível simular ASP.NET com PHP, especialmente para uma linguagem dinâmica como PHP que possui suporte incompleto à orientação a objetos. Quando digo simulação com essas palavras, quero dizer que ASP pode ser entendido por meio deste exemplo. . O mecanismo operacional do .net (novamente, é apenas um modelo). O código é muito simples, não há necessidade de elaborar. Este teste é executado em win2000, iis5, php 4.4.0 através de
page.php
<?php.
/********************************************** ***********************************
* Classes de Função Sinoprise
*CopyRight(c):2006 Laboratório de Tecnologia Sinoprise
*
*Nome da unidade: page.php
*função:
*Caixa: Shuguang Yin 15/07/2006
************************************************** *******************************/
classe SFC_Page
{
//variáveis de ambiente
/*var $Servidor;
var $Sessão;
var$QueryString;
var $Postagem;
var $Cookie;
var $Arquivos;
var $Env;*/
//Propriedades de controle da página
var$EnableViewState;
//Propriedades da página
var $CharSet;//conjunto de caracteres da página
var $PageTitle; //O título da página
var $PageStyle;//O estilo da página
função SFC_Page()
{
/*if (strcmp(substr(PHP_VERSION,0,1),4)>=0){
$Servidor = $_SERVER;
$Sessão = $_SESSÃO;
$QueryString = $_GET;
$Postagem = $_POST;
$Biscoito = $_COOKIE;
$Arquivos = $_FILES;
$Env = $_ENV;
}outro{
globais$HTTP_SERVER_VARS,$HTTP_GET_VARS,$HTTP_POST_VARS,$HTTP_COOKIE_VARS,$HTTP_POST_FILES;
globais$HTTP_ENV_VARS,$HTTP_SESSION_VARS;
$Servidor = $HTTP_SERVER_VARS;
$Sessão = $HTTP_SESSION_VARS;
$QueryString = $HTTP_GET_VARS;
$Post = $HTTP_POST_VARS;
$Cookie = $HTTP_COOKIE_VARS;
$Arquivos = $HTTP_POST_FILES;
$Env = $HTTP_ENV_VARS;
}*/
$this->EnableViewState = falso;
}
//Ocorre antes do estado do servidor ser restaurado
funçãoPageInit()
{
}
//Ocorre após a restauração do estado do servidor, mas antes dos eventos do lado do servidor
função PageLoad()
{
}
//Ocorre após o evento do lado do servidor ser disparado, mas antes de qualquer coisa ser gerada
função PagePreRender()
{
}
//Ocorre quando a página é gerada
funçãoPageRender()
{
}
//Ocorre após a geração da página web
função PageUnLoad()
{
}
//exibe a saída
função Exibição()
{
$this->PageInit();
if ($this->EnableViewState){
$this->DeCodeViewState();
}
$this->PageLoad();
$this->PagePreRender();
echo "<html><title>".$this->PageTitle."</title>";
echo "<META http-equiv=Content-Type content="text/html; charset=".$this->CharSet."">";
echo "<body ".$this->PageStyle.">";
echo "<nome do formulário="SFC_WebForm" id="SFC_WebForm" método="post" action="".$_SERVER['PHP_SELF']."">";
$this->PageRender();
if ($this->EnableViewState){
$this->EnCodeViewState();
}
echo "</form></body></html>";
$this->PageUnLoad();
}
//Determina se é a primeira vez que abre ou publica
função IsPostBack()
{
}
//Codifica ViewState
função EnCodeViewState()
{
echo "<tipo de entrada="oculto" nome="SFC_ViewState" id="SFC_ViewState" ";
echo "Valor="".base64_encode(serialize($this)).""";
eco ">";
}
//Decodifica ViewState
função DeCodeViewState()
{
if (isset($_POST['SFC_ViewState'])){
$this = unserialize(base64_decode($_POST['SFC_ViewState']));
}
}
}
?>
Arquivo de página,php.php
<?
require_once('página.php');
classe PhpTest estende SFC_Page
{
var $conut;
funçãoPhpTest()
{
}
//Ocorre antes do estado do servidor ser restaurado
funçãoPageInit()
{
}
//Ocorre após a restauração do estado do servidor, mas antes dos eventos do lado do servidor
função PageLoad()
{
}
//Ocorre após o evento do lado do servidor ser disparado, mas antes de qualquer coisa ser gerada
função PagePreRender()
{
}
//Ocorre quando a página é gerada
funçãoPageRender()
{
echo ++$this->conut;
//echo serialize($this);
eco "<br>";
echo "<tipo de entrada=enviar valor="OOOKK" nome=olá>";
}
//Ocorre após a geração da página web
função PageUnLoad()
{
}
}
$cls = new PhpTest();
$cls->CharSet="gb2312";
$cls->PageTitle="Título da página";
$cls->EnableViewState=true;
$cls->Exibir();
?>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=932084