示例展示<?php
class IndexAction extends YouYaX
{
//伪静态设置.html,注意这里配置了,下面全都要加上.html
public function lizi1()
{
header("Content-type: text/html; charset=utf-8");
$this->display("lizi1.html");
  }
  //获取配置项
  public function getC(){
  $this->assign('cdata',C('static_url'));
  $this->display('c.html');
  }
  //跳转方法
  public function jump(){
  $this->redirect("Index/lizi1.html");
  }
  //增加数据,常规操作
  public function adddata(){
  $data['title']='ChangShu';
  $this->add($data,"demo");
  $this->redirect("Index/lizi1.html");
  }
  //更新数据
  public function savedata(){
  $data['title']='ChangShu2';
  $this->save($data,"demo",1);
  $this->redirect("Index/lizi1.html");
  }
  //查找单条数据集
  public function finddata(){
  $data=$this->find("demo","string",1);
  $this->assign('data',$data);
  $this->display('find.html');
  }
  //查找数据集合
  public function seldata(){
  $data=$this->select("select * from demo where id between 1 and 3");
  $this->assign('data',$data);
  $this->display('sel.html');
  }
  //删除数据,略
  //数据表实例化操作
  public function tadd(){
  $u=T("demo");
  $u->title='nantong';
  $u->add();
  $this->redirect("Index/lizi1.html");
  }
  //实例化更新数据
  public function tsave(){
  $u=T("demo");
  $u2=$u->find(1);
  $u2->title='SUZHOU';
  $u2->save();
  $this->redirect("Index/lizi1.html");
  }
  //查找数据集,,集合等等,省略,,参阅中文手册
  //多语言,要修改lng/lang.php
  public function lang(){
  $this->display('lang.html');
  }
  //验证方法,要修改Model/Model.php
  public function vali(){
  $data='';
  //$data="hell";
  if(match($data,"title")){
  $this->redirect("Index/lizi1.html");
  }
  }
  //二维数组调用函数,使用common/common.php
  public function common(){
  $u=T("demo");
  $data=$u->select("1,2,3");
  $this->assign('data',$data);
  $this->display("common.html");
  }
  //大型复杂项目循环数组运算使用,注意$this->array_array  $this->array_two的用法  
  public function dophp(){
  $data=$this->select("select * from demo");
  $this->assign('data',$data);
  $this->display('fuza.html');
  }
}
?>————————————————————————————————————————————————
lizi1.html 伪静态的配置
<include file="Tpl/top.html">
<include file="Tpl/menu.html">
这是一个伪静态示例,具体实现参考代码。。
<include file="Tpl/foot.html"> 在conf/config.php中设置 'static_url'=>'.html',—————————————————————————————————————————————————c.html 获取配置项
<include file="Tpl/top.html">
<include file="Tpl/menu.html">
输出值为:{cdata}
<include file="Tpl/foot.html">其中 {cdata} 输出模板变量————————————————————————————————————————————————跳转方法
其中$this->redirect("Index/lizi1.html");  Index表示控制器名,lizi1表示方法名,后面的.html自然是伪静态——————————————————————————————————————————————————增加数据
$this->add($data,"demo");  $data数组,"demo"数据库表名,键名为数据库字段名,$this->save($data,"demo",1); 第三个参数1,表示条件id=1,省略了id,也可以写其他条件$data=$this->find("demo","string",1);  同理,第二个参数string,则返回键名为字段名的一维数组,为number则返回键名为字段序号的一维数组$data=$this->select($sql)  返回二维数组查询结果集$u=T("demo");  实例化表,就可以用对象来表示了——————————————————————————————————————————————————
lang.html
<include file="Tpl/top.html">
<include file="Tpl/menu.html">
{lang->greet}<br>
<a href="__APP__/Index/lang/l/cn.html">中文</a>&nbsp;&nbsp;<a href="__APP__/Index/lang/l/en.html">英文</a>
<include file="Tpl/foot.html"> {lang->greet} 这是一维数组用来获取单个值的表示法___________________________________________________________________________________________________验证
public function vali(){
  $data='';
  //$data="hell";
  if(match($data,"title")){
  $this->redirect("Index/lizi1.html");
  }
  }验证$data是否符合title的规则。在模型文件下有规则如下<?php
class validation extends Model
{
/*
required maxlength minlength email digital letter alpha
*/
public $validation=array(
"rules"=>array(
//此处输入验证规则
'title'=>array('required'=>true,
'minlength'=>'5')
),
"messages"=>array(
//此处输入错误提示信息
'title'=>array('required'=>'<font color=red>内容不能为空</font>',
'minlength'=>'最小长度是5,不能小于5')

  ),
);
}
?>
————————————————————————————————————————————————common.html
<include file="Tpl/top.html">
<include file="Tpl/menu.html">
<list>{data.title|city}<br></list><include file="Tpl/foot.html"> common.php中有函数
<?php
 function city($param){
   return "<span style='color:green'>".$param."</span>";
 }
?>
——————————————————————————————————————————————

解决方案 »

  1.   

    【架构非常合理】的PHP框架,完整示例包含在下载文件中,下载地址http://www.stu80.com/gonggao/new.php吸取众家之所长,吸收thinkphp的模板替换沿用codeigniter的灵活的PHP表示法【【【堪称完美】】】
      

  2.   


    主要是我想看看别人用了这个框架后开发的感受,和做的网站的运行效果还有很期待别人试用一下我开发的论坛的效果~~~和dz,pw站的区别
      

  3.   

    哈哈哈, 一看标题就知道是你老人家, 我倒是越来越佩服你了, 真诚地...真的真诚地....这次这东西比以前发的看着更顺眼点了...不至于没注册域名和空间的钱吧....一个域名才几个钱....
    空间现在可以去zend的云空间看看,不要钱....还有好多免费的吧,反正你也不用多大
      

  4.   

    我下载了你的代码,看了至少5分钟,有点后悔1、lib下是C吧?一上来就全部加载,当时就有不好的感觉2、到处的ereg函数,你要推框架,好歹注意下php版本潮流吧?3、摘录代码片段,更新5个字段,需要执行SQL5次?  public function save($data,$table,$param){
      if(!ereg("[=><!]",$param)) $param="id=$param";  
       foreach($data as $k=>$v){
       $sql="update ".$table." set ".$k."='".$v."' where ".$param;
       mysql_query($sql);
       }
      }
    可以说代码名不副实,我觉得你没理解CI,TP不过初次写框架不可能考虑周全,你不要记仇,我对事不对人
      

  5.   

    真心觉得是个笑话, 搞PHP的真容易闹笑话.
      

  6.   

    哪个网站?
    1、如果是是我正式的论坛网站,包含完整前后台,2套模板的,asp.net,android,flash的,你没个大半年时间还不一定能写出来~没看见底部 copyright 2010,运营成功与否暂且不提2、如果是我发布的开源论坛网站【jinliang.vhost096.dns345.cn】,也符合基本的论坛结构了,有时间再完善~~别看我那么快完成,因为我
    很多代码部分继承自 正式的论坛网站 ,所以开发快~如果你不参考我的数据库设计和文件代码,你短时间也不一定写得出来~3、如果是博客的网站,虽然比较简单,但也没有惨不忍睹
    1、好不好么我也不知道,至少方便2、果然如你所说~~学习了3、这个说的也是,主要是我具体的控制器代码中我很少用这些函数的,因为不清晰直观,
    复杂的多字段的更新我一般还是写完整sql语句。【看了至少5分钟,有点后悔】 看是没用的,如果你用5分钟说不定会改观~~~~拥有thinkphp的模板和codeigniter的php写法 可不是吹的~~~!!!!!
      

  7.   

    勇气可嘉,我也曾经想过写个框架,但是由于工作太忙一直没有真正去做过。从你的代码来看,
    你的代码功底确实弱了点,对框架的理解也不是很准确,我给你一点建议:多虚心学习其他框架的好处吧,
    因为你的框架还不足以跟其他框架媲美。不仅仅是PHP的,Java也有很多Web框架,你都可以学习。
      

  8.   

    我昨天做动态论坛版块的时候发现框架缺陷,就是字符串只能以{}的形式输出,而比如{zhuti1}  {zhuti2}  循环的时候{zhuti<?php echo $v['id'];?>}  不能用因此我更新了框架,使字符串变量全部存到$this->array 一维数组中换一种写法  <?php echo $this->array["zhuti".$v['id']];?>  就可以了,【暂时还没更新到下载服务器~~】框架开发效率再上一层楼
      

  9.   

    理解我的框架主要是对于三个变量要彻底掌握1,$this->array   一维数组  作用:存储一切字符串变量2、$this->array_array  二维数组   作用:存储一切一维数组3、$this->array_two  二维数组   作用:存储一切二维数组他们都是以模板变量为键名的理解了就知道这框架不是胡乱写的,,是很有条理的~~中午或晚上更新一下框架文件~~
      

  10.   

    强烈占座,框架再次更新另外强烈推荐YouYaX开源论坛,下载文件已更新好这次更新了动态增设大版块和小版块,这个功能在我的正式论坛还没配备,强烈推荐~~~