• PHP uxf framework 在模版中加入url标签


    1. 确保不修改discuz代码;

    2. 继承discuz template类,重载parse_template 方法;由于discuz在模版引擎这一块没有考虑扩展性,对标签的解析全部写在一个方法中,因此只能重复大量代码进行重载;其中调用到的createurl方法放在idx.php 入口文件中,其实这里也可以直接调用原始的静态方法 - Mvc_Router::creatUrl();

    https://gitcafe.com/web3d/uxf/blob/master/upload/source/class/mvc/mvc_template.php

    <p>msg:{$msg}</p>
    
    <p>Welcome,Phper.</p>
    
    <a href="{url:'/senery-ticket/list'}">门票</a>
    <a href="{url:'/senery-ticket/order/id/' . $ticket_id}">订购门票</a>

    3. 不覆盖discuz的结果,就是这些扩展的东西只能在uxf体系里使用

    统一路由构造与解析 说明

    比如模版中统一的url写法

    {url:'/api-main/list/type/linux/order/1/name/'.$val.name}

    参数说明:

    • api:模块,默认模块common可不用添加,如 /news/list/id/10
    • main:控制器
    • list:动作
    • 其他:都是参数

    在普通url模式下,上述写法将会生成

    idx.php?module=api&mod=main&action=list&type=linux&order=1&name=Ubuntu

    这样的完整的url。

    在pathinfo的模式下,将会生成

    /api-main/list/type/linux/order/1/name/Ubuntu

    在Diy的模式下,将根据自己定义的方式生成,如

    /api/linux/Ubuntu
  • 相关阅读:
    Bypass WAF
    一种简单的hook方法--LD_PRELOAD变量
    Linux C:access()时间条件竞争漏洞
    环境变量法提权
    sudo-tcpdump提权法
    asynico转载
    pychar 2020.1.2激活
    临时mysql 链接池
    python pip 使用阿里云镜像安装库
    zookeeper kafaka 临时保存
  • 原文地址:https://www.cnblogs.com/x3d/p/3592434.html
Copyright © 2020-2023  润新知