按照小组学习的进度,开始学习thinkphp,将开始一系列的博客来记录我的学习过程
博客中主要记录的东西,一部分是我在网上查找的科普的资料、另一部分是我遇到的问题。
写在前面
学习的时候有很多东西都是在潜移默化中领会贯通的,就像刚刚开始学C++的时候,老师讲的不是语法,而是面向对象,当时很不理解,但是学过之后才知道,类比成习武来说:语言就是基础招式,思想是心法,而数学算法与理解能力是内功。显然,我们应该多花时间在后两者。
什么是ThinkPHP
学习之前要对这个有一个整体的理解
ThinkPHP是一个整体开发解决方案,就是开发一个web系统的“套路”,ThinkPHP能够解决应用开发中的大多数需要,因为他自身包含了很多的组件,如兼容处理、基类库、数据库访问层、模板引擎等,并且对于跨版本、跨平台和跨数据库移植都比较方便。ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、Pgsql多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
关于PHP
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是服务器端执行的脚本语言,与C语言类似,是常用网站的编程语言。PHP独特的语言风格混合了C、JAVA和Perl以及PHP自创的语法,有利于学习,使用广泛,主要用于web开发。
PHP的特点
-
开源性和免费性
- 这个不用介绍吧
-
快捷性
- 容易学习,语法简洁,而且有面向对象的概念
-
数据库连接的广泛性
- PHP可以与很多主流的数据库建立起连接,如MYSQL、ODBC等
- 面向过程和面向对象并用
- 在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
关于MySQL
- MySQL 是最流行的关系型数据库管理系统
- 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。'
- 小白如我的你一定要问:什么是API?
API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问原码,或理解内部工作机制的细节。
我们要做的是什么
一个能通过浏览器访问的系统,我们的php文件输出在网站页面上,一系列的操作在服务器完成,我们称我们的工作为后端开发。
我们将浏览器与服务器连接在一起,服务器上有我们的系统,系统又与数据库相连,从而实现我们想要的功能。
MCA的理解
- 我们把application下面的文件夹,称为模块(Moudle),把模块下的controller文件夹下的子文件称之为控制器(Controller),把控制器中的方法称为触发器(Action),简称为MCA
- 这一句话是我学到现在感触最重要的一句话,实现一个功能,你就要具备这些东西都准备全,好多次我都因为这些东西栽倒了坑里,一定要切记!!!
- 目前的理解:我们的目标是迟到桌子上的香蕉,但是我们现在在屋子的外面,所以呢我们要从门走进入(public/index.php),然后按照路线最终到达桌子(application)然后拿起香蕉(进入到php文件的过程)用动嘴的方法(index)吃了香蕉。虽然这个过程略显沙雕,但是我觉得有帮助
关于读取数据的方法
一、直接读取
二、间接读取
这里主要想说的就是关于读取的模型,这是一个重点。
- 第一直接读取的方法就是直接在我们的控制器C层进行数据的读取,即:用户——>C层——>数据库。效率高但是不适合大型项目的开发。
- 第二种的话更能有序能力强,所以采用第二种方法,即:用户——>C层——>M层——>数据库,具体的语法在教程里都已经体现出来了,我们要学习的是这种思想,这个M层使我们创建的,一个承接C层与数据库的跳板,这个跳板是要我们自己创建的。
其他思考
本周进行网站页面最终的设计任务完成比较顺利,感觉学习的过程主要有两个方面:兴趣和精力,努力学吧。
版权声明
本文保留所有权利,版权归河北工业大学梦云智软件开发团队所有。未经团队及作者事先书面同意,您不得以任何方式将本文内容进行商业性使用或通过信息网络传播本文内容。本文作者:温宇航
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。