联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
比如我定义了一个函数,不会输出"这是移动端"吗
类型:迅睿CMS 更新时间:2020-06-20 14:47:39

比如我定义了一个函数

function dr_demo{

if (\Phpcmf\Service::C()->_is_mobile()) {

    echo '这是移动端'

}else{

    echo '这是PC断'

}

}

然后模板分别调用{dr_demo($data)}

这样的话静态生成不会输出"这是移动端"吗?


回帖
  • #1楼    迅睿框架创始人
    2020-06-20 11:27:09
    Google Pixel 手机 0
    函数语法都错了,先去了解一下php怎么定义函数的语法
  • 张益达
    #2楼    张益达
    2020-06-20 11:28:32
    Chrome 0
    回复迅睿框架创始人少写了一个() 不要在意细节
    image
  • 张益达
    #3楼    张益达
    2020-06-20 11:34:32
    Chrome 0
    回复迅睿框架创始人function dr_demo(){ if (\Phpcmf\Service::C()->_is_mobile()) { echo '这是移动端'; }else{ echo '这是PC断'; }}然后模板分别调用{dr_demo($data)}这样的话静态生成不会输出"这是移动端"吗?这样可以吧!- -!
  • K大帅
    #4楼    K大帅
    2020-06-20 12:02:39
    Chrome 0
    你里面都没有参数 为啥还要传参进去
  • 张益达
    #5楼    张益达
    2020-06-20 12:46:53
    Chrome 0
    K大帅好吧,哥哥,看来我的问题描述还是不够清楚现在没有函数了

    if (\Phpcmf\Service::C()->_is_mobile()) {

    echo '这是移动端';

    }else{

    echo '这是PC断';

    }

    这样的话静态生成,移动端和PC会分别输出 "这是移动端" "这是PC" 吗?这次没有函数了

  • K大帅
    #6楼    K大帅
    2020-06-20 13:18:59
    Chrome 0
    静态里面 是没法判断的。只能伪静态
  • 张益达
    #7楼    张益达
    2020-06-20 13:38:03
    Chrome 0
    K大帅这个我清楚,我的意思是在生成之前,就比如说 用模板和和PC模板,在解析的时候这样写不合适吧,或者说 \Phpcmf\Service::C()->_is_mobile() IS_PC IS_MOBILE 这种的必须是动态或者是伪静态才可以用
  • K大帅
    #8楼    K大帅
    2020-06-20 13:41:26
    Chrome 0
    你为啥不直接说你的用途 让别人给你方案 就一个判断终端的 搞这么麻烦
  • 小黄人 18html.com
    #9楼    小黄人 18html.com
    2020-06-20 14:42:29
    Chrome 0
    静态生成读取的目录不一样,所以无法在生成时,判断是否手机端!因为它生成时是没有终端信息给页面代码的你如果要手机端,PC端生成不一样的内容信息,那你就独立做一套手机端啊为什么要写到一起呢?你没看后台的模板目录吗?有独立的手机端目录
    满意答案
  • 张益达
    #10楼    张益达
    2020-06-20 14:47:39
    Chrome 0
    @小黄人 18html.com:我知道了,我在写了一个函数,移动端时模板调用{函数($data,'m')},PC端就写了pc 只能想到这个方法了,只怪学艺不精,生成时也正常了