まず、.ss
拡張子の付いたファイルは、コントローラではなくテンプレート ファイルです。
mysite/code/Download.php
extendsで新しいクラスを作成しますController
。
class Download extends Controller {
public function index() {
// Automatically handles URLs like http://example.com/Download
}
public function exampleaction() {
// Automatically handles URLs like http://example.com/Download/exampleaction
}
}
その後routes.yml
、ディレクトリに新しいファイルを追加して、新しいコントローラーmysite/_config
の関数が への呼び出しを処理するように指定します。index
http://example.com/download/123
---
Name: downloadrules
---
Director:
rules:
'download/$ID': Download
これで、サンプル URL の '123' 部分が関数$this->request->param('ID')
内と同様にアクセス可能になりindex
ます。
これで、次のことができます。
class Download extends Controller {
public function index() {
$fileID = $this->request->param('ID');
// Do your thing.
}
}
このようなドキュメントはhttp://doc.silverstripe.org/framework/en/reference/directorにあります