当前位置:首页 > ThinkPHP > ThinkPHP 新手入门教程(二)之基础概念(上)

ThinkPHP 新手入门教程(二)之基础概念(上)

在学习ThinkPHP前,你应该了解一些常用的编程概念,学会这些概念对于编程的整体把握有很大的帮助,同时当你在找新工作的时候这些概念也会经常被用到,下面就介绍一些程序员需要学到的专业术语。

什么是LAMP?

在学习 PHP 的过程中我们经常会看到 LAMP 这个词,有经验的人会知道一般这种全是大写字母的词通常是英文单词的缩写,同样 LAMP 也是几个英语单词的缩写。

  • L(Linux)代表 Linux 操作系统,PHP 的最佳部署环境还是 Linux。我们通常开发在 Windows 上就比较方便,真正上线的时候部署到 Linux 服务器上。
  • A (Apache) 代表 Apache 网络服务器,这个是 Linux 操作系统上运行 PHP 脚本的最佳网络服务器。在 Windows 上我们可以使用 IIS。
  • M(MySQL) 代表 MySQL 数据库,作为配合 PHP 使用的最佳数据库,它小巧方便,不会像 Oracle 和 MSSQL 那样稍显臃肿,PHP 和 MSSQL 似乎天生就是绝佳的一对。
  • P (PHP) 当然代表的是 PHP 开发语言了。这正是我们使用 ThinkPHP 框架需要的编程语言。

当你听说 LAMP 的时候你应该还听说过 WAMP 这个概念,WAMP 与 LAMP 不同只是它是 Windows 操作系统下的,所以 WAMP 中的 W 是 Windows 的意思。

什么是 OOP?

OOP 又是英文单词的简写(Object Oriented Programming),中文意思你应该很熟悉就是“面向对象编程”。我们老是在说面向对象编程,那么什么是面向对象编程呢?我认为面向对象编程几个很形象的例子就是盖楼房。当我们建筑一幢楼房的时候,我们就是把砖、混凝土、地基、材料以及其他东西有机的结合起来,工人分工有序,不同的工程小队做不同的工作,建地基的修建地基,烧制砖的烧制砖块,和混凝土的和混凝土,工程师不需要了解每一个步骤是怎么完成的,只需要把各个部分完成的结构组装成楼房。一个程序项目不同的人员就相当于是建筑过程中扮演的不同的工人(项目总负债人是建筑总工程师,小组组长就是施工小队队长,程序员就是建筑工人)。然而这一切的分工合作最后完成共同完整整个程序项目的过程就是一个面向对象编程的过程。

面向对象编程具有的特点如下:

  • 组件:一个整体的完成单元(建筑总的混凝土就是一个组件)。
  • 抽象性:不关注具体是什么,具体的结构了解,简单说就是一个轮廓(不管哪一种建筑房屋中地基、混凝土、砖石都是需要的,强调的是一个大概的轮廓,程序中经常涉及到的抽象类就是这个原因,不需要它具体做什么,只需明白它是代表什么,相当于一个具体动作行为的代名词。
  • 封装 :就是程序中的方法、API等,我们知道它能干什么,怎么用,用的时候直接使用就行了,相当于一个独立的单元(比如建筑中砌墙的工人要用砖,工人用就是了,他不关心砖是怎么烧制的)。
  • 多态性:这个和继承就有关了,就是相同的调用,但是涉及的调用对象不同产生的效果就不同(建筑工程师让工人砌墙,他发出的都是砌墙的命令,但是不同的工人所做的动作不完全一致,因为他们砌的不是同一堵墙,所以动作不同)。
  • 继承性:从字面上理解就是继承者拥有被继承者的功能,程序中就是子类与父类的体现。

什么是 MVC ?

MVC 就是一种设计模式,所谓设计模式就是一种设计程序的方法(建筑工程师不同他们采用的建筑方式也不同,MVC 技术程序工程师采用的众多方式中的一种方式,而且是比较流行的方式)。MVC 的有三个核心组件组成 M(Model 模型组件)、V (View 视图组件)、C (Controller 组件),三个组件的联系如下图所示:
MVC 模型图

  • Model(模型)是数据模型以及一切与数据打交道的逻辑动作。
  • View(视图)就是用户看到的界面。
  • Controller(控制器)控制整个程序项目的逻辑路由。

控制器就是一个总的工程师,接受用户请求,给模型发送命令,传回用户生成的界面。

  • << PHP 将字符串转换为时间讲解
  • ThinkPHP 新手入门教程(二)之基础概念(... >>
  • 作者:
    除非注明,本文原创:知道91,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zhidao91.com/thinkphp-tutorial-base-concept-1/

    相关文章 近期热评 最新文章

    • 怎样在WordPress中安装Google Analytics
      就算你积累了多年网站建设的经验,你都不可能一开始就建一个外观,速度,功能以及转化都很完美的网站。你能做的并且也是各个站长正在做的,无非是通过不断的监测来改进...
    • 怎样在WordPress中安装Google Analytics
      就算你积累了多年网站建设的经验,你都不可能一开始就建一个外观,速度,功能以及转化都很完美的网站。你能做的并且也是各个站长正在做的,无非是通过不断的监测来改进...
    • oracle数据库相关操作注意事项
      修改Oracle SGA(共享内存) 很多网站说修改Oracle的内存通过命令 如果你这么做了,那么恭喜你,你的Oracle数据库无法启动了。如果你已经这么做了,恢复Oracle启动的方...
    • 使用微信JDK实现微信接口签名验证
      要使用微信的接口必须在绑定的域名下测试;签名必须先向微信请求到access_token,然后用access_token再去请求jsapi_ticket,最后用jsapi_ticket和相关的参数按照ASCII码...
    • ABP开发指南系列教程(2) – 多层架构...
      为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术。为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将工程分为四个层: 展现层(...
    • ABP开发指南系列教程(1) – 入...
      ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WE...
    • Windows下 JIRA + Agile + Mysql 破解...
      本文讲述了Windows下 JIRA + Agile + Mysql 破解安装示例教程