TP框架的学习一般都是从了解框架的基本结构开始的,每个文件都有其专属的作用,我的TP框架的回顾也从基本结构开始讲起。

一、ThinkPHP的获取

http://www.thinkphp.cn   这是官方网址,我的TP学习使用的是3.1.3完整版

下载之后,将文件名改为Thinkphp,然后放到自己的项目文件夹下,比如我们要做的项目就是bbs,也就是留言板。

二. 搭建基本结构    //TP 中结构的搭建是自动的

TP 中结构的搭建是自动的,我们只需要在bbs文件夹下建一个index.php的文件写入代码运行就可以实现目录结构的搭建。Index.php代码如下:

<?php

//1.确定前台文件夹名称 Home

define('APP_NAME','Home');

//2.确定应用路径

define('APP_PATH','./Home/');

//3.开启调试模式

define('APP_DEBUG',true);

//4.应用核心文件

require './ThinkPHP/ThinkPHP.php';

?>

当然Home是我们的前台文件夹,而要想生成后台的Admin文件夹,方法与上面类似,只需要再写一个文件,起名叫admin.php,  内容上只需将index.php文件夹下的Home改为Admin即可,也就是:

<?php

//1.确定后台文件名称 Admin

define('APP_NAME','Admin');

//2.确定应用路径

define('APP_PATH','./Admin/');

//3.开启调试模式,防止缓存造成调试问题

define('APP_DEBUG',true);

//4.应用核心文件

require './ThinkPHP/ThinkPHP.php';

?>

这两个文件夹写好之后就进行搭建的最后一步,运行:在浏览器中输入http://localhost/bbs/index.php 回车,如果显示欢迎使用thinkphp就代表我们的文件运行成功。我们会发现在文件夹下,自动创建了一个叫Home的文件夹里面还有各种文件,我们先不急着了解这些文件是干什么的,我们还要进行下一步,那就是将Admin文件夹也建起来。方法与上面相同,只不过网址不同:http://localhost/bbs/admin.php 回车页面同样为欢迎使用thinkphp,我们会发现Admin文件也建成了。好,搭建工作最终完成了,下面我们就了解一下那些文件是干什么的。

三、ThinkPHP核心文件介绍      //了解,因为我们是使用框架,并且我们并不是操作原有的框架文件而是操作后来生成的自己的文件,结构基本类似于原有框架。

四、目录结构介绍

 |——index.php   //主入口文件

   |——admin.php  //后台入口文件

   |——Public      //公共文件夹,用来放Css,Js,Images,网页编辑器,Uplode文件等

   |——Home      // 前台文件夹(下面对Home文件夹进行详细讲解)

   |——Admin      //后台文件夹(与Home类似)

五、 Home项目目录结构及说明:

Home 前台应用文件夹

├─Common 项目公共文件目录(可以用来放公共的方法,比如空操作函数)

├─Conf 项目配置目录(放config.php的地方可以进行项目的配置)《重点》

├─Lang 项目语言目录

├─Lib 项目类库目录《重点》

│  ├─Action类库目录 (盛放类文件的地方格式为IndexAction.class.php)

│  ├─Behavior 行为类库目录

│  ├─Model 模型类库目录  (基本格式为IndexModel.class.php)

│  └─Widget Widget类库目录

├─Runtime 项目运行时目录

│  ├─Cache 模板缓存目录

│  ├─Data 数据缓存目录

│  ├─Logs 日志文件目录

│  └─Temp 临时缓存目录

└─Tpl 项目模板目录《重点》   一个类对应一个文件夹,比如有IndexAction.class.php就有一个叫Index的模板文件夹,假如类中有一个index的方法,一般需要一个与方法名对应的html文件,比如:

Class IndexAction extends Action{

Public function index(){

$this->display();

}

}

以上代码的意思是有Index的类里有一个index的方法,$this->display();是显示这个页面的意思,这样系统就会默认到Tpl文件夹下找Index文件夹下的index.html的文件,并将里面的内容显示出来

六、ThinkPHP的介绍(补充了解MVC机制)

M - Model 模型                工作:负责数据的操作,比如后面的三大自动。

V - View  视图(模板)         工作:负责前台页面显示

C - Controller 控制器(模块)    工作:描述功能

Thinkphp学习回顾(一)之基本结构目录的更多相关文章

  1. Thinkphp学习回顾(二)之config.php的配置

    常见配置项 <? return array( //'配置项'=>'配置值' 'TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题 ...

  2. muduo学习笔记(二)Reactor关键结构

    目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...

  3. ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器

    ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php       入口文件├─README.md       README文件├─Applicatio ...

  4. thinkphp学习笔记1—目录结构和命名规则

    原文:thinkphp学习笔记1-目录结构和命名规则 最近开始学习thinkphp,在下不才,很多的问题看不明白所以想拿出来,恕我大胆发在首页上,希望看到的人能为我答疑解惑,这样大家有个互动,学起来快 ...

  5. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  6. ThinkPhp学习01

    原文:ThinkPhp学习01 一.ThinkPHP的介绍           MVC  M - Model 模型                工作:负责数据的操作  V - View  视图(模板 ...

  7. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

  8. thinkphp学习笔记5—模块化设计

    原文:thinkphp学习笔记5-模块化设计 1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: htt ...

  9. ThinkPHP学习总结

    ThinkPHP学习总结 网站开发使用的thinkPHP5.0在此总结备查 MVC关系功能图 一.Thinkphp开发规范 l 类 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...

随机推荐

  1. 合同主体列表添加两条合同主体,返回合并支付页面,支付总弹"请选择合同主体",删除后,竟然还能支付(改合并支付页面的字段状态)

    bug描述: 操作步骤:1.进入"商标续展"产品详情页面,点击立即购买(数量设为2),进入合并订单界面,选择合同主体,点击全部,清空所有合同主体2.新建合同主体保存,设置该合同主体 ...

  2. shell 条件判断

    一.数值判断 INT1 -eq INT2           INT1和INT2两数相等为真 INT1 -ne INT2           INT1和INT2两数不等为真 INT1 -gt INT2 ...

  3. Java:对象的强、软、弱、虚引用

    转自: http://zhangjunhd.blog.51cto.com/113473/53092 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无 ...

  4. 更改ubuntu多系统启动顺序

    电脑上双系统,启动时界面如下 ubuntu advance ubuntu option windows 在/boot/grub/grub.cfg中,查看到可以简单的修改/etc/defaulg/gru ...

  5. HTML5零基础学习Web前端需要知道哪些?

    HTML零基础学习Web前端网页制作,首先是要掌握一些常用标签的使用和他们的各个属性,常用的标签我总结了一下有以下这些: html:页面的根元素. head:页面的头部标签,是所有头部元素的容器. b ...

  6. iOS蓝牙开发CoreBluetooth快速入门

    在iOS开发中,实现蓝牙通信有两种方式,一种是使用传统的GameKit.framework,另一种就是使用在iOS 5中加入的CoreBluetooth.framework. 利用CoreBlueto ...

  7. 微信支付开发(7) H5支付

    关键字:微信支付 微信支付v3 H5支付 wap支付 prepay_id 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpayv3_h5.html 本文 ...

  8. Windows Server 2008 R2 域控服务器运行nslookup命令默认服务器显示 UnKnown

    一.问题: 域控服务器DOS窗口运行nslookup命令提示如下: 二.原因分析: 主要原因在于域控服务器的DNS服务器没有设置反向查找区域,计算机名称是通过IP地址反向查找到域控服务器的计算机名称. ...

  9. Python之路----------random模块

    随机数模块: import random #随机小数 print(random.random()) #随机整数 print(random.randint(1,5))#他会打印5 #随机整数 print ...

  10. CentOS进不了mysql

    在tty1里输入命令:“mysql -uroot -p+密码” 可以正常进入mysql,但在tty2里就不行了, 提示:Error 1045(28000): Access denied for use ...