【PHP Phalcon】静的URLの実装

Phalcon
スポンサーリンク

はじめに

なにか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 / 日本語)
タイトルとURLをコピーしました