gpt4 book ai didi

php skymvc 一款轻量、简单的php

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php skymvc 一款轻量、简单的php由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

改框架主要用于实现多个程序员之间的协同开发以及mvc开发模式的实现.skymvc采用mvc开发方式,框架本身易扩展。skymvc作为天网计划的基础框架,秉承易用、易学、共同开发的优良传统,我们致力于打造一款优秀的php  mvc框架。欢迎大家多多提些建议。  1.创建配置文件skyMVC支持自动创建网站目录:输入http://locahost/skymvc/install.php 即可自动创建  文件目录。如果创建之后想重新创建,删除install.lock文件及可。  推荐自动创建。  也可以手动创建:目录都可以自定义  自定义目录时需要对程序进行相应的配置  admin 后台目录  admin/model  admin/ctrl  attach  上传的附件目录  ctrl 控制文件目录  data 目录  data/config.php  配置文件  data/cache 缓存目录  data/cache/css  css缓存  data/cache/file文件缓存  data/cache/tpl 模板缓存  data/cache/js  js缓存  model 模型文件目录  tpl 模板目录  tpl/admin 后台模板  tpl/default  默认模板  js目录  plugin 插件目录  admin.php 后台入口文件  index.php 前台入口文件  2.入口文件  skymvc采用单一入口模式,但不是唯一入口,推荐使用两个入口。一个是前台入口,一个是后台入口。  1.前台入口文件实例:index.php 文件名可以自定义 推荐 index 或者  default  。

复制代码代码如下

<?php  require  "data/config.php";//加载配置文件  require("skymvc/skymvc.php");//引用框架文件  //判断控制器是否合法  $_GET['m']=isset($_GET['m'])  &&  in_array($_GET['m'],array('index'))?$_GET['m']:'index';  //判断结束  require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php");  $classname  = $_GET['m'].'Control';  $control = new  $classname();  //配置伪静态的  $control->tpl->rewrite=false;  $control->tpl->rewrite_rule=array(array("/index.php/i"),array("index.html"));  //配置伪静态结束  $method=isset($_GET['a'])  && method_exists($control,'on'.$_GET['a'])?  'on'.$_GET['a']:"onDefault";  $control->$method();  ?>  。

2.后台入口文件:admin.php 文件名可自定义  。

复制代码代码如下

<?php  require  "data/config.php";  require("skymvc/skymvc.php");  $_GET['m']=isset($_GET['m'])  &&  in_array($_GET['m'],array('index','article'))?$_GET['m']:'index';  require_once(ADMIN_DIR."/".CTRL_DIR."/{$_GET['m']}.ctrl.php");  $classname  = $_GET['m'].'Control';  $control = new  $classname();  //配置伪静态的  $control->tpl->tplid="admin";  $control->tpl->currdir="admin";  $control->tpl->rewrite_on=true;  $control->tpl->rewrite_rule=array(array("/index.php/","index.html"));  $method=isset($_GET['a'])  && method_exists($control,'on'.$_GET['a'])?  'on'.$_GET['a']:"onDefault";  $control->$method()  ?>  。

说明:前后台入口文件的差别不大,主要在于 模型 和 控制文件 所在文件夹。  3.控制器文件  。

复制代码代码如下

<?php  class indexControl extends skymvc  {  function  __construct()  {  $this->indexControl();  }  function  indexControl()  {  parent::__construct();//父类初始化  $this->loadModel("index");  //后台  //$this->loadAdminModel("index");  }  function  onDefault()  {  $this->tpl->assign("welcome","欢迎使用skymvc,让我们共同努力!");  $this->tpl->assign("who",$_ENV['indexModel']->test());  //后台  //$this->tpl->assign("who",$_ENV['admin_indexModel']->test());  $this->tpl->display("index");  }  ?>  。

4.模型文件  模型文件主要用于处理数据,当然也可以处理其他的逻辑,但不推荐。文件命名规范:类.model.php  如:index.model.php.  模型文件位于模型目录下面:如model目录  例:index.model.php  。

复制代码代码如下

<?php  class  indexModel  {  public $base;  function  __construct(&$base)  {  $this->indexModel($base);  }  function  indexModel(&$base)  {  $this->base=$base;  $this->db=$base->db;  }  function  test()  {  echo "这是模型测试";  }  }  ?>  。

模型文件:前后台一样 就存储的地方不一样  5.hello world  kymvc框架的hello word !  如果是自动创建目录的话。  配置好数据库  index.php  入口文件写好。  index.php内容  。

复制代码代码如下

<?php  require  "data/config.php";//加载配置文件  require("skymvc/skymvc.php");//引用框架文件  //判断控制器是否合法  $_GET['m']=isset($_GET['m'])  &&  in_array($_GET['m'],array('index','article'))?$_GET['m']:'index';//将所有在index.php入口出现的模块都放入array()里  //判断结束  require_once(CTRL_DIR."/{$_GET['m']}.ctrl.php");  $classname  = $_GET['m'].'Control';  $control = new  $classname();  $method=isset($_GET['a']) &&  method_exists($control,'on'.$_GET['a'])?  'on'.$_GET['a']:"onDefault";  $control->$method();?>  。

在ctrl目录下 创建  hello.ctrl.php 文件  。

复制代码代码如下

<?php//hellControl 类得命名规范 类名Control  class  helloControl extends skymvc  {  function __construct()  {  $this->helloControl();  }  function  helloControl()  {  parent::__construct();  $this->loadModel("hello");//载入模型  可以载入任何模型 但不能是相同类的模型  }  //默认执行的动作 命名规范 on函数名  function  onDefault()  {  echo "hello world  "; $this->smarty->display("hello.html");  }  //当m=hello, a=test  执行下面的函数  function  onTest(){  $this->tpl->assign("test",$_ENV['helloModel']->gettest());  $this->tpl->display("hello.html");  }  }?>  。

在model目录下  创建hello.model.php  。

复制代码代码如下

<?php  class helloModel  {  public  $base;  function  __construct(&$base)  {  $this->helloModel($base);  }  function  helloModel(&$base)  {  $this->base=$base;  $this->db=$base->$db;  }  //上面都是不用改的  function gettest(){  return $this->db->getRow("select * from test  limit 1");//读取数据  }  }  ?>  。

在tpl目录下 新建 hello.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=gb2312"  />  <title>无标题文档</title>  </head>  <body>  这是第一个例子:Hello World !  这是测试的例子:{loop $test $t} {$t}  {/loop}  </body>  </html>  。

最后此篇关于php skymvc 一款轻量、简单的php的文章就讲到这里了,如果你想了解更多关于php skymvc 一款轻量、简单的php的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com