Thinkphp入门 一 (45)

原文: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对应目录地址

 

时间: 2024-08-26 05:45:58

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

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

原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问这个类不存在的方法,那么它会去访问"魔术方法__call()" 用户访问一个不存在的操作->解决:给每个控制器都定义个_empty()方法来处理   第二个解决方法:定义一个空操作 [空模块处理] 我们使用一个类,但是现在这个类还没有被include进来. 我们可以通过自动加载机制处

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

原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法   [页面跳转] [变量调节器] Smarty变量调节器 TP变量调节器:普通的php函数 (count  strlen   str_replace) 定义:前者的输出,是后者的输入 [子模板包含] 当前模块彼此包含        <include  file="模板名称"  /> [使用布局layout] 1. 开启布局,

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

原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display()   调用当前操作名称的模板 display('名字')  调用指定名字的模板文件 控制器调用模板四种方式: [在控制器给模板传递变量] 在smarty里边给模板传递变量信息 $smarty -> assign(变量名称,值); 在tp框架里边同样适用assign()给模板传递变量信息 ThinkPHP的模板引擎的左右标记:        ThinkPHP/Lib/ Behavior/ ParseTem

Thinkphp入门 五 —模型 (49)

原文:Thinkphp入门 五 -模型 (49) [数据库操作model模型] model  模型  数据库操作 tp框架主要设计模式:MVC C:controller   控制器   shop/Lib/Action/具体控制器 V:view       视图     shop/Tpl/分组/模板文件 M:model      数据模型  shop/Lib/Model/具体模型   [创建模型] 创建的原则:一个数据表对应一个数据模型 创建模型: 当出现以下信息,说明我们的数据库没有配置用户名和

ThinkPHP快速入门实例教程之数据分页_php实例

数据分页可能是web编程里最常用到的功能之一.ThinkPHP实现分页功能十分简洁.只需要定义几个参数就可以实现.并且扩展也十分方便. 下面让我们从零开始实现ThinkPHP的分页程序吧. 1.首先,我们得创建一个用于分页测试的数据库 test.sql代码如下. CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(100) NOT NULL, `content` varchar(300)

Symfony学习十分钟入门经典教程_php实例

Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都可以通过这个教程完成自己的第一个Symfony程序. 如果需要这个样例程序的全部源代码,可以访问 这里 ,或者通过下面的方式获取源代码: $git clone https://github.com/saharabear/symfony-sample.git 项目初始化 首先,需要你在自己的电脑中安装PHP环境并安装git.这方面的内容属于基础内容,网络上有大

ThinkPHP中ajax使用实例教程_php实例

本文实例讲述了ThinkPHP中使用ajax的方法,提交表单如下图所示: 点击提交,不需要刷新本页,将内容提交到数据库当中,并在本页显示提交的内容.如下图所示: 一.jquery实现方法: MessageAction.class.php页面代码如下: <?php class MessageAction extends Action{ function index(){ $this->display(); } function add(){ //ajaxReturn(数据,'提示信息',状态)

ThinkPHP模板之变量输出、自定义函数与判断语句用法_php实例

本文实例讲述了ThinkPHP模板之变量输出.自定义函数与判断语句用法.主要包括变量输出.自定义函数与判断语句三种用法.分享给大家供大家参考.具体分析如下: 模板操作变量输出: 快捷输出变量 复制代码 代码如下: {:function(-)} //执行方法并输出返回值 {~function} //执行方法不输出 {@var} //输出Session变量 {#var} //输出Cookie变量 {&var} //输出配置参数  {%var} //输出语言变量 {.var} //输出GET变量 {^

ThinkPHP控制器间实现相互调用的方法_php实例

本文实例讲述了ThinkPHP控制器间实现相互调用的方法.分享给大家供大家参考.具体实现方法如下: ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用. 官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法. 有两个控制器,ColumnsAction和NewsAction.ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsActi