PHP + Slim での、インスタンスメソッド呼び出しの際に使われる 「: (コロン記号)」に関して


PHP での、コロンの意味について教えて下さい。

最近 PHP を学習しだした者です。

書籍にて、 Slim フレームワークのサンプルがあったので、それを意味を理解しながら、写経しています。  
そこで不明な点が有りましたので、質問します。

↓ Slimサンプルアプリケーション [Tinitter
のコード](https://github.com/uzulla/Tinitter/blob/master/lib/Tinitter/Route.php#L14)で、

[code]

    $app->get('/', '\Tinitter\Controller\TimeLine:show');
    
[/code]

とあります。

`TimeLine:show` のコロンはなぜ一つなのでしょうか??

`TimeLine` クラスのクラスメソッドの `show` を呼んでいるのですが、 `TimeLine::show` ではないのでしょうか??

インスタンスメソッドの時は、アロー演算子で呼び出すと思うのですが、クラスメソッドの時は、 `::` ではなくて、 `:`
を間に挟んで呼び出すということなのでしょうか?




これは、 Slim 独自の表現で、 PHP とは関係がありません。

件は、URL による、処理のルーティング（振り分け）の部分です。URLのパターンを決め、パターンにマッチしたものをどうするか指定しています。

[code]

    $app->get('/', '\Tinitter\Controller\TimeLine:show');
    
[/code]

→ 「 `/` に HTTP アクセスがあったならば、 `TimeLine` をインスタンス化して、 `show` メソッドを
HTTPを処理するメソッドとして使用する」という指定だと考えられます。 ~~アクセスごとに丁寧にインスタンス化するあたり、PHP 的ですね。~~

`:` でインスタンスメソッド指定する方法は、 Slim 2.4.0
に追加されたものらしく、[ドキュメント](http://docs.slimframework.com/#Route-
Parameters)に載っていなさそうですので、疑問を持たれたのは当然かと思います。[リリースノートには他に](https://github.com/codeguy/Slim/releases/tag/2.4.0)、
`::` の指定で、スタティックメソッド呼び出しになるらしいことが言及されています。

参考: [Slim Framework Document: Route
Parameters](http://docs.slimframework.com/#Route-Parameters)

