为了账号安全,请及时绑定邮箱和手机立即绑定

快速入门ThinkPHP 5.0--基础篇

难度中级
时长 5小时20分
学习人数
综合评分9.63
150人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • 如果希望在原有内容基础上添加新的内容,可用{__block__}即可解析为原有内容

    查看全部
  • 继承{extend name="common/*" /},当内容需要与公共部分不同时,只需要采用相同的标签,更改为不同的内容即可,{block name=""}{/block},同一模板内不允许有同样的block,如果希望在原有内容基础上添加新的内容,可用{__block__}即可解析为原有内容

    查看全部
  • 包含和继承

    视图层页面通过include方式加载公共页面

    {inclue file="common/nav" /}

    继承 一个页面呢可继承另外的页面

    {extend file="common/base" /}

    同一个页面中不允许有两个同样的block name

    block表示替换被继承的页面中指定的样式或者标签

    {block name="title"}

    要替换的值

    {/block}


    layout

    layout 'layout_on' =>'true' 'layout_name'=>'a'开启后默认的访问view文件机制发生变化,

    会访问view/a.html,

    a.html 中的{__CONTENT__}的内容会被index控制器下指定方法对应view/index/*.html文件内容替换,

    从而 达到访问不同的方法,改方法对应的view文件会显示不同的内容

    若要改变其他共有的部分,还可通过控制器层使用$this -> assign传值

    通过给方法传递参数() a.html可以显示不同的内容


    查看全部
  • 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}


    查看全部
    0 采集 收起 来源:条件判断标签

    2018-10-31

  • 比较标签:eq;判断前面的值是否等于后面的值,跟if差不多。equal跟eq一样,只是eq的别名

    neq:判断前面的值是否不等于后面的值,是eq的相反。notequal跟neq一样,同上。

    gt:判断前面的值是否大于后面的值

    lt:判断前面的值是否小于后面的值

    egt:判断前面的值是否大于等于后面的值

    elt:判断前面的值是否小于等于后面的值


    查看全部
    0 采集 收起 来源:比较标签

    2018-10-31

  • eq neq 等标签使用

    {eq name="a" value="$b"}

    {else/}

    {/eq}


    查看全部
    0 采集 收起 来源:比较标签

    2018-10-31

  • for标签

    {for start="1" end="10" step="2" name="k"}

    {$k}

    {/for}


    查看全部
    0 采集 收起 来源:模板循环标签

    2018-10-31

  • foreach 用法

    {foreach name="list" item="vo" key="s"}

    {$s} : {$vo.name} : {$vo.email}

    {/foreach}


    查看全部
    0 采集 收起 来源:模板循环标签

    2018-10-31

  • 模板循环标签:

    {volist name="list" id="data" offset="1" length="1" mod="2" empty="没数据" key="i"}

    {$data.name}  -- {$mod} - {$i}

    {/volist}

    --- volist --- (name 对应控制器assign定义的二维数组,id相应vaule值,offset定义从第几条记录开始读取,length控制输出的条数,mod对某个值进行取余,empty在对象没数据时起作用,empty中可以接收控制器定义的变量,变量也可配带html标签。$i 的值相当于key,代表第几次循环)


    查看全部
    0 采集 收起 来源:模板循环标签

    2018-10-31

  • 可以直接在模板中对变量进行调整,如md5加密 {$name|md5},截取字符长度 {$content|substr=0,8} , 时间 {$time|date="Y-m-d", ###}

    如果想进行变量多个调整可以类似, {$name|md5|strtoupper}

    同时,可在模板中对变量进行初始值设置,{$name|default="Jakob"}

    利用thinkphp的view注释,html编译后用户是无法查阅的,形如{/* 这里是thinkphp view 的注释 */}


    查看全部
  • 模板中可以直接使用系统框架提供的$Think变量,获取来自系统中所有变量的值 模块还支持直接写入php原生代码,但是对维护不利,建议不使用此类操作(在模板中使用原生PHP标签:<?php ?>直接在里面和之前一样写php代码即可。可以使用模板变量,系统变量。但是不建议使用原生,混编维护起来复杂。大多数逻辑在控制器完成。)
    在模板中获取常量:{$Think.const.APP_PATH} 或者 {$Think.APP_PATH},两种方式均可;
     注意.env必须加上PHP_前缀,并且所有字母大写

    查看全部
  • 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‘   => [

    '常量名' => '替换路径'

    ]


    查看全部
  • index/controller下的return view(); ->默认模板的地址是view/index/index.html

    return view('upload'); ->view/index/upload.html

    return view('public/upload'); ->view/public/upload.html

    return view('./123.html'); ->www/public/123.html(即入口文件的public)

    return view('./html/123.html'); ->www/public/html/123.html(注意:如果命名为index.html,首先会访问public/index.html,即入口文件的index.html)

    还可以通过调用Controller控制器的fetch方法 调用指定的view文件

    调用前需要加载use think\Controller 命名空间,并在指定的应用控制器中extends Controller类

    $this-> fetch()各参数同view()助手函数相同,区别是fetch()方法也可使用

    $this -> assign()方法传递变量的视图层(此方法需继承Controller类才可调用)即tp3.x版本相同,view()方法不能调用此方法


    与tp3.x版本不同的是,$this->display()是直接在控制器中输出要显示的字符串,原3.x版本表示的是调用视图层,也可使用$this -> assign()方法,webserver项目中不建议使用$this->display()方法,这会导致视图层不可用


    查看全部
    0 采集 收起 来源:视图view

    2018-10-31

    1. 目录使用小写+下划线的方式命名

    2. 类库函数名均以.php结尾

    3. 类的文件名均以命名空间定义,并且命名空间和类库文件所在路径一致

    查看全部
  • config.php

    模块配置中  return[

        'default_return_type'      =>    'json'

    ];

    如果是xml   直接修改值xml  


    查看全部
    0 采集 收起 来源:响应对象

    2018-10-30

举报

0/150
提交
取消
课程须知
1、有一定的php基础。 2、对git composer 有一定的了解。 3、本机安装好相应的开发环境 4、最好有一定的mvc 框架的使用经验
老师告诉你能学到什么?
1、框架的搭建 2、目录文件的介绍 3、环境的配置 (开发 测试 线上环境) 4、请求对象和数据请求参数获取 5、相应对象和返回相应类型的数据 6、模板的使用 比较 判断 循环

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!