本站源码全部测试通过,配有前台及后台演示图,绿色安全,希望能对大家有所帮助!
  • 收藏本站
  • 网站地图
  • 发布源码
  • 首 页
  • app源码
  • 小程序源码
  • VPS/云主机
  • 快来了解下TP6中的超级函数app()!
    时间:2020-07-15 07:50:35来源:模板之家 作者:转载大师 下载:50742 次

    tp6中的助手函数app(),是一个包含极广,涵盖极深,作用巨大的助手函数,他可以调用很多方法,也是很多助手函数 的集合。

    首先这是在helper.php中定义的一个助手函数,我们来看一下:

    if (!function_exists(app)) {
        /**
         * 快速获取容器中的实例 支持依赖注入
         * @param string $name        类名或标识 默认获取当前应用实例
         * @param array  $args        参数
         * @param bool   $newInstance 是否每次创建新的实例
         * @return object|App
         */
        function app(string $name = , array $args = , bool $newInstance = false)
        {
            return Container::getInstance()->make($name ?: App::class, $args, $newInstance);
        }}

    这个函数如果你不带任何参数直接打印是这样的:
    halt(app());
    快来了解下TP6中的超级函数app()!
    在任何时候我们都可以往容器中注入新的类。
    比如我们注入一个Upgrade类到容器中:

    bind(settings,appadmincontrollerUpgrade);或者:bind(settings,Upgrade::class);或者:
    Container::getInstance()->bind(settings, Upgrade::class)

    如图:
    快来了解下TP6中的超级函数app()!
    调用容器中类:
    调用方式:

    app(settings)->upgradeTask($this->request);或:
    Container::getInstance()->make(settings)->upgradeTask($this->request)

    也就是app()助手函数不仅可以直接获取App类中的方法,还可以获取容器中所有的依赖注入类中的方法。容器是用来更方便的管理类依赖及运行依赖注入的工具。
    依赖注入其实本质上是指在构造函数中对其他需要使用的类迅速实例化。
    依赖注入的类统一由容器进行管理。

    例如我们很多助手函数:

    助手函数 描述
    abort   中断执行并发送HTTP状态码
    app 快速获取容器中的实例 支持依赖注入
    bind    快速绑定对象实例
    cache   缓存管理
    class_basename  获取类名(不包含命名空间)class_uses_recursive   获取一个类里所有用到的traitconfig  获取和设置配置参数
    cookie  Cookie管理
    download    获取	hink
    esponseDownload对象实例
    dump    浏览器友好的变量输出
    env 获取环境变量
    event   触发事件
    halt    变量调试输出并中断执行
    input   获取输入数据 支持默认值和过滤
    invoke  调用反射执行callable 支持依赖注入
    json    JSON数据输出
    jsonp   JSONP数据输出
    lang    获取语言变量值
    parse_name  字符串命名风格转换
    redirect    重定向输出
    request 获取当前Request对象
    response    实例化Response对象
    session Session管理
    token   生成表单令牌输出
    trace   记录日志信息
    trait_uses_recursive    获取一个trait里所有引用到的traiturl    Url生成
    validate    实例化验证器
    view    渲染模板输出
    display 渲染内容输出
    xml XML数据输出
    app_path    当前应用目录
    base_path   应用基础目录
    config_path 应用配置目录
    public_path web根目录
    root_path   应用根目录
    runtime_path    应用运行时目录
    在APP()助手函数面前只能算是小弟,因为只用一个app()函数就可以替代绝大部分的助手函数。
    举例:
    例如我们调用配置文件:
    config()
    实际我们可以这样写:app(config)->get()又例如:request()->time() 可以写作:app(request)->time()

    对于其他的助手函数,app()都是一样打包全收。

    以上就是快来了解下TP6中的超级函数app()

    转载请注明来源:快来了解下TP6中的超级函数app()!
    本文永久链接地址:bencandy.php?fid=3&id=11955
    本文标签:

    版权声明:
    —— 本文内容由互联网用户自发贡献, 本站不拥有所有权, 不承担相关法律责任, 如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 :
    —— 1034252225@qq.com 举报, 并提供相关证据, 一经查实, 本站将立刻删除涉嫌侵权内容。

    QQ在线客服

    服务热线

    织梦建站咨询