yii2
Routing en URL's
Zoeken…
Opmerkingen
Alle URL's moeten worden gemaakt via helper yii\helpers\Url
het helpt u te veel als u besluit de URL-regels in urlManager te wijzigen.
URL's maken
Helper yii \ helpers \ Url biedt een set statische methoden voor het beheer van URL's. Deze helper kan worden gebruikt in views / controllers code.
URL naar een route:
echo Url::to(['post/index']);
URL naar een route met parameters:
echo Url::to(['post/view', 'id' => 100]);
verankerde URL:
echo Url::to(['post/view', 'id' => 100, '#' => 'content']);
absolute URL:
echo Url::to(['post/index'], true);
absolute URL met behulp van het https-schema:
echo Url::to(['post/index'], 'https');
Opmerking: de route die wordt doorgegeven aan de methode Url::to()
is contextgevoelig. Het kan de huidige module en huidige controller gebruiken. Neem bijvoorbeeld aan dat de huidige module admin
en de huidige controller post
:
relatieve route met alleen actie-ID (bevat helemaal geen schuine strepen):
echo Url::to(['index']); // -->> '/index.php?r=admin%2Fpost%2Findex'
relatieve route (heeft geen schuine streep):
echo Url::to(['post/index']); // -->> '/index.php?r=admin%2Fpost%2Findex'
absolute route (begint met schuine streep):
echo Url::to(['/post/index']); // -->> '/index.php?r=post%2Findex'
huidige gevraagde URL:
echo Url::to();
echo Url::to(['']);
Om URL maken op basis van de huidige route en de GET parameters gebruiken Url :: huidige () .
Veronderstel $_GET = ['id' => 10, 'page' => 7]
, huidige route is post/view
.
huidige URL:
echo Url::current(); // -->> '/index.php?r=post%2Fview&id=10&page=7'
huidige URL zonder page
parameter:
echo Url::current(['page' => null]); // -->> '/index.php?r=post%2Fview&id=10'
huidige URL met veranderde page
parameter:
echo Url::current(['page' => 12]); // -->> '/index.php?r=post%2Fview&id=10&page=12'