热门标签 | 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 知识。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文探讨了dbforms框架的核心设计理念及其背后的技术原理,详细分析了该框架如何通过其独特的设计模式来简化开发流程,并为开发者提供了优化使用方法的建议。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • 深入理解ASP.NET MVC中的_ViewStart.cshtml
    本文介绍了_ViewStart.cshtml文件在ASP.NET MVC 3.0及以上版本中的作用和使用方法。该文件位于Views目录下,主要用于统一配置视图布局和其他全局设置。 ... [详细]
  • FineUI 是一款基于 jQuery 的专业级控件库,专为 ASP.NET WebForms 和 MVC 开发设计。它提供了丰富的用户界面组件,简化了复杂 Web 应用程序的开发过程。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
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社区 版权所有