誰か説明できますか? symfonyはこのURLをどのように知っているのですか/blogs/blog-title
= /blogs/{title}
それはどのようにしてrouting.yml
のURLを解析し、blog-title
がURLの動的パラメータであることがわかります!symfonyのURLペースはどのように機能しますか?
答えて
これは実際にはいくつかのステップが必要です。私はちょうどそれを少し説明するいくつかの例のコードを書いた。 機能コードであることはできません。
$requestArray = explode('/', $_SERVER['REQUEST_URI']);
今、私たちがしている2つの配列の比較する:$ _SERVERスーパーグローバルが付属していますREQUEST_URIため
$route = '/blogs/{title}';
$routeArray = explode('/', $route);
同じこと:へ
まず最初は、スニペットにルートを破るためにあります要素別:
if(count($routeArray) != count($requestArray)) {
return FALSE; // the route does not match
}
for($i = 0 ; $i < count($routeArray) ; $i++)
{
if($routeArray[$i][0] != '{' && $routeArray[$i] != $requestArray[$i]) {
return FALSE; // the route does not match
}
}
return TRUE; // still here? route matches!
最初のforループの実行は、 'blogs' sta rtsと '{'または 'blogs'が 'blogs'と同じ場合。
2回目のforループは、 '{title}'が '{'で始まるか '{title}'が 'blog-title'と同じであるかを比較します。
この他にも、Symfonyルータは、REQUEST_METHODが有効かどうかをチェックします。例えばGET、POST、PUT、DELETEを実行します。
こんにちはSlimen私は私の答えはあなたを助けることを願っています:
それがこの仕事をして、ルータコンポーネントです。
あなたのアプリケーションのWebページにアクセスしよう:
カーネルのrouting.ymlファイルを解析するために、ルータのコンポーネントに尋ねます。したがって、ルータは現在のURLをrouting.ymlで定義されたルートと照合しようとします。
ルータがrouting.ymlのルート定義と一致すると、彼はこのルートのパラメータ(実行するコントローラと、実行されるコントローラに与えるパラメータ(newsIdやユーザーIDなど))。
ルータがrouting.ymlで経路定義を解析すると、収集した情報をカーネルに渡します。
そして、カーネルは実行するコントローラと、そのコントローラに与えるべきどのパラメータを知るようになりました。
あなたの答えはThnxですが、私はその暗黙について質問していました。ルータがurlを解析し、URLの静的な側面と動的な側面を定義する方法。 – SlimenTN
- 1. symfonyのアセットURLはどのように機能しますか?
- 2. Symfonyでのpersistはどのように機能しますか?
- 3. スタックオーバーフローのURLはどのように機能しますか?
- 4. CodeIgniterのURLはどのように機能しますか?
- 5. ChromeのURLはどのように機能しますか?
- 6. テキストURLパラメータはどのように機能しますか?
- 7. URL短絡サイトはどのように機能しますか?
- 8. eddystone-urlはどのように機能しますか?
- 9. URLエンコードはどのように機能しますか?
- 10. URL Shortenerはどのように機能しますか?
- 11. symfonyのネストセットでscope_columnはどのように機能しますか?
- 12. symfony 3のキャッシュ無効化はどのように機能しますか?
- 13. Angular 2 URLとURL戦略はどのように機能しますか?
- 14. symfony 2.0 NodeDefinitionでdefaultValueはどのように機能しますか?
- 15. logstash kv {}機能はどのように機能しますか?
- 16. WatchKit:ディクテーション機能はどのように機能しますか?
- 17. 機能はどのように機能しますか?
- 18. GWT RPCはどのように機能しますか? (URLのセット)
- 19. PloneでのURLディスパッチはどのように機能しますか?
- 20. URL書き換えはどのように機能しますか?
- 21. Sinatraで相対URLはどのように機能しますか?
- 22. $ watchのコール機能は一度にどのように機能しますか?
- 23. dropbox.comの複数のファイルアップロード機能はどのように機能しますか?
- 24. JQueryのdatepickerのポップアップ機能はどのように機能しますか?
- 25. array_udiff()、array_uintersect()などはどのように機能しますか?
- 26. OpenLayers.Control.Scale.template - それはどのように機能し、全く機能しますか?
- 27. マップ機能はReact.jsではどのように機能しますか?
- 28. Schemeではコレクタ機能はどのように機能しますか?
- 29. この機能割り当てはどのように機能しますか?
- 30. セッターテンプレートのライブライブテンプレート機能はどのように機能しますか?
Thnxそれは今、私が探していた正確にはっきりしています。 – SlimenTN