首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  PHP

各位大神:请问 thinkphp5 在行为里怎样获取当前请求方法的模板文件呀?

  •  
  •   abccccabc · 2018-08-04 09:28:05 +08:00 · 2292 次点击
    这是一个创建于 497 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大神:请问 thinkphp5 在行为里怎样获取当前请求方法的模板文件呀?

    注:实际模板文件可能不是方法名

    14 回复  |  直到 2018-08-06 14:38:37 +08:00
        1
    eluotao   2018-08-04 09:38:00 +08:00
    这个应该发在 thinkphp 社区吧.
        2
    hsr   2018-08-04 09:45:14 +08:00
    $request
        3
    abccccabc   2018-08-04 09:58:12 +08:00
    @eluotao 你忘记了,这里大牛也比较的多些。
        4
    kenorizon   2018-08-04 10:20:47 +08:00
    https://github.com/top-think/framework/blob/5.1/library/think/view/driver/Think.php#L115
    定位模板文件的函数在这里 不过是 private 的 不能直接调用到
        5
    vacker   2018-08-04 11:05:55 +08:00 via Android
    模板可以传变量否?
        6
    abccccabc   2018-08-04 11:08:25 +08:00
    @vacker 其实在行为里我只需要知道模板文件地址,要判断是否模板文件有更新。仅此而已。
        7
    linxiaojialin   2018-08-05 02:26:05 +08:00
    不用判断这个吧,修改了视图文件就会自动更新的,如果请求时还没更新,可能是 PHP 开了缓存模块,得等几分钟。或可能改错了文件了。
        8
    realpg   2018-08-05 17:19:13 +08:00
    @abccccabc #3
    大牛并不用 thinkphp
        9
    abccccabc   2018-08-06 08:57:16 +08:00
    @linxiaojialin 判断这个是因为某些页面我设置的静态缓存可能会大些,如果此时修改了模板文件,但不检查模板文件的时间,那么静态缓存是不会更新的。
        10
    linpf   2018-08-06 09:40:44 +08:00
    @realpg 不认同
        11
    linpf   2018-08-06 09:53:47 +08:00
    @abccccabc 目前的框架应该是无法获取到模板文件地址的,除非使用的默认路径。如果不使用默认路径,需要在$this->fetch()方法中的第一个参数传输需要解析的文件。但是这个内容只在 fetch 方法中进行处理,并没有存到任何全局变量或者全局对象属性当中。所以如果需要实现你的想法,那么需要改动一下框架,在 fetch 方法中进行你的判断和更新。
        12
    abccccabc   2018-08-06 10:33:32 +08:00
    @linpf 如果只能在 fetch 方法里实现,那静态缓存几乎相当于没用。

    再等等,看有没有高人出现。这个静态缓存可以大大加快浏览速度。非常有用。
        13
    linpf   2018-08-06 11:16:43 +08:00
    @abccccabc 缓存不是没有用啊,缓存也是在 fetch 方法中调用的。所以说你又想用缓存,又想进行文件改动判断,那你也要在 fetch 方法中改动。我刚刚回答你这个问题,是特意去看了下框架代码的。你可以自己研究下。
        14
    abccccabc   2018-08-06 14:38:37 +08:00
    @linpf 我知道有这个$this->config['display_cache'],但要使用这个,要每个 fetch 的地方都要去改动一下,不切实际。


    现有的办法是采用默认的模板。

    谢谢你。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2128 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 15:31 · PVG 23:31 · LAX 07:31 · JFK 10:31
    ♥ Do have faith in what you're doing.