TP学习笔记一(tp的目录结构 , tp的输出方式)

Posted 我辈年轻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP学习笔记一(tp的目录结构 , tp的输出方式)相关的知识,希望对你有一定的参考价值。

一、Thinkphp的介绍 //了解
MVC
M - Model 模型 工作:负责数据的操作
V - View 视图(模板) 工作:负责前台页面显示
C - Controller 控制器(模块) 工作:描述功能
框架
二、ThinkPHP核心文件介绍
├─ThinkPHP.php 框架入口文件
├─Common 框架公共文件
├─Conf 框架配置文件
├─Extend 框架扩展目录
├─Lang 核心语言包目录
├─Lib 核心类库目录
│ ├─Behavior 核心行为类库
│ ├─Core 核心基类库
│ ├─Driver 内置驱动
│ │ ├─Cache 内置缓存驱动
│ │ ├─Db 内置数据库驱动
│ │ ├─TagLib 内置标签驱动
│ │ └─Template 内置模板引擎驱动
│ └─Template 内置模板引擎
└─Tpl 系统模板目录
四、实验环境搭建 

  使用phpstudy或者其他php环境搭建工具

五、项目搭建 
#项目目录结构及说明:

当我们实际部署网站的时候,目录结构往往由于项目的复杂而变得复杂。我们推荐的部署目录结构如下:

目录/文件说明
ThinkPHP 系统目录(下面的目录结构同上面的系统目录)
Public 网站公共资源目录(存放网站的Css、Js和图片等资源)
Uploads 网站上传目录(用户上传的统一目录)
Home 项目目录(下面的目录结构同上面的应用目录)
Admin 后台管理项目目录
…… 更多的项目目录
index.php 项目Home的入口文件
admin.php 项目Admin的入口文件
 
 
官方推荐结构
 
六、M V C 对应的文件夹
 
  M -Model 编写model类 对数据进行操作

  V -View 编写html文件,页面呈现  

  C -Controller 编写类文件(UserAction.class.php)

对应目录:

  M   项目目录/应用目录/Lib/Model
  V   项目目录/应用目录/Tpl
  C   项目目录/应用目录/Lib/Action

 
七、v 和 c 的使用方法
 
  TP中的输出有多种方式:
    echo 方式(只有c的情况下 , 也是php原生输出方法)
    通过display方法输出(v 和 c)
      想要分配变量可以使用assign方法
 
  例子1 直接使用display方法:
  
<?php
// 位于 /Lib/Action/indexAction.class.php
class IndexAction extends Action {

 public function show(){
        //直接输出位于 /Tpl/Index/show.html 的静态页面
        $this->display();
    }
?>

 

  例子2 为静态页面分配变量:

<?php
// 位于 /Lib/Action/indexAction.class.php
class IndexAction extends Action {

 public function show(){
        //输出位于 /Tpl/Index/show.html 的静态页面
        //并为变量分配一个名为data的名称方便页面展示
        $name = ‘guwei‘;
        $this->assign(‘data‘,$name);
        $this->display();
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>HELLO world</title>
    <body>
    <!-- 显示分配的变量 -->
        <div> <p>hello :{$data} </p></div>
    </body>

</head>

为了防止“{}”在html中被错误解析我们可以在配置文件中修改他的标识符

进入/Conf/config.php

<?php

/**
    TP配置
        ThinkPHP在项目配置上面创造了自己独有的分层配置模式,其配置层次体现在:
        惯例配置->项目配置->调试配置->分组配置->扩展配置->动态配置
        以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以优先顺序从右到左。

*/
return array(
    //‘配置项‘=>‘配置值‘
    ‘DB_NAME‘ => ‘test‘,
        //修改标识符的方法
    ‘TMPL_L_DELIM‘ => ‘<{‘,
    ‘TMPL_R_DELIM‘ => ‘}>‘,
    ‘debug‘    => ‘this is config‘,
    ‘LOAD_EXT_CONFIG‘=>‘user‘,
);
?>

html代码做如下修改:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>HELLO world</title>
    <body>
    <!-- 显示分配的变量 -->
        <div> <p>hello :<{$data}> </p></div>
    </body>

</head>

 

 

以上是关于TP学习笔记一(tp的目录结构 , tp的输出方式)的主要内容,如果未能解决你的问题,请参考以下文章

tp6新特性 tp5与tp6异同之处

TP框架学习

TP框架的目录结构

tp框架总体学习总结(一)

tp的目录结构

TP5 中引入第三方类库