Thinkphp学习回顾(一)之基本结构目录
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学习回顾(一)之基本结构目录的更多相关文章
- Thinkphp学习回顾(二)之config.php的配置
常见配置项 <? return array( //'配置项'=>'配置值' 'TMPL_L_DELIM'=>'<{', //修改左定界符,防止其与js中的代码重合,发生造成问题 ...
- muduo学习笔记(二)Reactor关键结构
目录 muduo学习笔记(二)Reactor关键结构 Reactor简述 什么是Reactor Reactor模型的优缺点 poll简述 poll使用样例 muduo Reactor关键结构 Chan ...
- ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器
ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php 入口文件├─README.md README文件├─Applicatio ...
- thinkphp学习笔记1—目录结构和命名规则
原文:thinkphp学习笔记1-目录结构和命名规则 最近开始学习thinkphp,在下不才,很多的问题看不明白所以想拿出来,恕我大胆发在首页上,希望看到的人能为我答疑解惑,这样大家有个互动,学起来快 ...
- Linux学习之二-Linux系统的目录结构
Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...
- ThinkPhp学习01
原文:ThinkPhp学习01 一.ThinkPHP的介绍 MVC M - Model 模型 工作:负责数据的操作 V - View 视图(模板 ...
- thinkphp学习笔记7—多层MVC
原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...
- thinkphp学习笔记5—模块化设计
原文:thinkphp学习笔记5-模块化设计 1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: htt ...
- ThinkPHP学习总结
ThinkPHP学习总结 网站开发使用的thinkPHP5.0在此总结备查 MVC关系功能图 一.Thinkphp开发规范 l 类 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...
随机推荐
- C#发送邮件时提示:“不允许使用邮箱名称。服务器响应为:”的错误解决办法
由于项目需要,要为客户提供一个定期发送邮件的程序.本来原来自己还写过,但新写的程序一晚上也没通过测试,总是提示"不允许使用邮箱名称.服务器响应为..." 经过在网上搜索查找解决办法 ...
- H5+微信支付报-1问题
1.检查发起支付的参数,全部设置为小写: WxPayData jsApiParam = new WxPayData(); jsApiParam.SetValue("appid", ...
- HTTPS 进阶
参考 一.中间人攻击 概念:攻击者插入到原本直接通信的双方,让双方以为还在直接跟对方通讯,但是实际上双方的通信对方已经变成中间人,信息已经被中间人获取或篡改. HTTPS 的攻击分为两类:SSL 连接 ...
- surface pro 4 wifi掉线问题
更新你的无线网卡驱动到最新版本15.68.9032.47,重启.或者运行regedit修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\mr ...
- JS 数组去重复值
var arr1 = [90, 91, 92]; var arr2 = [80, 81]; var arr3 = [80, 71, 72, 73]; var arr = arr1.concat(50, ...
- 从偶然的机会发现一个mysql特性到wooyun waf绕过题
从偶然的机会发现一个mysql特性到wooyun waf绕过题 MayIKissYou | 2015-06-19 12:00 最近在测试的时候,偶然的机会发现了一个mysql的特性, 为啥是偶然的机会 ...
- Bittorrent Protocol Specification v1.0 中文
翻译:小马哥 日期:2004-5-22 BitTorrent 是一种分发文件的协议.它通过URL来识别内容,并且可以无缝的和web进行交互.它基于HTTP协议,它的优势是:如果有多个下载者并发的下载同 ...
- C# 接口笔记
/* 1. 实现多态的两种方式. * 使用虚方法实现多态. * 使用抽象方法实现多态. * ...
- Python开发【十一章】:数据库操作Memcache、Redis
一.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...
- 分享 rabbitMQ入门详解
原文地址http://blog.csdn.net/cugb1004101218/article/details/21243927 目录(?)[-] rabbitMQ说明文档 rabbitMQ是什么 消 ...