dev-master
9999999-devRouting in application
Apache-2.0 Apache 2.0
The Development Requires
by Alexey Kutuzov
Routing in application
Π‘ΡΡΠ½ΠΎΡΡΠΈ:, (*1)
Matching
)
ΠΏΡΡΠΈ
, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ HTTPRequest
ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡ (Router
), (*2)
Router::addPlugin
- ΠΠ»Π°Π³ΠΈΠ½Ρ ΠΊ ΡΠΎΠ±ΡΡΠΈΡΠΌ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ (ΠΠ»Π°Π³ΠΈΠ½ ΡΡΠΎ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ(stdClass) ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ-ΡΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ)
onBegin($matching);
- ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΎΡΠ΅onConformed($matching, $route);
- ΠΡΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π¨Π°Π±Π»ΠΎΠ½Π° Π² ΠΌΠ°ΡΡΡΡΡΠ΅onCheckEnv($matching, $route);
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ onConformed
onReached($matching, $route);
- ΠΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌonFinish($matching, $route);
- Π‘ΡΠ΅ΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ onReached
onPrepareRenderParams($route, $params);
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈΠΠ°ΡΡΡΡΡ (Route
), (*3)
match
ΠΎΠ±ΡΠ΅ΠΊΡΠ° Matching
_matchingConfirmed(Matching $matching)
- ΠΠΎΡΡΡΠΏΠ½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Matching ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ(ΠΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ/ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ) ΠΈ ΡΡΡΠ»ΠΊΠΎΠΉ_checkEnv(Matching $matching)
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π·Π΄Π΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° HTTP Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΡΡΡΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π²ΡΠ±ΡΠΎΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΡΠ΄Π°ΡΠΈΠΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄Π΅Π½ΠΈΡΡ ORM ΠΈ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ Π΄Π»Ρ Binding ORM Projection paths ΠΡΠ±ΠΎΡΠΊΠ° Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΠΎ Π΅Π³ΠΎ ΠΏΡΡΠΈ., (*4)
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² ΠΌΠ°ΡΡΡΡΡΠ° Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ, (*5)
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ, (*6)
404 not found
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ continuable route
, (*7)
ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ\ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° HTTP Π·Π°ΠΏΡΠΎΡ, (*8)
http|https
)ΠΈΠΌΡ/ΠΏΠΎΠ΄-Π΄ΠΎΠΌΠ΅Π½/Π·ΠΎΠ½Π°
Method: GET POST PUT HEAD OPTIONS
)GET/POST
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°JSON/XML
ΠΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈ POST Π·Π°ΠΏΡΠΎΡΠ΅ (Π²ΠΌΠ΅ΡΡΠΎ POST ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²)POST-params/Π€Π°ΠΉΠ»Ρ/JSON|XML
(multipart/form-data | multipart
)Accept | Accept-Encoding
) application/json text/html text/*
ΡΠ΅Π°ΠΊΡΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
(CSRF protection)
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Accept: image/*
Π½Π΅ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΠ΅ΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ CRUD
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΊ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ / ΠΡΠΈΠ±ΠΊΠ° ΡΡΠΎΠ²Π½Ρ Π·Π°ΠΏΡΠΎΡΠ°(BAD REQUEST)), (*9)
brainstorm:, (*10)
Routing in application
Apache-2.0 Apache 2.0