-
(推荐使用)判断标签switch:用法是 {switch name="Think.get.id"} {case value="1|2"}普通会员{/case} {default/}游客 {/switch} * 多个值进行判断的时候可以使用| 来隔开 * 其他情况可以使用默认值标签 default/,记得加斜杠 判断范围标签{range }{in}{notin}{between}{notbetween}: * {range name="Think.get.num" value="1,2,3" type="in"}在1,2,3之间{else/}不在1,2,3之间{/range} * 效果等同{in name="Think.get.num" value="1,2,3" }在1,2,3之间 {else/}不在1,2,3之间 {/in} * between、notbetween的时候,value只有两个值头尾,区间判断。 判断常量是否定义 {defined} * {defined name="APP_PATH"}定义了{else/}没定义{/defined} (不推荐使用)if判断 * {if condition="($Think.get.num == 1) AND ($Think.get.id == 10)"}等于1和10{else/}都不是{/if} * condition里面可以使用and和or查看全部
-
路由 |config文件中开启路由 'url_route_on'=>true, 'url_route_must'=>false //默认关闭强制路由访问 | 控制器中添加方法 public function info($id) { //echo url('index/index/info',['id'=>"{$id}"])."<br>"; return "{$id}"; } |conf根目录下配置route.php 'posts/:id'=>'index/index/info'查看全部
-
Get Request Object First way : $request = request(); dump($resquest); Second way:(request is 单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 ) use think\Request $requset = Request::instance(); 作用是返回一个 ThinkTemplate 对象 dump($request); Third way: use think\Request; class Index{ public function index(Request $request){推荐 dump($request); }查看全部
-
http.conf修改 LoadModule rewrite_module modules/mod_rewrite.so AllowOverride All public->.htaccess存在 http://doc.thinkphp.cn/manual/url_rewrite.html 解决方法: RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 这句有问题, 搞得我查了很久, 改成下面这个就可以了~~~ RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]查看全部
-
采用多模块架构,支持单一模块设计。所有模块的命名空间均以app做为根命名空间(可配置更改) http://tp5.com/index.php/index/index/index http://tp5.com/index.php/admin/index/index common模块在app中无法使用。 因为Thinphp默认把common做成一个公共的模块,不允许我们在url上直接访问 不过我们可以在其它模块中使用use来导入common模块引用。(也就是说,如果有一些通用的控制写在common中) 减少重复的代码编写,不能直接访问 在任何控制器中集成common类 优化体验:appliaction文件夹改为app,然后把入口文件的appliaction也改为app查看全部
-
212125626526
查看全部 -
public目录下的router文件 框架快速启动文件 可在本地此目录下运行:php -S localhost:8888 router.php
然后在浏览器输入localhost:8888查看
查看全部 -
thinkphp5中变量赋值可通过以下四种方法:
①$this->assign('变量名',$变量值(名)); //在命名空间下引入think\Controller;
②$this->view->变量名 = '变量值'; //在命名空间下引入think\View;
③View::share('变量名',$变量名); //在命名空间下引入think\View;
④return $this->fetch('html页面',[
'变量名' => ‘变量值',
],[
'大写字母' => '替换内容'
]); //在命名空间下引入think\Controller;
系统提供的路径常量有:
__URL__ //路由地址
__ROOT__ //根目录
__STATIC__ //static目录
__CSS__ //css目录
__JS__ //js目录
可自行在config目录中替换,替换函数为:
’view_replace_str‘ => [
'常量名' => '替换路径'
]
查看全部 -
/* 使用视图的三种方法
*第一种直接实例化视图类
1、视图类: thinkphp/library/think/View.php;
2、命名空间: use think\View;
3、实例化: 动态 new View(); 静态 View::instance();
4、常用方法: fetch()渲染模板, display()渲染内容, assign()模板赋值
*第二种继承控制器基类Controller
1、控制器类:thinkphp/library/think/Controller.php;
2、命名空间:use think\Controller;
3、实例化:$this->view;//可访问View类所有属性或方法
4、常用方法:$this->fetch()渲染模板,$this->display()渲染内容,
$this->assign()模板赋值,$this->engine()模板引擎
*第三种助手函数view()
1、不用继承Controller基类,不用实例化View类,都可以使用;
2、仅适合于模板渲染,功能单一,不能加载配置;
3、语法:view([模板文件],[模板变量数组],[模板替换数组]);
4、使用方法实例:view('user',['name'=>'tp5'],['SITE'=>'php.cn']);
*/
查看全部 -
{foreach $list as $vo} <p>{$vo.name}:{$.email}</p> {/foreach}
也可以:
{foreach name="list" item="vo"} <p>{$vo.name}:{$vo.email}</p> {/foreach}
name表示数据源 item表示循环变量。
输出索引
{foreach name="list" item="vo" key="k"} <p>{$k}:{$vo.name}:{$vo.email}</p> {/foreach}
索引key 可自行定义,默认“key”
查看全部 -
{volist name="list" id="vo" offset="0" length="10" empty="暂时没有数据"} <p>name:{$vo.name}</p> {/volist}
name,模板赋值变量;id,当前循环变量;offset,遍历起始位置;length,遍历的长度;empty,为空的时候输出提示,不支持html写法,但可以传入变量;
https://www.kancloud.cn/manual/thinkphp5/125017
输出偶数记录
{volist name="list" id="vo" mod="2" }{eq name="mod" value="1"}{$vo.name}{/eq}{/volist}
Mod属性还用于控制一定记录的换行,例如:
{volist name="list" id="vo" mod="5" }{$vo.name}{eq name="mod" value="4"}<br/>{/eq}{/volist}
查看全部 -
获取请求
助手函数 request() : $re = request();
Rquest类instance() : use think\Request; $re = Request::instance();
注入对象 :use think\Request; 方法参数注入Request对象
查看全部 -
tp5.1中使用Container::get('app')->bind('admin')->run()->send();
查看全部 -
5-7 条件判断标签
{switch name="'Think.get.level"}
{case value="1|2"}<p>铜牌会员</p>{/case} 1和2可以共用 用|分割
{case value="3"}<p>黄金会员</p>{/case}
{case value="4"}<p>钻石会员</p>{/case}
{default /} <p>游客</p>
{/switch}
value="1,2,3" type="in" -> 是否其中一个
value="1,2,3" type="notin" -> 是否不是其中一个
value="1,3" type="between" -> 是否1-3之间
value="1,3" type="notbetween" ->是否不是1-3之间
{range name="Think.get.level" value="1,2,3" type="in"}
<p>当前level是1, 2, 3中的一个</p>
{else/}
<p>当前level不是1, 2, 3中的任何一个</p>
{/range}
in notin between notbetween均有独立标签
{in name="Think.get.level" value="1,2,3"}
{else/}
{/in}
判断变量/常量名是否被定义
{defined name="变量/常量名"}
{else/}
{/defined}
不推荐使用
()为一个条件 可用 and or
{if condition="($a == 1) and ($b == 1)"}
{else/}
{/if}
查看全部 -
模板循环标签:
{volist name="" id="" key="" offset="" length="" mod="" empty="" }
{/volist}
{volist name="数组名" id="数组的别名" key="默认为i,代表当前循环的次数" offset="从索引的几开始往后输出" length="当前所要输出的长度" mod="循环的次数和mod取余" empty="不能直接使用html标签,但是可以使用变量,当数组为空时显示的文本内容" }
{foreach $list as $vo} 或者 {foreach name="list" item="vo"}
{/foreach}
{for start="1" end="10" step="2" name="k"}
<p>{$k}</p>
{/for}
相当于:
<!--
for($k=1; $k<10; $i+=2){
echo "<p>{$k}</p>";
}
-->
查看全部
举报