thinkphp文件上传实例中的tpl是不是view文件

为了帮老师用ThinkSNS二次开发一个微博系统,专门花了几天学习ThinkPHP框架,现在将一些ThinkPHP入门知识作以记录。
首先声明:
本文不是完全教程,只是将开发中碰到的问题作以总结,如果需要学习ThinkPHP框架,请参考官网文档:
目录/文件说明
ThinkPHP.php
框架入口文件
框架公共文件目录
框架配置文件目录
框架系统语言目录
系统核心基类库目录
系统模板目录
框架扩展目录(关于扩展目录的详细信息请参考后面的扩展章节)
我的文件结构
入口(ThinkPHP.php)
1、先在Web根目录(我用的phpstudy,是www文件夹)下面创建一个app项目(这个app就是我们的项目名)。
2、将下载的ThinkPHP解压(我是解压到app下,名为ThinkPHP)。
3、在app目录下面创建一个index.php文件,添加两行简单的代码:
&?php    define("APP_DEBUG", TRUE);  //开启调试模式,方便调试
  require '/ThinkPHP框架所在目录/ThinkPHP.php';  //我的为/ThinkPHP/ThinkPHP.php
这行代码的作用就是加载ThinkPHP框架的入口文件ThinkPHP.php,这是所有基于ThinkPHP开发应用的第一步。
然后,在浏览器中访问这个入口文件。
http://localhost/app/index.php
因为index.php为默认首页,所以亦可省略。
模板(Tpl)
Tpl文件夹下为模版页面,可放置html、php等页面。
同时支持多模块,即可在Tpl下建立多个文件夹,每个文件夹对应一个模块,同时一个模块和一个控制器对应(需要名字相同)
两个模块Form、Index
Tpl下对应有两个文件夹Form、Index
则对应的控制器也是两个FormController.class.php、IndexController.class.php
控制器(Controller)
命名:模块名+Controller
PATHINFO模式:是系统的默认URL模式,提供了最好的SEO支持,系统内部已经做了环境的兼容处理,所以能够支持大多数的主机环境。
对应上面的URL模式,PATHINFO模式下面的URL访问地址是:
http://localhost/app/index.php/module/action/var/value/
  //module为模块名称(控制器名称)、不带Controller
  //action为操作名称(控制器中的方法名称)、不带Model
  //var为参数名
  //value为参数值  //var与value成对出现
http://localhost/app/index.php/Index/index
  调用IndexController下的index()方法    如果该方法不存在,将直接调用Tpl/Index/index.html页面
模型(Model)
1、命名:模块名字+Model
在ThinkPHP的模型里面,有几个关于数据表名称的属性定义,在对应的Model中声明为属性字段(或者叫成员变量):
不包含表前缀的数据表名称,一般情况下默认和模型名称相同,只有当你的表名和当前的模型类的名称不同的时候才需要定义。
trueTableName
包含前缀的数据表名称,也就是数据库中的实际表名,该名称无需设置,只有当上面的规则都不适用的情况或者特殊情况下才需要设置。
定义模型当前对应的数据库名称,只有当你当前的模型类对应的数据库名称和配置文件不同的时候才需要定义。
只要命名规范,ThinkPHP会根据Model名字找到你要调用的数据库表,当然,前提你得建立。
1)表名为tp_categories(tp_为表前缀,在配置文件中配置)
protected $tableName = 'categories';
2)表名为top_depts,top_不是系统配置的表前缀,需要使用表的全名
protected $trueTableName = 'top_depts';
3)可设置数据库
protected $dbName = 'top';
可调用本模块Model,也可跨项目或模块调用。
D("UserModel")
D("UserModel", "app")  //D(Model名称,项目名称)
M方法与D方法类似,不过,我只用了D方法
可通过load(@.hello),hello为函数库文件名称
也可通过在项目配置文件中定义LOAD_EXT_FILE参数,例如:
"LOAD_EXT_FILE"=&"user,db"
通过import可引入使用的类包,可跨项目或模块
import("App.Model.UserModel");
App为应用名
Model表明是模型
UserModel为模型名称
这块东西太多,使用也最频繁,因此,官方文档介绍的很详细,请大家点击文章开头的链接查看
写了好久,希望对大家有点用处。
阅读(...) 评论()thinkphp tpl目录可以使用php文件名吗_百度知道
thinkphp tpl目录可以使用php文件名吗
TMPL_TEMPLATE_SUFFIX&#39.html和php都可以使用,现在该觉一点左右都没有.,
不过改成php没有什么意义,只是后缀名不一样可以使用;;.php&#39,我之前改过来;
=&gt,在php文件还是html文件没有什么区别.;&#39,因为你在模板里面操作的时候大多都使用的是tp的标签.在配置文件里面有这么一句&#39
其他类似问题
您可能关注的推广
thinkphp的相关知识
按默认排序
其他1条回答
html 。.htm 。。.tpl 。可以的.php 都可以的
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁ThinkPHP框架视图详细介绍 View 视图--模板(九) - CSDN博客
视图也是ThinkPHP使用的核心部分:
一、模板的使用
模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl)
&--&更换模板文件的后缀名(修改配置文件)
'TMPL_TEMPLATE_SUFFIX'=&'.tpl',//更改模板文件后缀名,默认是html
b、修改模板文件目录层次
Tpl/Index/index.html & ==& & Tpl/Index_index.html (改成这种文件目录形式)
& & & 配置文件:
'TMPL_FILE_DEPR'=&'_',//修改模板文件目录层次
c、模板主题(就是网站的不同模板类似QQ装扮皮肤)
--&TP默认是没有主题的,现在模拟建立2个主题模板 my 和 your 文件夹
& Home/Tpl/my/Index/index.html
& Home/Tpl/your/Index/index.html
& 想用哪个模板主题,在配置文件中换上对应值即可&&
'DEFAULT_THEME'=&'your', &//设置默认模板主题,访问的时候就是your模板下的index
需要在TPL下面新建一个your文件夹作为模板主题文件夹
*如何动态修改模板主题?
1、在后台准备一个功能,修改config.php文件中的默认模板项
2、通过url传递 t=主题 参数可以修改不同的模板
'DEFAULT_THEME'=&'your',//设置默认模板主题
'TMPL_DETECT_THEME'=&true,//自动侦测模板主题
'THEME_LIST'=&'your,my',//支持的模板主题列表要先建立好 my 和 your模板
设置好后这么访问,后面直接带个t参数 &t/你的模板文件:
&http://localhost/thinkphp/index.php/Index/index.html/t/my&
&http://localhost/thinkphp/index.php/Index/index.html/t/your
二、输出模板内容
a、display
1.display中没有参数
$this-&display();
2.可以带参数
$this-&display(本模块文件夹下的其他模板文件);
$this-&display('index2');
$this-&display(其他文件夹下的模板文件);
$this-&display('User:index'); &//本模块调用User模块的index文件
//注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可
//不需要一定有Public模块--PublicAction.class.php
$this-&display('Public:error');
$this-&display(其他主题下的 文件夹下的 模板文件);
//需要开启主题支持,DEFAULT_THEME'=&'my'
$this-&display('my:Index:index');
$this-&display(一个url路径);
$this-&display('./Public/error.html'); & //public位置在网站根目录下 /public/error.html
//几乎不使用
$this-&display('./Public/error.html','utf-8','text/xml'); &//模板 & 编码 &显示方式(html或xml)
$content ='&b&这是show的使用直接传html代码&/b&';//可能是数据库啊直接拿到的输出来
$this-&show($content); & &== &$this-&show('&b&这是show的使用直接传html代码&/b&'); &
3.fetch方法
获得模板文件中的内容,以字符串形式返回
$content=$this-&fetch('Public:error');
4.show方法
不需要模板文件,可以直接输出模板内容
$content=$this-&fetch('Public:error');
dump($content);
$content=str_replace('h1','i',$content);
$this-&show($content);
三、模板中的赋值 :&
//$this-&assign('name','乐杨俊'); &或
$this-&name='乐杨俊2';
$this-&display();
模板变量输出:
一、变量输出
1.标量输出 &--整型 浮点型 字符型、、、
2.数组输出
$arr = array('k1'=&'leyangjun','k2'=&'leyangjun2');
$this-&assign('name',$arr);
$this-&display();
模板输出用:
{$name[1]} & &--索引数组
{$name['k2']} --关联数组 &或
{$name.k1}
3.对象输出
{$name-&k}
二、系统变量(手册详细介绍)
//http://localhost/thinkphp/index.php/Index/add/name/leyangjun&
{$Think.get.name} & --url传的name值,在模板中可以直接拿到输出
{$Think.get.id}
三、使用函数(模板中对变量直接使用PHP函数)
{$name|strtoupper} 生成的编译后文件是 &?php echo (strtoupper($name)); ?& 在生成临时文件可见
{$name|date='Y m d H:i:s',###}
四、默认值
{$name|default='这里是默认值'}
五、运算符
+ - * / % ++ --
$this-&assign('name',10);
{$name++} & --11lanfengye&|&&|&&|&阅读(2639)
猜你喜欢的文章

我要回帖

更多关于 thinkphp入口文件配置 的文章

 

随机推荐