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

ThinkPHP入门心得

之前我自己一直在自学PHP,因为之前接受过JAVA培训,所以学习起PHP来还算容易,而且在学习期间自己租了空间边学边做了一个自己感兴趣的小站,从页面结构、样式到程序实现都是自己用Editplus

3月底,我收到了心仪公司的实习通知,4月1号正式进入公司开始工作.

之前我自己一直在自学PHP,因为之前接受过JAVA培训,所以学习起PHP来还算容易,而且在学习期间自己租了空间边学边做了一个自己感兴趣的小站,从页面结构、样式到程序实现都是自己用Editplus一行一行写出来的,虽说技术含量很低,但自己也动了不少脑子,在网上查了不少东西。第一个版本完全就是面向过程的混合式页面,之后自学了Smarty模板,实现了表现层和逻辑层的分离,很有成就感。

公司用的是ThinkPHP框架,刚到那就塞给我一个任务---EDM,但是时间没有限制太紧,给了我很多时间去接触公司用到的工具。老大让我看ThinkPHP快速入门,起初的两天一直是云里雾里,感觉一点都看不懂,现在知道,是我当时忽略了一个重要的东西---MVC,这个框架如果用MVC的思想去看很快就可以看明白,之后几天边看入门边看公司代码,终于在一个星期内我把整个框架的运行模式和结构搞懂了,剩下的就只是应用了。

以下是我对ThinkPHP的理解:

1.目录结构中的Action就是MVC中的Control层;Model就是MVC中的Model层,Tpl即MVC中的View层;

2.ThinkPHP的Model层是我见过最强大的Model层,用过Java的Hibernate,这个还需要对数据库表进行配置,感觉步骤很繁琐,但是ThinkPHP的Model层只需要起一个与数据库表同名的Model类就可以实现ORM,甚至根本不需要建Model类就可以用框架的M('表名')方法实现ORM,目前感觉很方便;

3.如果要添加一个新的模块或功能,步骤很简单:(1)用到了哪个数据库表,建立相应的Model类,如需要可在Model类中添加自定义方法;(2)建新的Action类即新模块,在Action类中新建方法,即功能;(3)如需页面,在Tpl中按照Action名称和方法名为模板命名即可;这样一个基本的模块就done了;

4.经过老大的指导,告诉我Model层中是不应该处理任何业务的(哪怕一个简单的运算),Model层中应该对业务是一无所知的,它只进行数据库操作,但是一些业务放在Action中也不合适,所以这个框架缺少一个中间层,这样就可以使框架分工更加清晰,添加功能和修改代码效率更高,错误更少。

希望日后会对这个框架有更深刻的理解。


推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • 极大似然估计(MLE)及其3D可视化解析
    本文详细介绍了极大似然估计(Maximum Likelihood Estimation, MLE)的推导过程,并通过3D可视化展示其在概率密度函数中的应用。我们将探讨如何利用MLE来估计参数,以及它在实际问题中的重要性。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本文详细介绍了MySQL数据库中的Bin Log和Redo Log,阐述了它们在日志记录机制、应用场景以及数据恢复方面的区别。通过对比分析,帮助读者更好地理解这两种日志文件的作用和特性。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 本文详细记录了一位具有五年半开发经验的候选人,在华为Android高级开发职位面试过程中的经历。从早晨9点到下午5点半,经过了群体面试、技术面试、综合面试及英语面试等多个环节,最终成功通过考核。文章不仅分享了面试心得,还提供了宝贵的面试题资源。 ... [详细]
author-avatar
狗狗狗699_250
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有