はじめに
なにかIDと紐づくようなdetailページを開くとき
動的URL (doc/controller/action?id=1)
や
静的URL (doc/controller/action/1)
のような形式のサイトを多々見る機会があると思います。
この記事をみれば、Phalconフレームワークで静的URLを実装する方法が分かります。
SEOへの影響
当初、静的URLのほうがSEO的によいのかと思っていたのですが、実際そうでもないらしいです。
最終的にはgoogleに理解しやすいURLにすることが大事らしいです。
動的URLでもページ内容と関連を持たせて命名したり、シンプルにすればよいということですね。
なので、動的URLより静的URLがよい!とは言えませんが、今回の本題はPhalconで静的URLをつくることです。
早速やっていきましょう。
ルーティング
Phalconで静的URLにする手法として.htaccessを編集する必要はありません。
「ルーティング」で実現しましょう。
public/index.php
Phalconでルーティングをするにはpublic/index.phpを編集します。
以下を付け足します。
$router->add(
"/con/act/([0-9]+)",
[
"controller" => "con",
"action" => "act",
"id" => 1,
]
);
実装という実装はこれだけです。
とても簡単ですね。
パラメータの受け取り方
dispatcherのgetParamで取得できます。
class SampleController extends ControllerBase
{
public function actAction()
$id = $this->dispatcher->getParam("id");
}
}
以上。
静的URLはとっても簡単に実装できました!
ルーティングに関しては色々と奥が深そうです。
参考
Phalcon ルーティング
ルーティング — Phalcon 3.0.2 ドキュメント (Japanese / 日本語)