Készítsen - szép - CNC kapcsolatok (url), hogy az oldal yii2 segítségével az osztály szabályait urlmanager

Készítsen - szép - CNC kapcsolatok (url), hogy az oldal yii2 segítségével az osztály szabályait urlmanager

Azok számára, akik nem tudják - CNC (rövidítve a „chelovekoponyatny URL» angol barátságos URL ..) - URL egy olyan út, amely a tiszta szó, hanem a azonosítók, és tükrözi a fájl szerkezetét az oldalon.

Ebben a cikkben lesz szó, hogyan lehet „szép” linkeket (vagy mit kell) a honlapon létrehozásával yii2 az osztály szabályait Yii2 urlManager komponenst. Meg kell jegyezni, hogy hozzanak létre egy osztályt és egy külön táblát az adatbázisban, hogy - ez elég radikális megközelítést, és talán csak még több mezők „csiga”, és állítsa szabályok urlManager, mint itt.

Íme néhány példa, hogy mi fog a végén:

Itt írunk néhány szabály, amelynek használata yii2 ne használja az adatbázist. Azt tedd, hogy csatlakozzunk mi osztály SefRule a tömegek „szabályok” szerint, amikor a program használható, mielőtt eléri a következő sorokat. És ez az:

Szintén a konfigurációs komponens urlManager tiltjuk a termelés belépési pont - index.php oldalt, és egyéb hivatalos feliratok (útvonalak feladat) és megtiltják keretek nem tartása irányelveinket önként keresik a módját, hogy nyissa meg a kért oldal (eltávolítja a többszörös oldalakon).

Létrehozása osztály CNC szabályokat.

Amint látható, a szabályokat urlManager. osztály lesz található common \ alkatrészeket. Alul van a teljes kód SefRule.php fájlt.


SefRule mi osztály örökli a módszerek az Object osztály, és végrehajtja UrlRuleInterface felület. Két alapvető technikákat, amelyek közül az egyik createUrl () - megjeleníti az URL-t az adatbázis abban a formában, amit kell, és a második parseRequest () átalakítja a képzelet formájában egy szabvány Yii2. Azaz, ez megegyezik egy URL bármilyen az adatbázisba, visszatér a normál URL-t. Mindezek a módszerek - a standard, nem lehet őket átnevezni.

A módszer createUrl () van vezérlők (bánya PostController és SiteController), a levezetés oldalak hozzá kell adni az előtag .html. azt jelzi, hogy ez egy statikus oldal.

Készítsen - szép - CNC kapcsolatok (url), hogy az oldal yii2 segítségével az osztály szabályait urlmanager

Most az adatbázisról.

Azok számára, akik a Yii migráció együttműködni az adatbázist, tegye a megfelelő kódot:

Manuálisan létre. Nevezetesen - a táblázat hívtam SEF. csak 3 területeken:

  • id (PrimaryKey, AUTO_INCREMENT);
  • Link (varchar (255));
  • link_sef (varchar (255)).
táblázat phpMyAdmin töltött adatok a következőképpen nézhet ki:

Készítsen - szép - CNC kapcsolatok (url), hogy az oldal yii2 segítségével az osztály szabályait urlmanager

Miután a vezérlő szükséges meghatározni az intézkedés, amely megadja a fájl a megjelenítés. Rekordok, amelyeket adatbázisából származnak, én ezt a nézetet. További meghatározott id bizonyos belépési / oszlop / tag, amely fölött a mintavétel az adatbázis.

Ennyi, most van egy rövid, világos URL-t. És az oldalak blogunk nem nevezhető 1,2,3 és saját URL-nevet. Az egyszerűség kedvéért, akkor csatlakoztassa az automatikus hozzárendelését URL-alias az admin felületen, amikor létrehozása / szerkesztése hozzászólások és egyéb dolgok. De ez egy másik cikk anyag.

Elfogadom megrendelések a területek létrehozása és a WEB-alkalmazások a legnépszerűbb php-keretek Yii2 és Laravel-5.