|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
用php模拟asp.net是不大可能的,特别是对于php这样的对面向对象支持不完整的动态语言来讲,更是很大的困难.在这些说模拟是说可以由这个例子来理解asp.net的运行机制(又说深了,他仅仅是一个模以而以) .代码很简单,无需细说,本测试在win2000,iis5,php 4.4.0上运行通过 G7KLinux联盟 G7KLinux联盟 page.php G7KLinux联盟 G7KLinux联盟 <?php G7KLinux联盟 /*********************************************** G7KLinux联盟 *Sinoprise Function Classes G7KLinux联盟 *CopyRight(c):2006 Sinoprise Technology Lab G7KLinux联盟 * G7KLinux联盟 *Unit Name: page.php G7KLinux联盟 *func: G7KLinux联盟 *Crate:Shuguang Yin 2006-07-15 G7KLinux联盟 ****************************************/ G7KLinux联盟 class SFC_Page G7KLinux联盟 { G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //环境变量 G7KLinux联盟 /*var $Server; G7KLinux联盟 var $Session; G7KLinux联盟 var $QueryString; G7KLinux联盟 var $Post; G7KLinux联盟 var $Cookie; G7KLinux联盟 var $Files; G7KLinux联盟 var $Env;*/ G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //页面控制属性 G7KLinux联盟 var $EnableViewState; G7KLinux联盟 G7KLinux联盟 //页面属性 G7KLinux联盟 var $CharSet;//页面字符集 G7KLinux联盟 var $PageTitle;//页面的标题 G7KLinux联盟 var $PageStyle;//页面的风格 G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 function SFC_Page() G7KLinux联盟 { G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 /*if (strcmp(substr(PHP_VERSION,0,1),4)>=0){ G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 $Server = $_SERVER; G7KLinux联盟 $Session = $_SESSION; G7KLinux联盟 $QueryString = $_GET; G7KLinux联盟 $Post = $_POST; G7KLinux联盟 $Cookie = $_COOKIE; G7KLinux联盟 $Files = $_FILES; G7KLinux联盟 $Env = $_ENV; G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 }else{ G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 global $HTTP_SERVER_VARS,$HTTP_GET_VARS,$HTTPG7KLinux联盟 _POST_VARS,$HTTP_COOKIE_VARS,$HTTP_POST_FILES ; G7KLinux联盟 global $HTTP_ENV_VARS,$HTTP_SESSION_VARS; G7KLinux联盟 $Server = $HTTP_SERVER_VARS; G7KLinux联盟 $Session = $HTTP_SESSION_VARS; G7KLinux联盟 $QueryString = $HTTP_GET_VARS; G7KLinux联盟 $Post = $HTTP_POST_VARS; G7KLinux联盟 $Cookie = $HTTP_COOKIE_VARS; G7KLinux联盟 $Files = $HTTP_POST_FILES; G7KLinux联盟 $Env = $HTTP_ENV_VARS; G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 }*/ G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 $this->EnableViewState = false; G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 } G7KLinux联盟 //发生在服务器状态还原之前 G7KLinux联盟 function PageInit() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //发生在服务器状态还原之后,但在服务器端事件之前 G7KLinux联盟 function PageLoad() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //发生在激发服务器端事件之后,但在生成任何东西之前 G7KLinux联盟 function PagePreRender() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //发生在生成页面之时 G7KLinux联盟 function PageRender() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //发生在网页生成完成之后 G7KLinux联盟 function PageUnLoad() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 //显示输出 G7KLinux联盟 function Display() G7KLinux联盟 { G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 $this->PageInit(); G7KLinux联盟 if ($this->EnableViewState){ G7KLinux联盟 $this->DeCodeViewState(); G7KLinux联盟 } G7KLinux联盟 $this->PageLoad(); G7KLinux联盟 $this->PagePreRender(); G7KLinux联盟 echo "<html><title>".$this->PageTitle."</title>"; G7KLinux联盟 echo "<META http-equiv=Content-Type content=\"text/html; charset=".$this->CharSet."\">"; G7KLinux联盟 echo "<body ".$this->PageStyle.">"; G7KLinux联盟 echo "<form name=\"SFC_WebForm\" id=\"SFC_WebForm\" method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">"; G7KLinux联盟 $this->PageRender(); G7KLinux联盟 if ($this->EnableViewState){ G7KLinux联盟 $this->EnCodeViewState(); G7KLinux联盟 } G7KLinux联盟 echo "</form></body></html>"; G7KLinux联盟 $this->PageUnLoad(); G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 //判断是第一次打开还是post G7KLinux联盟 function IsPostBack() G7KLinux联盟 { G7KLinux联盟 G7KLinux联盟 } G7KLinux联盟 //对ViewState进行编码 G7KLinux联盟 function EnCodeViewState() G7KLinux联盟 { G7KLinux联盟 echo "<input type=\"hidden\" name=\"SFC_ViewState\" id=\"SFC_ViewState\" "; G7KLinux联盟 echo "Value=\"".base64_encode(serialize($this))."\""; G7KLinux联盟 echo ">"; G7KLinux联盟 } G7KLinux联盟 //对ViewState进行解码 G7KLinux联盟 function DeCodeViewState() G7KLinux联盟 { G7KLinux联盟 if (isset($_POST['SFC_ViewState'])){ G7KLinux联盟 $this = unserialize(base64_decode($_POST['SFC_ViewState'])); G7KLinux联盟 } G7KLinux联盟 } G7KLinux联盟 } G7KLinux联盟 ?> G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 G7KLinux联盟 页面文件,php.php G7KLinux联盟 G7KLinux联盟 <? G7KLinux联盟 require_once('page.php'); G7KLinux联盟 G7KLinux联盟 class PhpTest extends SFC_Page G7KLinux联盟 { G7KLinux联盟 var $conut; G7KLinux联盟 G7KLinux联盟 function PhpTest() G7KLinux联盟 { G7KLinux联盟 G7KLinux联盟 } G7KLinux联盟 //发生在服务器状态还原之前 G7KLinux联盟 function PageInit() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 //发生在服务器状态还原之后,但在服务器端事件之前 G7KLinux联盟 function PageLoad() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 //发生在激发服务器端事件之后,但在生成任何东西之前 G7KLinux联盟 function PagePreRender() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 //发生在生成页面之时 G7KLinux联盟 function PageRender() G7KLinux联盟 { G7KLinux联盟 echo ++$this->conut; G7KLinux联盟 //echo serialize($this); G7KLinux联盟 echo "<br>"; G7KLinux联盟 echo "<input type=submit value=\"OOKK\" name=hello>"; G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 //发生在网页生成完成之后 G7KLinux联盟 function PageUnLoad() G7KLinux联盟 { G7KLinux联盟 } G7KLinux联盟 } G7KLinux联盟 G7KLinux联盟 $cls = new PhpTest(); G7KLinux联盟 $cls->CharSet="gb2312"; G7KLinux联盟 $cls->PageTitle="页面的标题"; G7KLinux联盟 $cls->EnableViewState=true; G7KLinux联盟 $cls->Display(); G7KLinux联盟 ?> G7KLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|