热门标签 | 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教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • JavaScript 跨域解决方案详解
      本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
    • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
    • Windows环境下Oracle数据库迁移实践
      本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
    • 搭建个人博客:WordPress安装详解
      计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
    • 本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ... [详细]
    • 2023年1月28日网络安全热点
      涵盖最新的网络安全动态,包括OpenSSH和WordPress的安全更新、VirtualBox提权漏洞、以及谷歌推出的新证书验证机制等内容。 ... [详细]
    • Docker基础入门与环境配置指南
      本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
    • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
    • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
    • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
    • 如何高效渲染JSON数据
      本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]
    • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
    • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
    • 二维码的实现与应用
      本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
    • publicclassBindActionextendsActionSupport{privateStringproString;privateStringcitString; ... [详细]
    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社区 版权所有