原文:Thinkphp入门 一 (45)

什么是框架?

就是一堆代码的集合,这些代码可以有变量、常量、函数、类等等。这些代码彼此紧密联系,彼此有合作关系。里边还有设计模式:MVC、单例、工厂等等。

为什么学习框架?

1. 我们全部精力都可以集中在业务层次,可以节约60%左右的工作量

2. 这个功能体可以帮组我们快速、稳定、高效搭建程序系统

3. 系统的健壮、维护、灵活、适应客户需求方面得到大大加强

成熟框架

1  zendFramework  : 官方框架。重量

2  Yii:OOP   重量

3  cakephp: 中量

4  symfony  重量

5  CodeIgniter  轻量

6  ThinkPHP  轻量

7  等等,还有许多不知名的框架。

什么时候使用框架

1. 程序项目代码非常多,功能非常复杂。

2. 项目时间非常紧迫。

应用目录说明

  项目应用

  boke应用目录说明(程序运行后自动创建的目录)

应用的入口文件:

MVC设计模式

入口程序文件

C:控制器controller

V:视图view

M:模型 model

编译缓存文件~runtime.php

是tp框架为了性能考虑,把系统需要加载的许多文件,都给编译到一个文件里边了,这个文件就是~runtime.php,这样系统节省了许多文件打开、关闭的开销。

代码追踪:

1. index.php  入口

2. ThinkPHP.php

3. ThinkPHP/Common/runtime.php

4. Think::Start();   ThinkPHP/Lib/Core/Think.class.php

l  Think::buildApp()

l  App::run()    ThinkPHP/Lib/Core/App.class.php

5 App::run()

l  App::exec();

利用反射机制,实例化控制器对象,调用对应的方法

注意:

我们的css、js、img图片等网站资源,需要单独被访问到。

通过路由进行web请求

模板创建:

控制器调用模板显示内容:

  1. 通过display()调用具体模板
  2. 在Tpl目录创建下边创建对应的模板文件
  3. 修改模板文件的css和img图片目录 地址,css样式的图片地址修改
  4. 在入口文件index.php制作css、img、js常量供模板使用

现在的入口文件:

总结:

  1. 利用tp框架创建应用,制作入口文件(go/index.php)
  2. 创建多个控制器,参考index控制器。所有控制器有继承Action父类
  3. 通过控制器调用视图模板display()
  4. 展示模板内容

在Tpl下边创建模板

修改css、img对应目录地址

Thinkphp入门 一 (45)的更多相关文章

  1. Thinkphp入门 四 —布局、缓存、系统变量 (48)

    原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调 ...

  2. Thinkphp入门 五 —模型 (49)

    原文:Thinkphp入门 五 -模型 (49) [数据库操作model模型] model  模型  数据库操作 tp框架主要设计模式:MVC C:controller   控制器   shop/Li ...

  3. Thinkphp入门三—框架模板、变量(47)

    原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display()   调用当前操作名称的模板 display(‘名字’)  调用指定名字的模板文件 控制器调用模板四种方式 ...

  4. Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)

    原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...

  5. thinkPHP入门 一

    简介 ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开 ...

  6. thinkPHP入门之二

    thinkphp提供了很多便利的方法,因为php要记的东西太多了,而thinkphp极大简化了这些,让编写过程更加快速. 为了预防那些了解它的人胡乱玩耍,thinkphp提供一个函数_empty 它是 ...

  7. thinkPHP入门

    什么是框架 框架就是一定结构的代码,框架提供一个开发web程序的基础架构以及常用的功能 代码,PHP框架的web程序开发拜倒了流水线上. php框架就是一定要按别人规定好的架构编写. php开发框架有 ...

  8. ThinkPHP入门(二)

    smarty使用 smarty引入流程 1. 控制器IndexAction.class.php function index() $this -> display(); (父类Action的di ...

  9. 3.ThinkPHP入门---视图

    视图:MVC三大组成部分,负责信息的展示和输出 1.视图的创建 创建的位置需要是在分组目录下的view目录下余控制器同名的目录中. 2.视图的展示 在smarty和tinkphp都是使用diaplay ...

随机推荐

  1. 使用阿里云集成包快速搭建LAMP+FTP教程

    LAMP集成包安装步骤 1.下载开发集成包 下载最新版的阿里云市场提供的WEB开发集成包(内含Apache.Mysql.PHP.vsftpd) #Linux指令wget http://gongdan. ...

  2. DW8051调试终结

    都不记得自己到底揪心了多久 —— 归根结底还是自己太菜了.终于找到了DW8051移植的bug. 这么大的一个图居然没有看到,真是气煞老夫也. 在原来移植的基础之上加两个反相器就OK 了

  3. 安装Tomcat指定JDK(转)

    一.应用实例 一般情况下一台服务器只跑一个业务,那么就直接配置一套环境,设置好Java环境变量即可.某些时候一台服务器上会安装多个业务,而且各个业务需要的JDK版本各不相同,或者为了使业务独立开来,需 ...

  4. Mybatis3 框架理解

    最近工作比较闲,维护一个政府机关的短信发送平台,大部分业务逻辑都在Oracle数据库上,但自己明明应聘的是Java开发啊!!!整天写存储过程的我还是有一颗写高级语言的心啊!!!好吧!!!先找个数据库方 ...

  5. Cannot drop the database ‘XXX’ because it is being used for replication.

    删除订阅数据库的时候出现下面的错误: Cannot drop the database ‘XXX’  because it is being used for replication. 数据库的状态为 ...

  6. ORACLE列值合併

    合併列值最通用的方法就是寫一個自定義函數去實現,這裏介紹的是其它方法. 在SQL Server中合併列值能够使用For Xml Path,在Oracle中則能够使用wm_concat 或 ListAg ...

  7. BZOJ 1057: [ZJOI2007]棋盘制作( dp + 悬线法 )

    对于第一问, 简单的dp. f(i, j)表示以(i, j)为左上角的最大正方形, f(i, j) = min( f(i + 1, j), f(i, j + 1), f(i + 1, j + 1)) ...

  8. Rabbit.Rpc

    .NET轻量级RPC框架:Rabbit.Rpc 最近准备写一个.NET的管理平台应用在公司,由于存在大量的Client => Server,Server => Client的请求需求在加上 ...

  9. Android Studio创建库项目及引用

    Android Studio创建库项目其实创建的是在主项目下创建Module模块,这个Module模块创建的时候选择库项目模式. 为什么要这样处理呢?因为在Android Studio中一个WorkS ...

  10. How to calculate the undo_retention time

    UNDO_RETENTION The undo_retention is a initialization parameter of the undo tablespace. The initiali ...