单个冒号在这个PHP语句中的含义是什么?

时间:2017-08-20 01:48:23

标签: php

它用于SlimFramework。第一个参数是路由器模式,第二个参数应该是回调。我的老师给了我们一个cdApi名称空间内的课程Media。我理解::class返回一个完全限定的类名解析,然后它与THE PART I DO NOT UNDERSTAND:":getOne"连接起来。 getOne是一个功能,但我从来没有看到像那样使用冒号,它是什么意思?

$app->get('/super', \cdApi::class . ':getOne');

2 个答案:

答案 0 :(得分:3)

Slim框架有一个名为“Container Resolution”的路由功能,这就是您在看到单个冒号时所看到的内容。请参阅苗条文档:

https://www.slimframework.com/docs/objects/router.html

  

您不仅限于为路线定义功能。在苗条   有几种不同的方法来定义路线动作功能。

     

除了功能之外,您还可以使用:

     
      
  • container_key:方法
  •   
  • 类:方法
  •   
  • 一个可调用的课程
  •   
  • container_key
  •   
     

此功能由Slim的Callable Resolver Class启用。它   将字符串条目转换为函数调用。

他们的例子:

$app->get('/', '\HomeController:home');

答案 1 :(得分:-1)

双冒号是PHP中的静态方法访问

静态定义示例:

class Foo {
    public static function aStaticMethod() {
        return 'Hello World'
    }
}

可以这样称呼:

$var = Foo::aStaticMethod()

在PHP中,静态属性' class'自动分配给任何类 (见:http://php.net/manual/en/migration55.new-features.php#migration55.new-features.class-name

示例:

class Foo {}
print Foo::class //prints 'Foo'