热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

No37-ThinkPHP323学习笔记

:本篇文章主要介绍了No37-ThinkPHP323学习笔记,对于PHP教程有兴趣的同学可以参考一下。
说在前面


最近接到了一个紧急任务(一个课程设计),要在一周之内做出一个轻型博客系统,必须快速开发,于是我想到了thinkphp。虽然我之前学过一个PHP,也早就听说过thinkphp,但是对thinkphp是一无所知,火速下载官方文档。开始学习!

thinkphp学习笔记


1. 获取变量I方法的变量类型、变量名和点之间不能有空格,否则出错
2. 空操作是指系统在找不到请求的操作方法的时候,会定位到空操作_empty方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。
3. 假设访问的链接是http://localhost/thinkphp/index.php/Home/City/beijing/,如果你修改了默认的操作方法后缀:'ACTION_SUFFIX' => 'Action',然后你想要利用_empty方法输出beijing这个参数(实际上thinkphp一开始认为这是操作方法),那么,_empty(city)city是beijingAction而不是你想要的beijing,这是因为thinkphp默认beijing是操作方法,自动加上了后缀Action。这时,你可以通过thinkphp内置的ACTION_NAME获取beijing!
4. 如果在某个模型类里面定义了connection属性的话(数组、DSN均可),则实例化该自定义模型的时候会采用定义的数据库连接信息,而不是配置文件中设置的默认连接信息,通常用于某些数据表位于当前数据库连接之外的其它数据库。
5. 需要注意的是,ThinkPHP的数据库连接的惰性的,所以并不是在实例化的时候就连接数据库,而是在有实际的数据操作的时候才会去连接数据库(额外的情况是,在系统第一次实例化模型的时候,会自动连接数据库获取相关模型类对应的数据表的字段信息)。
6. where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。使用字符串条件的时候,建议配合预处理机制,确保更加安全。
7. 一般情况下,无需调用table方法,默认会自动获取当前模型对应或者定义的数据表。
8. thinkphp中Include标签支持在包含文件的同时传入参数,但是要注意!使用变量时用[]符号把变量名包起来(不包括$符号!
9. 如果插入数据时提示Field * doesn’t have a default value,可以是字段名有问题,有么拼错了,要么是大小写的问题(比如全部换成大写或小写试试?)
10. 给模板传递变量数组,比如$this->assign($data),这里$data是一个数组($data[‘time’], $data[‘user’]),有两个属性。那么,在模板中,可以直接使用{$time}、{$user`}来输出值。注意别写成{$data.time}了哦!
11. 在thinkphp中使用jQuery的ajax,注意参数正确。最后,如果觉得代码实在没错,重启下服务器试试?

再贴一下thinkphp官方开发规范


1. 类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php;
2. 类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是 Application/Home/Controller/UserController.class.php;
3. 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
4. 类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
5. 函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
6. 函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
7. 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
8. 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
9. 以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
10. 常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
11. 配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
12. 语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_;
13. 对变量的命名没有强制的规范,可以根据团队规范来进行;
14. ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
14. 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。

感谢

感谢访问我的个人博客的朋友,如果您感觉本站对您搜索的问题有所帮助,并感觉对本站还满意的话,顶一下吧,希望您把本站分享给您的朋友!在此对您表示由衷的谢意! :)

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了No37-ThinkPHP323学习笔记,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
    • 一个登陆界面
      预览截图html部分123456789101112用户登入1314邮箱名称邮箱为空15密码密码为空16登 ... [详细]
    • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
    • 深入理解OAuth认证机制
      本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
    • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
    • 深入理解Cookie与Session会话管理
      本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
    • 深入理解 SQL 视图、存储过程与事务
      本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
    • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
    • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
    • 使用JS、HTML5和C3创建自定义弹出窗口
      本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
    • 本文详细介绍了如何利用Go语言和WebSockets技术构建一个高效的实时聊天系统。随着网络应用的日益复杂化,实时交互成为了提升用户体验的关键要素之一。通过本指南,开发者可以学习到最新的技术和最佳实践。 ... [详细]
    • 理解文档对象模型(DOM)
      本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
    • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
    • 360SRC安全应急响应:从漏洞提交到修复的全过程
      本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
    • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
    author-avatar
    手机用户2502902033
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有