ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写)

1.tp框架是什么,为什么使用是它?

一堆代码的集合,里边有变量、函数、类、常量,里边也有许多设计模式MVC、AR数据库、单例等等。框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次。

为什么使用框架

框架可以帮组我们快速、稳定、高效搭建程序系统

该系统由于框架的使用使得本身的维护性、灵活性、适应客户需求方面得到最大化的增强。

使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关心程序的底层架构。

2.tp框架的入口文件,以及各文件夹和文件的作用?

入口文件是index.php

(1)thinkphp_3.2.3 full文件下的文件名

(2)tp/ThinkPHP文件里的文件

(3)tp/ThinkPHP/Conf文件夹下的文件

(4)tp/ThinkPHP/Library里的文件

(5)tp/ThinkPHP/Library/Think文件夹下的文件

3.怎样定义tp框架入口文件?

<?php

// 应用入口文件

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',true); // 定义应用目录
define('APP_PATH','./Jiaowu/'); //后面的Jiaowu是运行的新的应用目录 // 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php'; // 亲^_^ 后面不需要任何代码了 就是如此简单

  

4.运行入口文件时,会生成哪些文件夹

Jiaowu
├─Common 应用公共模块
│ ├─Common 应用公共函数目录
│ └─Conf 应用公共配置文件目录
├─Home 默认生成的Home模块
│ ├─Conf 模块配置文件目录
│ ├─Common 模块函数公共目录
│ ├─Controller 模块控制器目录 ☆☆
│  ├─Model 模块模型目录 
│ └─View 模块视图文件目录
├─Runtime 运行时目录
│ ├─Cache 模版缓存目录
│ ├─Data 数据目录
│ ├─Logs 日志目录
│ └─Temp 缓存目录

  

5.MVC模式的原理

MVC: Model 模型 模型(数据)层; View 视图 视图层; Controller控制器 逻辑层.

M:操作数据(数据连接,数据访问)
V:提供显示模板
C:实现业务逻辑

MVC:约定胜于配置

6.四种访问方法?

tp框架url地址可以由以下四种

  1. http://网址/index.php?m=XX&c=XX&a=XX   基本get模式
  2. http://网址/index.php/模块/控制器/操作方法  路径模式pathinfo
  3. http://网址/模块/控制器/操作方法           rewrite重写模式
  4. http://网址/index.php?s=/模块/控制器/方法    兼容模式

U() 制作url地址的快捷函数

在jiaowu/home/conf/config.php进行配置

<?php
return array(
//'配置项'=>'配置值'
'URL_MODEL' => 1, // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式
);

  

7.如何做出控制器里面的操作方法,怎样将相应的操作方法所对应的模班页面做出来?

之前访问的方式:访问的具体页面;    MVC访问的方式:访问控制器下的操作(方法),不是一个具体页面

   (1) 做出控制器里的操作方法具体如下:在Jiaowu/Home/Controller/IndexController.class.php文件里

namespace Home\Controller; //在该文件夹下定义一个虚拟的命名空间

use Think\Controller;  //调用该目录下的父类

class IndexController extends Controller { //继承该父类,定义一个子类

    public function index()  //indexcontroller下的index操作action,放在控制器里面的方法
{
echo "welcome!"; }
}

  

    (2)将相应的操作方法所对应的模班页面做出来步骤如下

第一:在Jiaowu/Home/Controller/IndexController.class.php文件里的控制器里做操作方法

<?php
namespace Home\Controller; //在该文件夹下定义一个虚拟的命名空间 use Think\Controller; //调用该目录下的父类 class IndexController extends Controller { //继承该父类,定义一个子类 public function index() //indexcontroller下的index操作action,放在控制器里面的方法
{
$this->display(); }
}

                  第二:在Jiaowu/Home/View文件下新建一个和第一步中的子类里面的函数名一样的html文件index.html,在该文件里作页面

ThinkPHP讲解(一)框架基础的更多相关文章

  1. ThinkPHP框架基础

    ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...

  2. 6月13 ThinkPHP框架基础

    ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...

  3. 框架基础之Hibernate简介

    框架基础之Hibernate简介 1.什么是Hibernate? Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来 ...

  4. Python云端系统开发入门——框架基础

    Django框架基础 这是我学习北京理工大学嵩天老师的<Python云端系统开发入门>课程的笔记,在此我特别感谢老师的精彩讲解和对我的引导. 1.Django简介与安装 Django是一个 ...

  5. PHP-----TP框架基础

    TP框架基础 把Thinkphp框架的压缩包解压到php文件夹下----www目录下.   Thinkphp文件夹都有什么呢??? (所有用TP框架做的程序,要访问程序里面的网页.内容的话,全部要走这 ...

  6. (转)Hibernate框架基础——一对多关联关系映射

    http://blog.csdn.net/yerenyuan_pku/article/details/52746413 上一篇文章Hibernate框架基础——映射集合属性详细讲解的是值类型的集合(即 ...

  7. Sqoop框架基础

    Sqoop框架基础 本节我们主要需要了解的是大数据的一些协作框架,也是属于Hadoop生态系统或周边的内容,比如: ** 数据转换工具:Sqoop ** 文件收集库框架:Flume ** 任务调度框架 ...

  8. Hive框架基础(二)

    * Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内部表 例如: create table table001 (name string , ...

  9. Hive框架基础(一)

    * Hive框架基础(一) 一句话:学习Hive有毛用? 那么解释一下 毛用: * 操作接口采用类SQL语法,提供快速开发的能力(不会Java也可以玩运算) * 避免了去写MapReduce,减少开发 ...

  10. Hadoop框架基础(三)

    ** Hadoop框架基础(三) 上一节我们使用eclipse运行展示了hdfs系统中的某个文件数据,这一节我们简析一下离线计算框架MapReduce,以及通过eclipse来编写关于MapReduc ...

随机推荐

  1. JQuery源码之“对象的结构解析”

    吃完午饭,觉得有点发困,想起了以后我们的产品可能要做到各种浏览器的兼容于是乎不得不清醒起来!我们的web项目多数是依赖于Jquery的.据了解,在Jquery的2.0版本以后对IE的低端版本浏览器不再 ...

  2. Linux下对各种压缩文件处理

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...

  3. asp.net mvc页面javascript代码中如何使用razor

    我们需要用<text>将javascript代码包含起来,强制让razor编译器回到内容模式, 或者将javascript代码放在函数中,让razor编译器可以识别,请看下面两个例子: & ...

  4. 转:【工欲善其事必先利其器】—Entity Framework实例详解

    开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...

  5. .net加载到vb 进程

    .net加载到vb 进程时,总是不能加载进去,什么原因呢? 要尝试三个步骤, 首先调试vb ,没有问题,代码能够调试 然后注册.net的dll,生成tlb文件,生成解决方案,调整附加到进程时的选项. ...

  6. $.ajax所犯的错误。success后面不执行

    $.ajax({ type: 'post', url: '../AshxHandler/HandlerAddPhoto.ashx', data: { clientPath: photoName }, ...

  7. Python处理时间 time && datetime 模块

    Python处理时间 time  &&  datetime 模块 个人整理,获取时间方式: import datetime import time #获取当前时间:Thu Nov 03 ...

  8. ps、grep和kill联合使用杀掉进程(转)

    例如要杀掉hello这个进程,使用下面这个命令就能直接实现.   ps -ef |grep hello |awk '{print $2}'|xargs kill -9 这里是输出ps -ef |gre ...

  9. 图像分割之(五)活动轮廓模型之Snake模型简介

    在"图像分割之(一)概述"中咱们简单了解了目前主流的图像分割方法.下面咱们主要学习下基于能量泛函的分割方法.这里学习下Snake模型简单的知识,Level Set(水平集)模型会在 ...

  10. AWK高级编程 转载

    AWK高级编程 转载 转载自:http://blog.csdn.net/wzhwho/article/details/5513791 1. 程序元素 一个awk 程序是一对以模式(pattern) 与 ...