質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

Q&A

解決済

1回答

724閲覧

FuelPHPでのルーティングについて

maimaisuki

総合スコア18

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

0グッド

0クリップ

投稿2014/09/03 22:42

FuelPHPのバージョン1.7をインストールし、ルーティングなしで動かしています。でもうまくいかないことがでてきました。

行おうとしたことは、"userspacehuga"コントローラ内に"specialhoge"アクションの作成です。

lang

1public function action_specialhoge($a = 'empty') 2{ 3 var_dump($a); 4 die(); 5}

そしてルーティングをしました。

lang

1'test(/:any)?' => 'userspacehuga/specialhoge/$1'

しかし、localhost/testが以下の出力をするときに問題が起こります。

lang

1string(5) "empty" 2 3localhost/test/1もしくはlocalhost/test/fooが以下を返します。 4 5string(0)

でも、フルパスのlocalhost/userspacehuga/specialhoge/fooは以下を返すんです。

lang

1string(6) "foo"

要するに、"specialhoge"メソッドはルーティングからのパラメータをなぜか受け取れていないということです。

どうしてこうなるんでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これは正規表現を使用しているからです。ルーティングは強力なツールですが、ややこしくもあります。

質問者さまの場合は、正規表現を以下のようにしなければいけません。

lang

1'something(/(:any))?' => 'something/index/$2',

この(groups)はカプセル化されています。でもany自体はカプセル化されていません。

なので、上記の例のように追加の(group)が必要になります。

さらに、これは2番目のgroupなので、ルートtranslation内に$2 をおく必要があります。

詳しい説明はマニュアルを参照してください。

http://fuelphp.jp/docs/1.7/general/routing.html#/slightly_advanced

投稿2014/09/05 02:30

takoyaki

総合スコア63

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問