Ak formátovanie kódu nie je špecifikované v tejto časti, kód by mal byť naformátovaný v súlade s PSR-2

  • Tabulátory sa používajú ako zarážky v kóde.
  • Otváracia ortéza je na rovnakej línii.
  • Zatváranie ortéza je na novom riadku.

Komentovanie kódu

Komentovanie PHP kódu je jeho neoddeliteľnou súčasťou!

Pri komentovaní kódu používajte komentáre PHPDoc.

Pre jednoriadkové vysvetľujúce komentáre v kóde môžete použiť bežné komentáre začínajúce na // .

Premenné

Základným pravidlom pre pomenovanie premennej je, že názov by mal byť taký, že nie je potrebný komentár na vysvetlenie účelu premennej.

Predpony

Názvy premenných používajú nasledujúce predpony:

  • ar- pre polia
  • db- pre CDBResult
  • b- pre boolovské premenné, ak názov nie je zrejmý. Predpona sa vyžaduje, ak sa použije boolovská hodnota tam, kde by bol normálne uložený reťazec. Á/N.

$arUserList = pole(); $dbRes = CIBlockElement::GetByID($id); $bActive = false;

Názvy premenných sa nesmú začínať podčiarkovníkom.

Globálne premenné

Globálne premenné sa píšu VEĽKÝMI písmenami oddelenými podčiarkovníkom.

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

Použitie globálnych premenných je povolené len tam, kde je to absolútne nevyhnutné. Využite to, čo vám D7 dáva tam, kde vám to dáva!

Lokálne premenné

Lokálne premenné skriptu (funkcia, metóda, trieda) vždy začínajú malým písmenom, slová sú oddelené veľkým písmenom prvého znaku (camelCase).

Toto pravidlo platí pre skratky.
Tie. stanica BBC sa píše $bbcStation; $arBbcStation; .

Existuje len jedna výnimka - ID sa píše veľkými písmenami.
Tie. $sectionID , $arElementIDs .

$počítadlo = 0; $bElementActive = false; $lastErrorMsg = ""; $ID = $_GET["ID"];

Pomocné (dočasné) premenné

Premenné používané v konštrukciách FOR... FOREACH je možné skrátiť, ak sa kód bloku, v ktorom sú použité, zobrazí bez posúvania stránky.

Pre ($i = 0; $i< count($arRows); $i++) { // ... } foreach ($arElement as $k =>$v) ( // ... ) zatiaľ čo ($arr = $dbRes->Fetch()) ( // ... )

Konštanty

Konštantné názvy sa píšu VEĽKÝMI písmenami, slová sú oddelené podčiarkovníkom. V súvislosti s globálnym rozsahom musí konštantám predchádzať krátka predpona (podľa názvu modulu, komponentu, šablóny).

Bitrix znakové kódy

Symbolické kódy v Bitrixe sú potrebné na veľa vecí, a preto by sa mali dodržiavať ich jednotné názvy. Kód znaku musí byť napísaný latinkou, bez číslic a špeciálnych znakov a musí odrážať podstatu informačného bloku, sekcie alebo prvku.

Pomenovanie tried, metód, funkcií

  • Názvy tried vždy začínajú na veľké písmeno. Slová sú oddelené veľkým začiatočným písmenom. (puzdro na ťavu)
  • Názvy metód a funkcií vždy začínajú malým písmenom. Slová sú oddelené veľkým začiatočným písmenom. (camelCase)

V súvislosti s globálnym rozsahom funkcií by ich názvy mali začínať krátkou predponou (názvom modulu, komponentu, šablóny).

Tvorba riadiacich štruktúr

Bežným pravidlom pre riadiace štruktúry je, že logický blok kódu je odsadený.

Ak sa blok nezmestí na jednu obrazovku, minimálne dve záložky sú odsadené. Veľký blok kódu súvisiaci s jedným logický prvok, musia byť oddelené dvoma alebo viacerými prázdnymi riadkami a musia byť vybavené úvodnými a záverečnými komentármi vysvetľujúcimi logiku prvku.

Nástroje na automatické formátovanie kódu, nastavenie parametrov

[Pluginy pre SublimeText]

  • PhpDoc - Vlastne plugin na podporu formátu PHPDoc.
  • phpfmt - plugin pre automatické formátovanie php kódu (vyžaduje inštaláciu php).

Konfigurácia pluginu phpfmt.

Strojom písaný text tvoria tlačené znaky – grafické symboly.
Grafické znaky sú znaky, ktoré majú v texte viditeľné zobrazenie.
Všetky grafické symboly sú zhromaždené v jednom súbore univerzálny systém Unicode.
Vložiť grafický symbol Unicode na html dokument
- hlavný a jediný účel tohto stola.

Znak môžete do html dokumentu vložiť jedným z nasledujúcich spôsobov:

  1. skopírujte obrázok symbolu z okna prehliadača do okna vášho vizuálneho html editora
  2. skopírujte html kód znaku priamo do kódu html dokumentu
Chápeme, že ide o dva rôzne spôsoby:
  1. vložiť vizuál do vizuálu
  2. vložiť kód do kódu.

Písmo pre symbol, jeho veľkosť a farbu v HTML je možné nastaviť pomocou kódu ako:
CHAR_CODE
kde,
Arial - písmo,
10px - veľkosť písma v pixeloch,
#ff0000 - kód farby písma (červená)

Napríklad:
☎ - veľkosť písma znakov 30px,
☎ - veľkosť písma znakov 30px, farba - červená
☎ - veľkosť písma znakov 20px,
☎ - veľkosť písma znakov 10px.
Poznámka. Odporúčané fonty na vkladanie špeciálnych znakov sú Arial, Verdana a Tahoma. Tieto písma správne zobrazujú znaky Unicode a webové aplikácie ich zase správne podporujú.

  1. "symbol"
    (zobrazenie viditeľného symbolu)
    Z tohto stĺpca môžete skopírovať obrázok symbolu a vložiť ho do okna html textového editora. Symbol sa skopíruje s veľkosťou písma 20 pixelov. Po dokončení kopírovania môže byť potrebné individuálne upraviť veľkosť písma priamo pre kopírovaný znak.
  2. "Názov"
    (len pre dôležité alebo nejasné postavy)
    Vysvetlenie účelu symbolu, jeho rozsah, príklady ...
  3. "mnemotechnické pomôcky"
    Mnemotechnická pomôcka je písmenová konštrukcia tvaru ", označujúca písmenový kód znaku v HTML. Vkladá sa priamo do html kódu html dokumentu. Mnemotechnické pomôcky sú medzi profesionálnymi sadzačmi veľmi obľúbené. Človek si ich dokonale zapamätá a sú podporované všetkými html aplikáciami. Každá mnemotechnická pomôcka obsahuje písmeno názvu (označenie ) svojho symbolu a servisný znak (&), ktorý slúži ako signál na prečítanie kódu pre prehliadač a nezobrazuje sa na obrazovke monitora. Každá mnemotechnická pomôcka je jedinečná a ľahko čitateľná, pretože je vytvorená z anglického slova, ktoré symbol charakterizuje.

    Mnemotechnika (grécky) - umenie zapamätať si niečo. Mnemotechnika sa používa na uľahčenie vnímania ťažko zapamätateľných informácií, keď sa predmet zapamätania dostane do asociatívneho stavu s niečím.

  4. "Kód"
    Kód – číselný desiatkový kód znak v HTML, vo forme &. Vložené priamo do html kódu html dokumentu. Číselný desiatkový kód pozostáva z čísla označujúceho sériové číslo znak v systéme Unicode a niekoľko servisných znakov (& a #), ktoré slúžia ako signál na prečítanie kódu pre prehliadač a nezobrazujú sa na obrazovke monitora. Číselný desiatkový kód je široko používaný a používaný kvôli jeho všestrannosti a ľahkému vnímaniu.

Ovládacie znaky v HTML (XHTML)

Riadiace znaky v HTML (XHTML) sú servisné symboly jazyka HTML, ktoré sa používajú v rozložení HTML webovej stránky. Tieto znaky musí podporovať každý prehliadač, pretože bez nich nie je možné korektne zobraziť HTML text. Riadiace znaky sa v texte nezobrazujú a pri priamom zadaní z klávesnice ich prehliadač interpretuje ako interpunkčné znamienka, ktoré po vykreslení stránky na obrazovke vyžadujú určitú akciu.

Je povolené používať riadiace znaky v bežných textoch, kde symbolizujú univerzálne pojmy a prehliadač s nimi zaobchádza ako s bežnými typografickými znakmi. Pri tomto použití symbolov služieb v textoch HTML nie je potrebné zadať hodnotu samotného symbolu, ale jeho HTML kód. Opakujem, inak bude prehliadač vnímať symbol služby ako výzvu na akciu a nebude správne zobrazovať text HTML na obrazovke monitora.

Riadiace znaky a ich HTML kód poznajú a rozumejú všetkým prehliadačom bez výnimky, čo sa, žiaľ, nedá povedať o iných znakoch, ktoré sa nemusia správne zobraziť v rôzne prehliadače alebo, čo je ešte horšie, nezobrazuje sa vôbec.

Syntax a interpunkcia

medzera dĺžky N (bežná medzera)
medzera dĺžky M (dlhá medzera)
- jemný spojovník (netlačiaca značka) - ­
spojovník –
- čiarka dĺžky N (bežná čiarka) -
Pomlčka dĺžky M (em pomlčka)
. bodka .
, čiarka ,
elipsa …
: hrubého čreva :
; bodkočiarka ;
! výkričník !
ǃ
? otáznik ?
@ "pes" @
* "hviezda" *
# "mriežka" #
jeden ľavý horný citát ‘
jeden pravý horný citát ’
jeden citát vpravo dole ‚
dvojitý ľavý horný citát “
dvojitý pravý horný citát ”
dvojitý pravý spodný citát &bdquo „
« dvojitá ľavá uhlová ponuka (rus) « «
» dvojitý pravý uhol úvodzovky (rus) » »
́ prízvuk, príklad: Vasya ́
" apostrof, príklad: ty „Ja "
´ akútny, príklad: ty si ´ ´
odsek (netlačiaci znak)
§ odsek § §
ˆ prízvuk (obrátený vták) ˆ ˆ
ˆ
˜ malá vlnovka ˜ ˜
˜
¦ vertikálna bodkovaná čiara ¦ ¦
( ľavá zátvorka (
) pravá zátvorka )
uhlová konzola vľavo
uhlová konzola vpravo
uhlová konzola ľavá, variant
uhlová konzola pravá, variant
[ hranatá zátvorka vľavo [
] hranatá zátvorka vpravo ]
/ lomítko – lomítko znak /
\ spätné lomítko \
lomka (znak delenia)
ǀ vertikálna lišta ǀ
ǁ dvojitá vertikálna lišta ǁ
prekrytie, príklad: Vasya‾Vasya
¯ macron, príklad: Vasya¯vasya ¯ ¯

Ochranné známky a mena

+ plus + +
mínus -
= rovná sa =
± plus alebo mínus ± ±
× znak násobenia × ×
÷ deliaci znak ÷ ÷
bodkový operátor (uprostred reťazca) ·
operátor hviezdička (uprostred reťazca)
operátor vlnovky
. značka zoznamu (v strede riadku) . •
¹ horný index "1" ¹ ¹
² horný index "2" ² ²
³ horný index "3" ³ ³
Horný a dolný index v HTML (XHTML)
možno vložiť pomocou značiek a , respektíve:
NUMBER Horný index→ ČÍSLO Horný index
NUMBER dolný index→ NUMBER Dolný index
½ zlomok "jedna polovica" ½ ½
zlomok "jedna tretina"
¼ zlomok "jedna štvrtina" ¼ ¼
¾ trojštvrťový zlomok ¾ ¾
číselný znak
% percent %
ppm ‰
° stupňa ° °
mŕtvica (minúty, nohy)
dvojitý zdvih (sekundy, palce)
Príklad 1: 30° 25′ 12″
Príklad 2: 25′ 12
µ mikro µ µ
π Pi π π
ƒ funkčný znak
(nezamieňať s "integrálom")
ƒ ƒ
ƒ
integrálne
preškrtnutá nula, prázdna množina
(nezamieňať s "priemerom")
priemer (nezamieňať s preškrtnutým latinským "o")
ø latinské „o“ diagonálne prekrížené ø ø
Ø latinské veľké „O“ diagonálne zrezané Ø Ø
označenie produktu
súhrnný znak
radikálny
(druhá odmocnina alebo odmocnina x)
úmerne
nekonečno
rohu
ortogonálny (kolmý)
znamenie "preto".
približne rovný
takmer rovnaké
nerovná sa
identicky
menšie alebo rovnaké
viac alebo rovné
logické AND
logické ALEBO
znamienko plus v kruhu
(priamy súčet)
znak "násobenie v kruhu"
(krížový súčin, šípka od pozorovateľa)
ʘ bodka v kruhu
(šípka na pozorovateľa)
ʘ

✵ ✵

Pre moderný veľký projekt je spravidla povinné používať cnc pre stránky. Má pozitívny vplyv na indexovanie stránky a problém vo výsledkoch.

CNC - ľudsky zrozumiteľná adresa URL. Inými slovami, toto je časť adresy URL prepísaná do latinky. Už sme analyzovali prepis ruskej abecedy do php. Bitrix takú funkciu má, používa sa napríklad pri tvorbe nový prvok alebo sekcie infobloku, kód znaku tohto prvku alebo sekcie sa vygeneruje z jej názvu. Čo však robiť, ak prvky už boli vytvorené, ale symbolické kódy nie sú zaregistrované. Pozrime sa na riešenie tohto prípadu:

"inc",); $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //názov stránky //"CODE" => "", //"CODE" => false); $arTransParams = array(//(maximálna dĺžka kódu, malé a veľké písmená(dolné, horné, nemeniť), //nahradiť medzeru za...,zameniť ostatné znaky za...,odstrániť nadbytočné náhradné znaky) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - nemeniť "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace " => pravda); if($arParams["TYPE_WORK"] == "sekcia")(//pre sekcie $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] ); echo"
"; while($ar_res = $db_elemens->GetNext()) ( $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams); $arPropArray = Array("CODE" => $transName); $el = nová sekcia CIBlock; $res = $el->Update($ar_res["ID"], $arPropArray); echo "výsledok pre ".$ar_res["NAME"]." je ".$transName."".($res?" a OK":" a neúspešné")."\r\n"; ) echo "
"; )elseif($arParams["TYPE_WORK"] == "element")(//pre prvky $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams[" LIST_CNT"])); echo "
"; //pre formátovaný výstup výsledku generovania while($obElement = $db_elements->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res[" NAME" ]), "ru", $arTransParams);//funkcia na generovanie symbolového kódu z názvu $arPropArray = Array("CODE" => $transName."-".$ar_res["ID"],);/ /na pridanie "prefixu" k hotovému kódu - "-id" $el = nový prvok CIBlock; $res = $el->Update($ar_res["ID"], $arPropArray);//zapíšte výsledok, prepíšte kód pre tento prvok echo $ transName."-".$ar_res["ID"]." 
"; //výstup výsledku) echo"
"; } ?>

Spustite php skript niekoľkokrát v samostatnom súbore alebo v php-konzole na paneli Bitrix admin, kým už nebudete dostávať správy o úspešnom generovaní znakového kódu. V dôsledku toho sa v poli "Kód znaku" objaví latinský reťazec vo forme zodpovedajúceho NC.

Lyže pre deti: lyzhi-detskie
LEGO hračka: toyrushka-lego

Dátum zverejnenia: 12.12.2011

Inokedy bolo potrebné vygenerovať kódy znakov pre sekcie a prvky infobloku „Katalóg nábytku“ v Bitrixe.

Čo znakový kód v prvku sekcie alebo infobloku v Bitrixe? Symbolický kód prvku (sekcie) infobloku v Bitrix znamená mnemotechnický identifikátor, čo je množina znakov (latinských písmen a číslic). Tento mnemotechnický identifikátor možno použiť na vytvorenie adries odkazov dynamické stránky na strane. Napríklad, ak prvok "Sofa Cosmos" zo sekcie "Čalúnený nábytok" má kód znaku "divan-cosmos", potom odkaz na stránke môže vyzerať takto - "/catalog/myagkaya-mebel/divan-cosmos"

Robí sa to na jedničku, hlavnou otázkou bolo, akou metódou prepisovať. Prvou myšlienkou je naozaj zostaviť nejakú metódu. Hneď to zavrhla. Z jednoduchého dôvodu – koniec koncov, ako sa tieto kódy znakov generujú v CMS? Aj to, ako vznikajú. Takže existuje metóda! Áno on je.

Existuje taký jednoduchá funkcia, ktorý z nejakého dôvodu ešte nebol popísaný v oficiálna dokumentácia pomocou Bitrix API. (v čase písania tohto článku (december 2011) nebola v dokumentácii žiadna zmienka)

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

Funkcia prepíše reťazec $str z jazyka $lang s parametrami $params.

Parametre v poli $params:

V nových verziách jadra (videl som v 11.5.2) sa objavili nový parameter "safe_chars", predvolená hodnota je "", tiež zakomentovaná "use_google", predvolená hodnota je false.

PRÍKLAD použitia:

"-","replace_other"=>"-"); $trans = Cutil::translit($meno,"ru",$arParams); echo $trans; ?>

UPD. V komentároch bola položená otázka:
"Je možné jednoduchým spôsobom, kde v Bitrixe niečo predpísať, aby CNC generovanie pri importe infoblokov fungovalo?"
Otázka je nesprávna a je pre mňa ťažké jej pochopiť. Ale ako špeciálny prípad uvediem taký príklad -
úlohou je vygenerovať kódy znakov pre tovar pri importe obchodného katalógu z CSV.

"-","replace_other"=>"-"); $trans = Cutil::translit($meno,"ru",$arParams); $arFields["KÓD"] = $trans; ) ) ?>

Pri importe z CSV súboru sa teda automaticky vygeneruje symbolický kód – prepis z názvu.

Dôležité UPD2.

Začali klásť otázky, že prepis nefunguje, pozri komentáre. Rozhodol som sa na to prísť, ale nemôžem problém reprodukovať na žiadnom z mojich súčasných alebo starých projektov - všetko je so mnou v poriadku. Ale ľudia nie?

RIEŠENIE!

Problém je s kódovaním. Pridať do .htaccess:

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

Čo robiť, ak to nepomôže? Prejdeme na panel správcu na stránke „kontrola lokality“, spustíme kontrolu. Ak v kontrole zostane hlásenie o nesprávnom kódovaní, nenechajte sa odradiť. Buď musíte kontaktovať hostiteľa a opraviť tieto nastavenia, alebo zabudnite na štandardnú funkciu prepisu a napíšte si vlastnú. (A tiež prestaňte byť prekvapení všetkými ostatnými chybami kvôli kódovaniu).

Štandardný medzinárodný znakový kód, v ktorom je každý znak zakódovaný siedmimi bitmi. Telekomunikačné témy, základné pojmy EN ISO 7 ...

kód ISO-7- Štandardný medzinárodný znakový kód (ISO 646 1973), v ktorom je každý znak zakódovaný siedmimi bitmi. V USA sa verzia tohto kódu nazýva ASCII. [E.S. Alekseev, A.A. Myachev. Anglický ruský vysvetľujúci slovník inžinierstva počítačových systémov. Moskva 1993]… … Technická príručka prekladateľa

Kód (v digitálnom počítači)- Kód v počítači, konvenčný systém znakov na reprezentáciu informácií v počítači. Každý K. používa znaky svojej abecedy. Pre väčšinu abecied sú abecedy dvojznakové alebo pozostávajú z písmen dvojznakovej abecedy. Fyzická forma K. závisí od charakteru ... ...

IATA kód leteckej spoločnosti- IATA kód leteckej spoločnosti 2 alebo 3-miestny jedinečný identifikátor pridelený leteckej spoločnosti medzinárodnou asociáciou vzdušná preprava(IATA). Tento kód prideľuje v súlade s rezolúciou IATA č. 762 centrála asociácie v ... ... Wikipedia

Kód- I (francúzsky kód, z latinského kódexu zákonov) systém konvenčných znakov (symbolov) na prenos, spracovanie a ukladanie (zapamätanie) rôznych informácií. Konečná postupnosť kódových znakov sa nazýva slovo. Množstvo rôznych postáv, ... ... Veľká sovietska encyklopédia

RADIX-50- znakový kód, ktorý umožňuje napísať tri znaky do jedného 16-bitového slova. Používal sa hlavne na minipočítačoch, predovšetkým z rodiny PDP 11 (počítače SM), na ukladanie názvov súborov v súborové systémy OS RT 11 a RSX 11, názvy modulov ... ... Wikipedia

ESCON- (Enterprise Systems Connection) rozhranie fibre channel, ktoré poskytuje výmenu informácií medzi serverom IBM zSeries a periférne zariadenia(alebo iný server). Prvýkrát použitý na serveroch Archite ... Wikipedia

adresu- n., m., použitie. často Morfológia: (nie) čo? adresy na čo? adresa, (pozri) čo? adresa čoho? adresu o čom? o adrese; pl. čo? adresy, (nie) čo? adresy na čo? adresy, (pozri) čo? adresy, čo? adresy o čom? o adresách 1. Niečí adresa ... ... Slovník Dmitrieva

ID úlohy- Kód znaku priradený k prebiehajúcej úlohe alebo úlohe pripravenej na spustenie. [Domarev V.V. Bezpečnosť informačných technológií. Systémový prístup.] Témy informačná bezpečnosť EN identifikátor úlohy ... Technická príručka prekladateľa

Pascal (programovací jazyk)- Tento článok alebo sekciu je potrebné revidovať. Pascal neobsahuje žiadne moduly, OOP a iné nové trendy. Popis rozšírení by sa mal nachádzať iba v článkoch o príslušných ... Wikipedia

Pascal (jazyk)- Pascal Sémantika: procedurálny Typ vykonania: kompilátor Rok výroby: 1970 Autor: Niklaus Wirth Pascal je univerzálny vysokoúrovňový programovací jazyk. Jeden z najznámejších programovacích jazykov, široko ... ... Wikipedia

knihy

  • Lingvistická a kultúrna metóda vo frazeológii. Kódexy kultúry, M. L. Kovshova. Monografia je venovaná lingvokulturologickému štúdiu frazeologických jednotiek – jazykových znakov, ktoré obrazne uchovávajú a prenášajú z generácie na generáciu hodnotové orientácie národného ... Kúpiť za 1053 UAH (iba Ukrajina)
  • Lingvistická a kultúrna metóda vo frazeológii Kódexy kultúry, Kovshova M.