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

快速入门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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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