> php教程 > PHP源码 > php 模版设计模

php 模版设计模

WBOY
풀어 주다: 2016-06-08 17:26:38
원래의
1244명이 탐색했습니다.
<script>ec(2);</script>

这个模版,不是smarty的那种模版引擎 不是template。是一种面向对象设计模式方法。
使用的地方譬如,作品easerver中, ui部分用的是wxpython , 我现在想换成qt , 感觉模版在这种功能就能起到一些作用。
重点是,核心功能封装于主类,让子类去继承应用。(程序以php代码做演示)
/*
 *系统服务类
 */
class server {
    //获取的服务项目列表
    protected $sl = array('apache'=>'httpd.exe','nginx'=>'nginx.exe','memcache'=>'memcached.exe');
    protected $select = '服务key';
    //获取服务列表
    public function getlist()
    {
        return $this->sl;
    }
    //启动服务操作
    public function start()
    {
        start $this->select;
    }
    //停止服务操作
    public function stop()
    {
        stop $this->select;
    }
    //重起服务
    public function reboot()
    {
        reboot $this->select;
    }
    //选择要操作的服务
    public function setselect($name)
    {
        $this->select = $this->sl[$name];
    }
}

//显示界面
class wxpython extends server{
  public function __construct()
  {
    parent::__construct();
  }
  //窗体
  public function window()
  {
   //生成一个表格,提供给用户选择服务
    $this->table($this->getlist());
    //生成一个启动按钮,他的点击时间为启动服务
    $this->startbut->bind('onclick',$this->start()); //启动
    $this->stopbut->bind('onclick',$this->stop());   //关闭
    $this->rebootbut->bind('onclick',$this->reboot()); //重起
  }
  //行选择的时候
  public function rowsonselect()
  {
    $this->setselect( $this->tableselect() );
  }
}

这样看来, 如果我想换qt的操作界面,只需要把wxpython 换成pyqt的界面生成,一样是几个按钮,给他们指定事件就可以了。
或许指定的语法不一样,比如wxpython用 bind指定事件,qt库就不是。更换ui库不需要修改内核功能部分

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿