Névjegyek

PHP kód formázási szabályok. Bitrix átírás, dokumentálatlan függvény Szimbólum kód

Ha a kód formázása nincs meghatározva ebben a szakaszban - a kódot a PSR-2 szerint kell formázni

  • A füleket behúzásként használják a kódban.
  • A nyitó merevítő ugyanazon a vonalon van.
  • A záró göndör merevítő új vonalon áll.

Kód megjegyzés

A PHP kód kommentálása szerves része!

Kód kommentelésekor használja a PHPDoc megjegyzéseket.

A kódjában szereplő egysoros magyarázó megjegyzésekhez használhatja a // -vel kezdődő rendszeres megjegyzéseket.

Változók

A változók elnevezésének alapvető szabálya, hogy a névnek olyannak kell lennie, hogy a változó céljának magyarázatához nincs szükség megjegyzésre.

Előtagok

A változónevek a következő előtagokat használják:

  • ar- tömbökhöz
  • db- a CDBResult esetében
  • b- logikai változók esetén, ha ez nem egyértelmű a névből. Tökéletesítésre van szükség, ha egy logikai értéket használunk, ahol a karakterláncot általában tároljuk I / N.

$ arUserList = tömb (); $ dbRes = CIBlockElement :: GetByID ($ id); $ bActive = hamis;

A változó nevek nem kezdődhetnek aláhúzással.

Globális változók

A globális változókat nagybetűkkel írják alá, aláhúzással elválasztva.

Globális $ USER, $ APPLICATION, $ AR_MESSAGES.

A globális változók használata csak akkor engedélyezett, ha ez feltétlenül szükséges. Használja azt, amit a D7 ott végez, ahol csinál!

Helyi változók

A szkript lokális változói (függvény, módszer, osztály) mindig kisbetűvel kezdődnek, a szavakat elválasztja az első karakter nagybetűje (camelCase).

Ez a szabály a rövidítésekre vonatkozik.
Azok. A BBC állomás megírta a $ bbcStation szót; $ arBbcStations; ...

Csak egy kivétel van - az azonosítót nagybetűkkel írják.
Azok. $ sectionID, $ arElementIDs.

$ számláló = 0; $ bElementActive = hamis; $ lastErrorMsg = ""; $ ID = $ _GET ["ID"];

Kiegészítő (ideiglenes) változók

A FOR ... FOREACH konstrukciókban használt változókat rövidítéssel lehet megnevezni, ha annak a blokknak a kódját nézzük meg, amelyben használjuk őket, az oldal görgetése nélkül.

A ($ i = 0; $ i< count($arRows); $i++) { // ... } foreach ($arElement as $k =>$ v) (// ...) while ($ arr = $ dbRes-> Fetch ()) (// ...)

Állandóak

Az állandó neveket nagybetűkkel írják, a szavakat aláhúzással választják el. A globális hatókör miatt az állandókat rövid előtaggal kell megelőzni (a modul, az összetevő, a sablon nevével).

Bitrix karakterkódok

A bitrix egyedi kódjaira sok mindenre szükség van, ezért be kell tartaniuk egységes elnevezésüket. A szimbolikus kódot latin betűkkel kell írni, számok és speciális karakterek nélkül, és tükröznie kell az infoblokk, szakasz vagy elem lényegét.

Osztályok, módszerek, függvények megnevezése

  • Az osztálynevek mindig nagybetűvel kezdődnek. A szavakat az első betű nagybetűvel választja el. (CamelCase)
  • A módszerek és függvények neve mindig kisbetűvel kezdődik. A szavakat az első betű nagybetűvel választja el. (camelCase)

A függvények globális hatóköre miatt neveiknek rövid előtaggal kell kezdődniük (a modul, az összetevő, a sablon nevével).

Az irányító struktúrák nyilvántartása

A szabályozási struktúrák általános szabálya, hogy egy logikai kódblokkot behúznak.

Ha a blokk nem fér el egy képernyőn, akkor legalább két tabulátor megáll. Az egyik logikai elemhez kapcsolódó nagy kódblokkot két vagy több üres sorral kell elválasztani, és nyitó és záró megjegyzésekkel kell ellátni, amelyek elmagyarázzák az elem logikáját.

Eszközök a kód automatikus formázásához, paraméterek beállításához

[Plugins for SublimeText]

  • PhpDoc - Valójában egy plugin a PHPDoc formátum támogatásához.
  • phpfmt - plugin az automatikus php-kód formázáshoz (telepíteni kell a php-t).

Plugin config phpfmt.

Egy modern nagy projekt esetében általában cnc-t kell használni az oldalakhoz. Pozitív hatással van a webhely indexelésére és az eredményekben szereplő kérdésre.

CNC - URL egy személy számára érthető. Más szóval, ez az url latin átírási része. Elemeztük már az orosz ábécé átírását a pkhp-n. A Bitrix rendelkezik ilyen funkcióval, például akkor használatos, amikor egy infoblokk új elemét vagy szakaszát létrehozzák, ennek az elemnek vagy szakasznak a szimbolikus kódját a nevéből generálják. De mi van, ha az elemeket már létrehozták, és a szimbolikus kódokat nem írják meg. Nézzünk meg egy megoldást erre az esetre:

"inc",); $ arFilter = tömb ("IBLOCK_ID" => $ arParams ["IBLOCK_ID"], "IBLOCK_LID" => "s1" // webhely neve // ​​"CODE" => "", // "CODE" => hamis); $ arTransParams = tömb (// (maximális kódhossz, kis- és nagybetűk (alsó, felső, ne változtasson), // helyettesítse a szóközt ... -nel, más karaktereket cseréljen le ...-re, távolítsa el a felesleges helyettesítő karaktereket) "max_len" => 100, "change_case" => "L", // "L" - toLower, "U" - toUpper, false - ne változtassa meg a "Replace_space" => "-", "Replace_other" => "-", "delete_repeat_replace" "=> igaz); if ($ arParams ["TYPE_WORK"] == "szakasz") (// szakaszokhoz $ db_elemens = CIBlockSection :: GetList ($ arOrder, $ arFilter, false); $ db_elemens-> NavStart ($ arParams ["LIST_CNT"] ); visszhang "
"; while ($ ar_res = $ db_elemens-> GetNext ()) ($ transName = CUtil :: translit ($ ar_res [" NAME "]," ru ", $ arTransParams); $ arPropArray = Array (" CODE "=> $ transName); $ el = new CIBlockSection; $ res = $ el-> Update ($ ar_res ["ID"], $ arPropArray); echo "találat ". $ ar_res [" NAME "]." van ". $ transName."". ($ res?" és OK ":" és nem sikerült ")." \ r \ n ";) echo"
";) elseif ($ arParams [" TYPE_WORK "] ==" elem ") (// elemekhez $ db_elemens = CIBlockElement :: GetList ($ arOrder, $ arFilter, false, tömb (" nTopCount "=> $ arParams [" LIST_CNT "])); echo"
"; // a generációs eredmény formázott kimenetéhez, míg ($ obElement = $ db_elemens-> GetNextElement ()) ($ ar_res = $ obElement-> GetFields (); $ transName = CUtil :: translit (trim ($ ar_res [" NAME "])," ru ", $ arTransParams); // függvény a szim. Kód előállításához a $ arPropArray = Array névből (" CODE "=> $ transName." - ". $ Ar_res [" ID "],) ; // к adjon hozzá egy "előtagot" - "-id" a kész kódhoz $ el = new CIBlockElement; $ res = $ el-> Update ($ ar_res ["ID"], $ arPropArray); // írja be az eredményt , írja át ennek az elemnek a kódját: echo $ transName. "-". $ ar_res ["ID"]. " 
"; // kinyomtatja az eredményt) echo"
"; } ?>

Többször futtassa a php parancsfájlt a külön fájl vagy a pkhp-konzolon a Bitrix adminisztrációs panelen, amíg a szimbolikus kód sikeres létrehozásáról szóló üzenetek nem jelennek meg. Ennek eredményeként egy latin karakterlánc jelenik meg a "Szimbólum kód" mezőben, a megfelelő numerikus vezérlő formájában.

Gyermek sílécek: lyzhi-detskie
LEGO játék: igrushka-lego

Megjelenés dátuma: 2011.12.12

Néhány nappal ezelőtt el kellett készíteni a Bitrix "Bútorkatalógus" információs blokk szakaszainak és elemeinek szimbólumkódjait.

Mit karakterkód az infoblokk szakaszában vagy elemében a Bitrixben? Az infoblokk elem (szakasz) szimbolikus kódja a Bitrixben azt jelenti emlékeztető azonosító, amely egy karakterkészlet (latin betűk és számok). Ez a mnemos azonosító használható a webhely dinamikus oldalainak hivatkozásainak URL-jeinek kialakítására. Például, ha a "Kárpitozott bútorok" szakasz "Sofa Space" eleme a "divan-cosmos" szimbolikus kódot viseli, akkor a webhely linkje a következőképpen nézhet ki: "/ catalog / myagkaya-mebel / divan-cosmos"

Csinálva, a fő kérdés az volt, hogy melyik módszert kell átírni. Az első gondolat valóban az, hogy összeállíts valamiféle saját módszert. Azonnal félrehúzódott. Annak az egyszerű oknak az oka, hogy - végül is, hogyan generálják ezeket a szimbolikus kódokat a CMS-ben? Hogyan keletkeznek? Tehát van egy módszer! Igen, ő az.

Van olyan egyszerű funkció, amelyet valamilyen okból még nem írtak le a hivatalos Bitrix API dokumentációban. (az írás idején (2011. december) a dokumentációban erről nem tettek említést)

CUtil :: translit ($ str, $ lang, $ params = array ())

A függvény átírja a karakterláncot $ str a nyelvből $ lang paraméterekkel $ params.

Tömb paraméterei $ params:

A kern új verzióiban (a 11.5.2-ben láttam) volt új paraméter "safe_chars", alapértelmezés szerint "" és kommentálta a "use_google" szót is, alapértelmezés szerint hamis.

PÉLDA a felhasználáshoz:

"-", "csere_más" => "-"); $ trans = Cutil :: translit ($ név, "ru", $ arParams); echo $ trans; ?>

UPD. Kérdést tettek fel a megjegyzésekben:
"És egyszerűen megteheti, hol regisztráljon valamit a Bitrix-ben, hogy az infoblokkok importálásakor létrehozott CNC működjön?"
A kérdés helytelen, és nehezen értem meg. De különleges esetként hozok egy ilyen példát -
a feladat szimbolikus kódok létrehozása a termékekhez, amikor egy kereskedelmi katalógust importál a CSV-ből.

"-", "csere_más" => "-"); $ trans = Cutil :: translit ($ név, "ru", $ arParams); $ arFields ["CODE"] = $ trans; ))?>

Így CSV fájlból történő importáláskor automatikusan létrejön egy szimbolikus kód - átírás a névből.

Fontos UPD2.

Olyan kérdéseket kezdett feltenni, hogy az átírás nem működik, lásd a megjegyzéseket. Úgy döntöttem, hogy kitalálom, de a problémát egyetlen jelenlegi és régi projektemen sem tudom megismételni - velem minden rendben van. De az emberek nem?

DÖNTÉS!

A probléma a kódolásnak köszönhető. Hozzáadás a .htaccess fájlhoz:

php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8

Mi van, ha ez nem segít? Menjünk az admin panelre a "site check" oldalon, futtassuk le az ellenőrzést. Ha a hibás kódolásról szóló üzenet marad az ellenőrzésen, ne csüggedjen. Vagy kapcsolatba kell lépnie a tárhelyszolgáltatóval a beállítások javításához, vagy el kell felejtenie a szokásos átírási funkciót, és meg kell írnia a sajátját. (És ne is csodálkozzon a többi hibán a kódolás miatt).

Szabványos nemzetközi karakterkód, amelyben az egyes karaktereket hét bitben kódolják. Távközlési témák, alapfogalmak EN ISO 7 ...

ISO-7 kód- A szabványos nemzetközi karakterkód (ISO 646 1973), amelyben az egyes karaktereket hét bitben kódolják. Az Egyesült Államokban ennek a kódnak az ASCII verzióját hívják. [E.S. Alekszejev, A. A. Myachev. A Computer Systems Engineering angol-orosz magyarázó szótára. Moszkva 1993] ... ... Műszaki fordítói útmutató

Kód (digitális számítógépben)- Kód egy digitális számítógépben, egy hagyományos karakterrendszer az információk megjelenítésére a digitális számítógépben. Minden K. az ábécé jeleit használja. A legtöbb K. esetében az ábécé két karakterből áll, vagy két karakterből álló ábécé betűiből áll. K. fizikai formája a karaktertől függ ...

IATA légitársaság kódja- az IATA légitársaság 2 vagy 3 karakteres egyedi azonosítója, amelyet a Nemzetközi Légiközlekedési Szövetség (IATA) a légitársasághoz rendelt. Ezt a kódot az IATA 762. sz. Határozata szerint az egyesület székhelye osztja ki a ... ... Wikipédiában

A kód- Az I (francia kód, latin kódexből törvények összessége) a hagyományos információk (szimbólumok) rendszere a különféle információk továbbítására, feldolgozására és tárolására (memorizálására). A kódpontok végső sorrendjét szónak nevezzük. Különböző karakterek száma, ... ... Nagy szovjet enciklopédia

RADIX-50- egy karakterkód, amely lehetővé teszi három karakter beírását egy 16 bites szóba. Főleg miniszámítógépeken, elsősorban a PDP 11 családban (SM számítógép) használták a fájlnevek tárolására fájlrendszerek OS RT 11 és RSX 11, modulnevek ... ... Wikipédia

ESCON- (Enterprise Systems Connection) szálcsatorna-interfész, amely információcserét biztosít az IBM zSeries szerver és a perifériás eszközök (vagy egy másik szerver) között. Először az Archite szerverekben használták ... Wikipédia

cím- főnév, m., uptr. gyakran Morfológia: (nem) mi? címek, miért? cím, (lásd) mi? cím, mi? cím, miről? a címről; pl. mit? címek, (nem) mi? címek, mi? címek, (lásd) mi? címek, mi? címek, miről? a címekről 1. Bárki címe ... ... Dmitriev magyarázó szótára

feladat azonosítója- Folyamatban lévő vagy végrehajtásra kész feladathoz rendelt szimbolikus kód. [Domarev V.V. Biztonság információs technológiák... Szisztematikus megközelítés.] Témák információbiztonsági EN feladat azonosító ... Műszaki fordítói útmutató

Pascal (programozási nyelv)- Ezt a cikket vagy szakaszt felül kell vizsgálni. A Pascalban nincsenek modulok, OOP és egyéb újszerű trendek. A kiterjesztések leírása csak a megfelelő ... Wikipédia cikkekben lehet

Pascal (nyelv)- Pascal Semantics: eljárási Végrehajtás típusa: fordító Bevezetési év: 1970 Szerző (k): Niklaus Wirth A Pascal általános célú, magas szintű programozási nyelv. Az egyik leghíresebb programozási nyelv, széles körben ... ... Wikipédia

Könyvek

  • Nyelvkulturológiai módszer a frazeológiában. Kultúrkódok, M. L. Kovshova. A monográfia a frazeológiai egységek - a nyelvi jelek - nyelvi-kulturológiai tanulmányozásának szól, amelyek átvitt formában tárolják és generációról generációra továbbítják a nemzeti értékszemléletet. Vásárlás 1053 UAH-ért (csak Ukrajna)
  • A nyelvkulturológiai módszer a frazeológiában A kultúra kódjai, Kovshova M. A monográfiát a frazeológiai egységek - nyelvi jelek - nyelvészeti kulturológiai tanulmányozásának szentelik, amelyek átvitt formában tárolják és generációról generációra közvetítik a nemzeti ...

Az írógéppel írt szöveg nyomtatott karakterekből - grafikus szimbólumokból áll.
A grafikus szimbólumok olyan szimbólumok, amelyek jól láthatóak a szövegben.
Az összes grafikus szimbólum egyetlen halmazba kerül egyetemes rendszer Unicode.
Helyezzen be egy Unicode grafikus karaktert egy html dokumentumba
a táblázat fő és egyetlen célja.

Szimbólumot beilleszthet egy html dokumentumba a következő módszerek egyikével:

  1. másolja a szimbólum képet a böngésző ablakából a vizuális html szerkesztő ablakába
  2. másolja a karakter html kódját közvetlenül a html dokumentum kódjába
Vegyük el, hogy ez két különböző módszer:
  1. beszúrja a látványt a vizuálisba
  2. kódot beágyazni a kódba.

A szimbólum betűtípusa, mérete és színe HTML-ben kóddal állítható be, például:
JELLEMZŐKÓD
Hol,
Arial - betűtípus,
10 képpont - betűméret pixelben,
# ff0000 - betűtípus színkód (piros)

Például:
☎ - a szimbólum betűmérete 30 képpont,
☎ - a szimbólum betűmérete 30 képpont, színe - piros
☎ - a szimbólum betűmérete 20 képpont,
☎ - a szimbólum betűmérete 10 képpont.
Kb. A speciális karakterek beszúrásához ajánlott betűtípusok: Arial, Verdana és Tahoma. Ezek a betűtípusok megfelelően jelenítik meg az Unicode karaktereket, és a webalkalmazások viszont helyesen támogatják őket.

  1. "Szimbólum"
    (látható szimbólum kijelzés)
    Ebből az oszlopból átmásolhatja a szimbólumképet, és beillesztheti a html szövegszerkesztő ablakba. A karakter másolása 20px betűmérettel történik. A másolás befejezése után lehet, hogy a betűméretet közvetlenül a másolt karakterhez kell testreszabnia.
  2. "Név"
    (csak fontos vagy érthetetlen karakterek esetén)
    A szimbólum céljának, terjedelmének, példáinak magyarázata ...
  3. "Mnemonika"
    A mnemonic a szó betű szerinti felépítése, amely egy karakter betű kódját jelöli a HTML-ben. Közvetlenül beillesztésre kerül egy html dokumentum html kódjába. A mnememonika nagyon népszerű a professzionális elrendező tervezők körében. Az emberek tökéletesen megjegyzik őket minden html alkalmazás támogatja. Minden mnemonikus tartalmazza a szimbólum ábécé nevét (megnevezését) és egy szolgáltatási jelet (&), amely jelként szolgál a böngésző kódjának elolvasásához, és nem jelenik meg a monitor képernyőn. minden egyes emlékirat egyedi és könnyen olvasható, mert a szimbólumot jellemző angol szóból származik.

    Mnemonika (görög) - a valamire való emlékezés művészete. A memonikusokat arra használják, hogy megkönnyítsék a nehezen megjegyezhető információk érzékelését, amikor a tároló objektum valamivel asszociatív állapotba kerül.

  4. "A kód"
    A kód egy karakter számszerű decimális kódja a HTML-ben, például &. Közvetlenül a html dokumentum html kódjába illesztve. A számszerű decimális kód egy számból áll, amely jelzi az Unicode rendszerben szereplő karakterek sorszámát, és több szolgáltatási karakterből (& és #), amelyek jelként szolgálnak a böngésző kódjának elolvasásához, és nem jelennek meg a monitor képernyőn. A numerikus tizedes kód sokoldalúsága és könnyű észlelése miatt széles körben elterjedt és széles körben használt.

Vezérlő karakterek HTML-ben (XHTML)

A HTML (XHTML) vezérlő karakterek olyan HTML nyelvű szolgáltatási karakterek, amelyeket a weboldal HTML elrendezésében használnak. Ezeket a szimbólumokat minden böngészőnek támogatnia kell, mivel ezek nélkül lehetetlen helyes megjelenítés HTML szöveg. A vezérlő karakterek nem jelennek meg a szövegben, és ha közvetlenül a billentyűzetről adják meg őket, a böngésző írásjelekként értelmezi őket, amelyek bármilyen művelet végrehajtását igénylik, amikor az oldal a képernyőn rajzolódik.

Megengedett a vezérlő szimbólumok használata a hétköznapi szövegekben, ahol azok általános emberi fogalmakat szimbolizálnak, és a böngésző hétköznapi tipográfiai karakterként értelmezi őket. A szolgáltatási szimbólumok HTML-szövegekben történő használatával nem maga a szimbólum értékét kell megadni, hanem annak HTML-kódját. Ugyanis, ismétlem, különben a böngésző a szolgáltatás szimbólumát cselekvésre ösztönzésként érzékeli, és nem megfelelően jeleníti meg a HTML szöveget a monitor képernyőn.

A vezérlőszimbólumokat és azok HTML-kódját kivétel nélkül minden böngésző ismeri és érti, ami sajnos nem mondható el más jelekről, amelyek helytelenül jelennek meg a különböző böngészők vagy ami még rosszabb, egyáltalán nem jelenik meg.

Szintaxis és írásjelek

N hosszúságú tér (normál tér)
M hosszúságú tér (hosszú hely)
- puha hordozás (nem nyomtatható karakter) - ­
kötőjel –
- kötőjel hossza N (szokásos kötőjel) -
M hosszú kötőjel (em kötőjel)
. pont .
, vessző ,
ellipszis …
: kettőspont :
; pontosvessző ;
! felkiáltójel !
ǃ
? kérdőjel ?
@ "kutya" @
* "csillag" *
# "rács" #
egyetlen bal felső idézőjel ‘
egyetlen jobb felső idézőjel ’
egyetlen jobb alsó idézőjel ‚
dupla bal felső idézőjel “
dupla jobb felső idézőjel ”
dupla alsó jobb idézőjel & bdquo „
« dupla bal szögű idézőjel (rus) « «
» dupla derékszögű idézőjel (rus) » »
́ akcentusjel, példa: Vasya ́
" aposztróf, példa: te "i "
´ akut, példa: Vas'ya ´ ´
bekezdés (nem nyomtatható jel)
§ bekezdés § §
ˆ akcentus (fordított madár) ˆ ˆ
ˆ
˜ kis tilde ˜ ˜
˜
¦ függőleges pontozott vonal ¦ ¦
( zárójel maradt (
) jobb zárójel )
bal szög konzol
derékszögű konzol
bal szög konzol, opció
saroktartó jobb, opció
[ szögletes zárójel balra [
] szögletes zárójel jobbra ]
/ perjel - perjel karakter /
\ visszavágás \
perjel (osztásjel)
ǀ függőleges sáv ǀ
ǁ kettős függőleges sáv ǁ
overline, példa: Vasya Vasvasya
¯ makron, példa: Vasja¯vasya ¯ ¯

Védjegyek és pénznemek

+ egy plusz + +
mínusz -
= egyaránt =
± plusz vagy mínusz ± ±
× szorzótábla × ×
÷ osztásjel ÷ ÷
dot operátor (középvonal) ·
csillag operátor (sor közepe)
tilde kezelő
. listajelző (a sor közepe) . •
¹ felső index "1" ¹ ¹
² "2" felső index ² ²
³ "3" felső index ³ ³
Felső és alsó index HTML-ben (XHTML)
címkékkel beilleszthető és , illetve:
SZÁM Felső index→ SZÁM felső index
SZÁM Előirat→ SZÁM Előirat
½ "egy másodperc" tört ½ ½
tört "egyharmad"
¼ "egynegyed" töredék ¼ ¼
¾ tört "háromnegyed" ¾ ¾
számjel
% százalék %
ppm ‰
° fok ° °
szélütés (perc, láb)
kettős elsődleges (másodperc, hüvelyk)
1. példa: 30 ° 25 ′ 12 ″
2. példa: 25 ′ 12
µ mikro µ µ
π Pi π π
ƒ függvény jele
(nem tévesztendő össze az "integrál" -val)
ƒ ƒ
ƒ
integrál
áthúzva nulla, üres halmaz
(nem tévesztendő össze az "átmérővel")
átmérő (nem tévesztendő össze a latin "o" áthúzással)
ø A latin "o" átlósan áthúzva ø ø
Ø latin nagybetűs "O" átlósan áthúzva Ø Ø
munkajegy
összegző jel
radikális
(négyzetgyök vagy hatalmi gyök x)
arányosan
végtelenség
szög
merőleges (merőleges)
következésképpen írja alá
megközelítőleg egyenlő
szinte egyenlő
nem egyenlő
azonos módon
kisebb vagy egyenlő
több vagy egyenlő
logikus ÉS
logikus VAGY
plusz jel körbe
(közvetlen összeg)
szorzás körben
(kereszttermék, nyíl a megfigyelőtől)
ʘ pont egy körben
(nyíl a megfigyelőn)
ʘ

✵ ✵



Tetszett a cikk? Oszd meg