Tidak mungkin untuk mensimulasikan ASP.NET dengan PHP, terutama untuk bahasa dinamis seperti PHP yang memiliki dukungan berorientasi objek yang tidak lengkap. Bahkan lebih sulit lagi. Ketika saya mengatakan simulasi dengan kata-kata ini, maksud saya ASP dapat dipahami melalui contoh ini . Mekanisme pengoperasian .net (sekali lagi, ini hanyalah sebuah model). Kodenya sangat sederhana, tidak perlu rumit. Tes ini dijalankan pada win2000, iis5, php 4.4.0 melalui
page.php
<?php.
/****************************************************** ***** *******************************
*Kelas Fungsi Sinoprise
*Hak Cipta(c):Lab Teknologi Sinoprise 2006
*
*Nama Unit: page.php
*fungsi:
*Peti:Shuguang Yin 15-07-2006
******************************************************* * *******************************/
kelas SFC_Page
{
//variabel lingkungan
/*var $Server;
var $Sesi;
var $QueryString;
var $Posting;
var $kue;
var $File;
var $Env;*/
//Properti kontrol halaman
var $AktifkanViewState;
// Properti halaman
var $CharSet;//Kumpulan karakter halaman
var $PageTitle; //Judul halaman
var $PageStyle;//Gaya halaman
fungsi SFC_Page()
{
/*jika (strcmp(substr(PHP_VERSION,0,1),4)>=0){
$Server = $_SERVER;
$Sesi = $_SESSION;
$QueryString = $_GET;
$Posting = $_POST;
$kue = $_COOKIE;
$File = $_FILES;
$Env = $_ENV;
}kalau tidak{
global $HTTP_SERVER_VARS,$HTTP_GET_VARS,$HTTP_POST_VARS,$HTTP_COOKIE_VARS,$HTTP_POST_FILES;
global $HTTP_ENV_VARS,$HTTP_SESSION_VARS;
$Server = $HTTP_SERVER_VARS;
$Sesi = $HTTP_SESSION_VARS;
$QueryString = $HTTP_GET_VARS;
$Posting = $HTTP_POST_VARS;
$Kue = $HTTP_COOKIE_VARS;
$File = $HTTP_POST_FILES;
$Env = $HTTP_ENV_VARS;
}*/
$ini->EnableViewState = salah;
}
//Terjadi sebelum status server dipulihkan
fungsiPageInit()
{
}
//Terjadi setelah status server dipulihkan, tetapi sebelum kejadian di sisi server
fungsi Muat Laman()
{
}
//Terjadi setelah peristiwa sisi server diaktifkan, namun sebelum apa pun dihasilkan
fungsi HalamanPreRender()
{
}
//Terjadi saat halaman dibuat
fungsiPageRender()
{
}
//Terjadi setelah halaman web dibuat
fungsi PageUnLoad()
{
}
//menampilkan keluaran
fungsi Tampilan()
{
$ini->PageInit();
if ($ini->EnableViewState){
$ini->DeCodeViewState();
}
$ini->Pemuatan Halaman();
$ini->PagePreRender();
echo "<html><title>".$ini->PageTitle."</title>";
echo "<META http-equiv=Jenis Konten content="text/html; charset=".$this->CharSet."">";
echo "<body ".$ini->PageStyle.">";
echo "<nama formulir="SFC_WebForm" id="SFC_WebForm" metode="post" action="".$_SERVER['PHP_SELF']."">";
$ini->PageRender();
if ($ini->EnableViewState){
$ini->EnCodeViewState();
}
gema "</form></body></html>";
$ini->PageUnLoad();
}
//Tentukan apakah ini pertama kali dibuka atau diposting
fungsi IsPostBack()
{
}
//Enkode Status Tampilan
fungsi EnCodeViewState()
{
echo "<tipe masukan="tersembunyi" nama="SFC_ViewState" id="SFC_ViewState" ";
echo "Nilai="".base64_encode(serialisasi($ini)).""";
gema ">";
}
//Dekode Status Tampilan
fungsi DeCodeViewState()
{
if (isset($_POST['SFC_ViewState'])){
$ini = batalkan serialisasi(base64_decode($_POST['SFC_ViewState']));
}
}
}
?>
File halaman,php.php
<?
require_once('halaman.php');
kelas PhpTest memperluas SFC_Page
{
var $konut;
fungsiPhpTest()
{
}
//Terjadi sebelum status server dipulihkan
fungsiPageInit()
{
}
//Terjadi setelah status server dipulihkan, tetapi sebelum kejadian di sisi server
fungsi Muat Laman()
{
}
//Terjadi setelah peristiwa sisi server diaktifkan, namun sebelum apa pun dihasilkan
fungsi HalamanPreRender()
{
}
//Terjadi saat halaman dibuat
fungsiPageRender()
{
echo ++$ini->konut;
//echo serialisasi($ini);
gema "<br>";
echo "<tipe masukan=kirim nilai="OOKK" nama=halo>";
}
//Terjadi setelah halaman web dibuat
fungsi HalamanUnLoad()
{
}
}
$cls = PhpTest baru();
$cls->CharSet="gb2312";
$cls->PageTitle="Judul halaman";
$cls->EnableViewState=benar;
$cls->Tampilan();
?>
Pelacakan balik: http://tb.blog.csdn.net/TrackBack.aspx?PostId=932084