zoukankan      html  css  js  c++  java
  • ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题

    ThinkPHP模板中使用U方法时无法嵌套大括号
    需要在control里面用U方法赋值给变量传到模版如:{:U('/Blog/comment/',array('id'=>$id)}
    $comment_url = U('/Blog/comment/',array('id'=>$id));
    $this->assign('comment_url', $comment_url);
    模版使用:
    <a href="{$comment_url}">xxx</a>
    =======================================
    直接用:
    $data['username'] = "xxx";
    $data['nickname'] = "xxx";
    $result = M("adm_activity")->add($data);
    可能会出现缓存,插入相同的数据,需要用
    $data = array();
    $data['username'] = "xxx";
    $data['nickname'] = "xxx";
    或 $data = array({'username'=>"xxx",'nickname'=>"xxx"})
    $result = M("adm_activity")->add($data);
    ========================================

    由于ThinkPHP对数据库进行了缓存处理没有及时更新缓存对象,新增的表字段在进行增删改时可能会操作失败

    解决的办法是直接删除Runtime文件夹下面的东西,让缓存重新生成(注意:必须把里面的文件夹也都删干净才行)

    ========================================
    For标签 - ThinkPHP完全开发手册 - 3.1
    http://doc.thinkphp.cn/manual/for.html
    8.11 For标签
    For标签用于实现for循环,格式为:
    for标签(循环输出数据)
    闭合 非闭合标签
    属性 start(必须):循环变量开始值
    end(必须):循环变量结束值
    name(可选):循环变量名,默认值为i
    step(可选):步进值,默认值为1
    comparison(可选):判断条件,默认为lt
    用法:
    <for start="开始值" end="结束值" comparison="" step="步进值" name="循环变量名" >
    </for>
    开始值、结束值、步进值和循环变量都可以支持变量,开始值和结束值是必须,其他是可选。comparison 的默认值是lt;;name的默认值是i,步进值的默认值是1,举例如下:
    <for start="1" end="100">
    {$i}
    </for>
    解析后的代码是
    for ($i=1;$i<100;$i+=1){
    echo $i;
    }
    ========================================

    解决ThinkPHP require model 问题,原因是模型文件的后缀也是需要.class.php和控制器一样。如果只写了.php的话就会报无法找到的错误,require两次会报Cannot redeclare class错误

    ========================================

    有其他问题再补充

  • 相关阅读:
    老虎Sitemap生成器 0.5.3
    东北虎介绍
    老虎Sitemap生成器 0.5.2
    面向对象的 Javascript 语言特性:作用域
    诚聘ASP.NET开发人员[杭州]
    treegridview
    老虎Sitemap生成器 0.2
    1
    面向对象的 Javascript 函数重载和类型检查
    欢迎使用 老虎关键词排名查询器 v0.2.5
  • 原文地址:https://www.cnblogs.com/zdz8207/p/ThinkPHP-for-u.html
Copyright © 2011-2022 走看看