3. 开始编写第一个web页面

下面我们以一个前端(即客户)页面为例,讲述一下如何利用pylon编写web页面。

1. Web入口

前面已经讲过,web入口为fnt下的index.php:

 

<?php
require_once("init.php");
if(Conf::ENV!='dev'){
    error_reporting(0);
}
try{
    XTools::regActFinder( new PActFinder("",Conf::PRJ_ROOT.     "/src/apps/fnt/_act_conf.txt") );
    NavSysAssembly::setup();
    XController::process("do","index");
}
catch(Exception $e)
{
}
       init.php为初始化文件,其主要作用是加载pylon框架和autoload class。XTools::regActFinder作用是注册(新建)一个Action查找对象,用来定位工程里各个Action所在文件的位置(这个不需要我们关心)。
NavSysAssembly::setup() ;是系统装配器的初始化(也不需要我们关心)。XController::process("do","index") 这一步才是我们需要关注的,其作用是去执行名为index的action。
2. Action_index
<?
class Action_index extends XAction
{/*{{{*/
    public function _run($request,$xcontext)
    {/*{{{*/
	    $xcontext->hello = 'hello';
	    $xcontext->world = 'world';
            return XNext::useTpl('index.html');
    }/*}}}*/

}/*}}}*/
?

_run函数有两个参数,$request是从外面传递进来的参数,。$xcontext是向外传递的参数。return XNext::useTpl('index.html'); 表示返回名为"index.html"的模板。Xnext类表示下一步要做的动作,其主要的函数有:

useTpl:使用模板,如本例。模板存放的路径上节提到过:/src/web_inf/fnt/tpls 里面的模板都是用来做前端页面展示。

action:调用action。例:return Xnext::action('xxx' [,$argv]); xxx为action名,$argv为可选参数,表示向action传递的参数。

gotoUrl:转到制定URL。例:return Xnext::gotoUrl('www.360.cn');

3. index.html

 

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
    <head>
        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
        <title>Message Board</title>
    </head>
    <body>
	<p>
		<?php echo $hello.", ".$world."!";?>
	</p>
    </body>
</html> 

展示页面是将Action传过来的数据,通过html展现出来,当然html代码中可以嵌套php语句。

注意:由action里$xcontext传递过来的变量可以直接使用,如本例中的$hello和$world。

至此,我们已经写好最简单的一个web页面了,不过还需修改一下你浏览器所在的主机hosts文件,将我们编写的web服务的域名关联到服务器的ip地址,赶紧试一下吧!


F.A.H^_^Amber

 


 

 

你可能感兴趣的:(Web,职场,休闲,Pylon)