Pokud není v této části specifikováno formátování kódu, měl by být kód naformátován v souladu s PSR-2

  • Tabulátory se používají jako odrážky v kódu.
  • Otevírací závorka je na stejné čáře.
  • Zavírání rovnátka je na nové lince.

Komentování kódu

Komentování PHP kódu je jeho nedílnou součástí!

Při komentování kódu používejte komentáře PHPDoc.

Pro jednořádkové vysvětlující komentáře v kódu můžete použít běžné komentáře začínající // .

Proměnné

Základním pravidlem pro pojmenování proměnných je, že název by měl být takový, aby nebyl vyžadován žádný komentář k vysvětlení účelu proměnné.

Předpony

Názvy proměnných používají následující předpony:

  • ar- pro pole
  • db- pro CDBResult
  • b- pro booleovské proměnné, pokud název není zřejmý. Předpona je vyžadována, pokud je použita booleovská hodnota tam, kde by byl normálně uložen řetězec. ano/ne.

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

Názvy proměnných nesmí začínat podtržítkem.

Globální proměnné

Globální proměnné se píší VELKÝMI písmeny oddělenými podtržítky.

Globální $USER, $APPLICATION, $AR_MESSAGES.

Použití globálních proměnných je povoleno pouze tam, kde je to nezbytně nutné. Používejte to, co vám D7 dává, tam, kde vám to dává!

Lokální proměnné

Lokální proměnné skriptu (funkce, metoda, třída) vždy začínají malým písmenem, slova jsou oddělena velkým prvním znakem (camelCase).

Toto pravidlo platí pro zkratky.
Tito. stanice BBC se píše $bbcStation; $arBbcStation; .

Existuje pouze jedna výjimka - ID se píše velkými písmeny.
Tito. $sectionID , $arElementIDs .

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

Pomocné (dočasné) proměnné

Proměnné používané v konstrukcích FOR... FOREACH lze zkrátit, pokud je kód bloku, ve kterém jsou použity, zobrazen bez posouvání stránky.

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

Konstanty

Konstantní názvy jsou psány VELKÝMI písmeny, slova jsou oddělena podtržítkem. V souvislosti s globálním rozsahem musí konstantám předcházet krátká předpona (název modulu, komponenty, šablony).

Bitrix kódy znaků

Symbolické kódy v Bitrixu jsou potřeba pro mnoho věcí, a proto by se měly dodržovat jejich jednotné názvy. Kód znaku musí být napsán latinkou, bez čísel a speciálních znaků a musí odrážet podstatu informačního bloku, sekce nebo prvku.

Pojmenování tříd, metod, funkcí

  • Názvy tříd vždy začínají na velké písmeno. Slova jsou oddělena velkým počátečním písmenem. (velbloudí pouzdro)
  • Názvy metod a funkcí vždy začínají malým písmenem. Slova jsou oddělena velkým počátečním písmenem. (camelCase)

V souvislosti s globálním rozsahem funkcí by jejich názvy měly začínat krátkou předponou (názvem modulu, komponenty, šablony).

Tvorba řídících struktur

Běžným pravidlem pro řídicí struktury je, že logický blok kódu je odsazen.

Pokud se blok nevejde na jednu obrazovku, jsou odsazeny alespoň dvě záložky. Velký blok kódu související s jedním logický prvek, musí být odděleny dvěma nebo více prázdnými řádky a musí být opatřeny úvodními a závěrečnými komentáři vysvětlujícími logiku prvku.

Nástroje pro automatické formátování kódu, nastavení parametrů

[Pluginy pro SublimeText]

  • PhpDoc - Vlastně plugin pro podporu formátu PHPDoc.
  • phpfmt - plugin pro automatické formátování php kódu (vyžaduje instalaci php).

Konfigurace pluginu phpfmt.

Strojem psaný text se skládá z tištěných znaků - grafických symbolů.
Grafické znaky jsou znaky, které mají v textu viditelné zobrazení.
Všechny grafické symboly jsou shromážděny v sadě jednoho univerzální systém Unicode.
Vložit grafický symbol Unicode na html dokument
- hlavní a jediný účel tohoto stolu.

Znak můžete do html dokumentu vložit jedním z následujících způsobů:

  1. zkopírujte obrázek symbolu z okna prohlížeče do okna vašeho vizuálního html editoru
  2. zkopírujte html kód znaku přímo do kódu html dokumentu
Chápeme, že se jedná o dva různé způsoby:
  1. vložit vizuál do vizuálu
  2. vložit kód do kódu.

Písmo pro symbol, jeho velikost a barvu v HTML lze nastavit pomocí kódu jako:
CHAR_CODE
kde,
Arial - písmo,
10px - velikost písma v pixelech,
#ff0000 - kód barvy písma (červená)

Například:
☎ - velikost písma znaků 30px,
☎ - velikost písma znaků 30px, barva - červená
☎ - velikost písma znaků 20px,
☎ - velikost písma znaků 10px.
Poznámka. Doporučené fonty pro vkládání speciálních znaků jsou Arial, Verdana a Tahoma. Tato písma správně zobrazují znaky Unicode a jsou zase správně podporována webovými aplikacemi.

  1. "Symbol"
    (zobrazení viditelných symbolů)
    Z tohoto sloupce můžete zkopírovat obrázek symbolu a vložit jej do okna html textového editoru. Symbol bude zkopírován s velikostí písma 20 pixelů. Po dokončení kopírování může být nutné individuálně upravit velikost písma přímo pro kopírovaný znak.
  2. "Název"
    (pouze pro důležité nebo nejasné postavy)
    Vysvětlení účelu symbolu, jeho rozsah, příklady ...
  3. "mnemotechnické pomůcky"
    Mnemotechnická pomůcka je písmenná konstrukce tvaru ", označující písmenný kód znaku v HTML. Vkládá se přímo do html kódu html dokumentu. Mnemotechnické pomůcky jsou mezi profesionálními sazeči velmi oblíbené. Člověk si je dokonale zapamatuje a jsou podporovány všemi html aplikacemi Každá mnemotechnická pomůcka obsahuje písmeno názvu (označení ) svého symbolu a servisní znak (&), který slouží jako signál ke čtení kódu pro prohlížeč a nezobrazuje se na obrazovce monitoru. každá mnemotechnická pomůcka je jedinečná a snadno čitelná, protože je vytvořena z anglického slova, které symbol charakterizuje.

    Mnemotechnika (řecky) – umění si něco zapamatovat. Mnemotechnika se používá k usnadnění vnímání obtížně zapamatovatelných informací, když je předmět zapamatování uveden do asociativního stavu s něčím.

  4. "Kód"
    Kód – číselný desetinný kód znak v HTML ve tvaru &. Vloženo přímo do html kódu html dokumentu. Číselný desítkový kód se skládá z čísla označujícího sériové číslo znak v systému Unicode a několik servisních znaků (& a #), které slouží jako signál ke čtení kódu pro prohlížeč a nejsou zobrazeny na obrazovce monitoru. Číselný desítkový kód je široce používán a používán díky své univerzálnosti a snadnému vnímání.

Ovládací znaky v HTML (XHTML)

Řídicí znaky v HTML (XHTML) jsou servisní symboly jazyka HTML, které se používají v rozvržení HTML webové stránky. Tyto znaky musí podporovat jakýkoli prohlížeč, protože bez nich není možné správně zobrazit HTML text. Řídicí znaky se v textu nezobrazují a při přímém zadání z klávesnice je prohlížeč interpretuje jako interpunkční znaménka, která při vykreslování stránky na obrazovce vyžadují určitou akci.

Je povoleno používat řídicí znaky v běžných textech, kde symbolizují univerzální pojmy a prohlížeč s nimi zachází jako s běžnými typografickými znaky. Při tomto použití symbolů služeb v textech HTML je nutné zadat nikoli hodnotu samotného symbolu, ale jeho HTML kód. Neboť, opakuji, jinak bude prohlížeč vnímat symbol služby jako výzvu k akci a nebude správně zobrazovat HTML text na obrazovce monitoru.

Řídicí znaky a jejich HTML kód znají a rozumí jim všechny prohlížeče bez výjimky, což bohužel nelze říci o jiných znacích, které se nemusí zobrazovat správně různé prohlížeče nebo, což je ještě horší, nezobrazuje se vůbec.

Syntaxe a interpunkce

mezera délky N (běžná mezera)
mezera délky M (dlouhá mezera)
- měkká pomlčka (netisknutelná značka) - ­
pomlčka –
- čárka délky N (běžná čárka) -
Pomlčka délky M (em pomlčka)
. tečka .
, čárka ,
elipsa …
: dvojtečka :
; středník ;
! vykřičník !
ǃ
? otazník ?
@ "Pes" @
* "hvězda" *
# "mříž" #
jeden levý horní citát ‘
jeden pravý horní citát ’
jeden citát vpravo dole ‚
dvojitá levá horní citace “
dvojitá pravá horní citace ”
dvojitá nabídka vpravo dole &bdquo „
« dvojitá levá úhlová citace (rus) « «
» dvojitá pravoúhlá citace (rus) » »
́ přízvuk, příklad: Vasya ́
" apostrof, příklad: ty „Já "
´ akutní, příklad: you'ya ´ ´
odstavec (netisknutelný znak)
§ odstavec § §
ˆ přízvuk (obrácený pták) ˆ ˆ
ˆ
˜ malá vlnovka ˜ ˜
˜
¦ svislá tečkovaná čára ¦ ¦
( levá závorka (
) pravá závorka )
úhelník vlevo
úhelník vpravo
úhelník levý, varianta
úhelník pravý, varianta
[ hranatá závorka vlevo [
] hranatá závorka vpravo ]
/ lomítko - lomítko znak /
\ obrácené lomítko \
lomítko (znak dělení)
ǀ vertikální lišta ǀ
ǁ dvojitá vertikální lišta ǁ
podložení, příklad: Vasya‾Vasya
¯ macron, příklad: Vasya¯vasya ¯ ¯

Ochranné známky a měna

+ plus + +
mínus -
= rovná se =
± plus nebo mínus ± ±
× znak násobení × ×
÷ znamení divize ÷ ÷
tečkový operátor (uprostřed řetězce) ·
operátor hvězdička (uprostřed řetězce)
operátor tildy
. značka seznamu (uprostřed řádku) . •
¹ horní index "1" ¹ ¹
² horní index "2" ² ²
³ horní index "3" ³ ³
Horní a dolní index v HTML (XHTML)
lze vložit pomocí značek a , respektive:
ČÍSLO Horní index→ ČÍSLO Horní index
ČÍSLO dolní index→ ČÍSLO Dolní index
½ zlomek "jedna polovina" ½ ½
zlomek "jedna třetina"
¼ zlomek "jedna čtvrtina" ¼ ¼
¾ tříčtvrteční zlomek ¾ ¾
znak čísla
% procento %
ppm ‰
° stupně ° °
mrtvice (minuty, nohy)
dvojitý zdvih (sekundy, palce)
Příklad 1: 30° 25′ 12″
Příklad 2: 25′ 12
µ mikro µ µ
π Pi π π
ƒ funkční znak
(neplést s "integrální")
ƒ ƒ
ƒ
integrální
přeškrtnutá nula, prázdná sada
(neplést s "průměr")
průměr (nezaměňovat s přeškrtnutým latinským "o")
ø latinské „o“ diagonálně překřížené ø ø
Ø latinské velké "O" šikmo seříznuté Ø Ø
značka produktu
sumační znak
radikální
(druhá odmocnina nebo x odmocnina)
úměrně
nekonečno
roh
ortogonální (kolmý)
znamení "proto".
přibližně rovné
téměř stejné
ne rovné
identický
menší nebo stejný
více nebo stejné
logické AND
logické NEBO
znaménko plus v kruhu
(přímý součet)
znak "násobení v kruhu"
(křížový součin, šipka od pozorovatele)
ʘ tečka v kruhu
(šipka u pozorovatele)
ʘ

✵ ✵

Pro moderní velký projekt je zpravidla povinné používat cnc pro stránky. Má pozitivní vliv na indexaci webu a problém ve výsledcích.

CNC - lidská srozumitelná adresa URL. Jinými slovy, toto je část adresy URL přepsaná do latinky. Již jsme analyzovali přepis ruské abecedy do php. Bitrix takovou funkci má, používá se například při tvorbě nový prvek nebo infoblok sekce, kód znaku tohoto prvku nebo sekce je generován z jejího názvu. Co ale dělat, když prvky již byly vytvořeny, ale symbolické kódy nejsou registrovány. Podívejme se na řešení tohoto případu:

"inc",); $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //název webu //"CODE" => "", //"CODE" => false); $arTransParams = array(//(maximální délka kódu, velikost písmen (dolní, horní, neměnit), //nahradit mezeru za...,změnit ostatní znaky za...,odstranit náhradní znaky navíc) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - neměnit "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace " => pravda); if($arParams["TYPE_WORK"] == "sekce")(//pro sekce $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á sekce CIBlock; $res = $el->Update($ar_res["ID"], $arPropArray); echo "výsledek pro ".$ar_res["NAME"]." je ".$transName."".($res?" a OK":" a selhalo")."\r\n"; ) echo "
"; )elseif($arParams["TYPE_WORK"] == "element")(//pro prvky $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams[" LIST_CNT"])); echo "
"; //pro formátovaný výstup výsledku generování while($obElement = $db_elements->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res[" NAME" ]), "ru", $arTransParams);//funkce pro generování kódu symbolu z názvu $arPropArray = Array("CODE" => $transName."-".$ar_res["ID"],);/ /pro přidání "prefixu" k hotovému kódu - "-id" $el = nový CIBlockElement; $res = $el->Update($ar_res["ID"], $arPropArray);//zapište výsledek, přepište kód pro tento prvek echo $ transName."-".$ar_res["ID"]." 
"; //výstup výsledku) echo"
"; } ?>

Spusťte php skript několikrát v samostatném souboru nebo v php-console na panelu Bitrix admin, dokud již nebudete dostávat zprávy o úspěšném generování znakového kódu. V důsledku toho se v poli "Kód znaku" objeví latinský řetězec ve tvaru odpovídajícího NC.

Lyže pro děti: lyzhi-detskie
LEGO hračka: toyrushka-lego

Datum zveřejnění: 12. 12. 2011

Onehdy bylo potřeba vygenerovat kódy znaků pro sekce a prvky infobloku "Katalog nábytku" v Bitrixu.

Co znakový kód v sekci nebo prvku infobloku v Bitrixu? Symbolický kód prvku (sekce) infobloku v Bitrix znamená mnemotechnický identifikátor, což je sada znaků (latinských písmen a číslic). Tento mnemotechnický identifikátor lze použít k vytvoření odkazových adres dynamické stránky Na stránce. Pokud má například prvek „Sofa Cosmos“ ze sekce „Čalouněný nábytek“ kód znaku „divan-cosmos“, může odkaz na webu vypadat takto – „/catalog/myagkaya-mebel/divan-cosmos“

Dělá se to na jedničku, hlavní otázkou bylo, jakou metodou transliterovat. První myšlenkou je skutečně sestavit nějakou metodu. Hned to zavrhla. Z prostého důvodu, že – koneckonců, jak se tyto kódy znaků generují v CMS? Také jak jsou generovány. Takže existuje metoda! Ano, je.

Existuje takový jednoduchá funkce, který z nějakého důvodu dosud nebyl popsán v oficiální dokumentace pomocí Bitrix API. (v době psaní tohoto článku (prosinec 2011) nebyla v dokumentaci žádná zmínka)

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

Funkce přepíše řetězec $str z jazyka $lang s parametry $params.

Parametry v poli $params:

V nových verzích jádra (viděl jsem v 11.5.2) se objevily nový parametr "safe_chars", výchozí hodnota je "", také zakomentováno "use_google", výchozí hodnota false.

PŘÍKLAD použití:

"-","nahradit_jiné"=>"-"); $trans = Cutil::translit($name,"ru",$arParams); echo $trans; ?>

UPD. V komentářích byla položena otázka:
"Je možné jednoduchým způsobem, kde v Bitrixu něco předepsat, aby CNC generování při importu infobloků fungovalo?"
Otázka je nesprávná a je pro mě těžké ji pochopit. Ale jako zvláštní případ uvedu takový příklad -
úkolem je vygenerovat kódy znaků pro zboží při importu obchodního katalogu z CSV.

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

Při importu z CSV souboru se tedy automaticky vygeneruje symbolický kód – transliterace z názvu.

Důležité UPD2.

Začali se ptát, že přepis nefunguje, viz komentáře. Rozhodl jsem se na to přijít, ale nemohu problém reprodukovat na žádném ze svých současných nebo starých projektů - vše je v pořádku. Ale lidé ne?

ŘEŠENÍ!

Problém je s kódováním. Přidat do .htaccess:

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

Co dělat, když to nepomůže? Přejdeme na panel správce na stránce „kontrola webu“, spustíme kontrolu. Pokud v kontrole zůstane zpráva o nesprávném kódování, nenechte se odradit. Buď musíte kontaktovat hostitele, aby tato nastavení napravil, nebo zapomeňte na standardní funkci přepisu a napište si vlastní. (A také se přestaňte divit všem dalším závadám kvůli kódování).

Standardní mezinárodní kód znaků, ve kterém je každý znak zakódován sedmi bity. Telekomunikační témata, základní pojmy EN ISO 7 ...

ISO-7 kód- Standardní mezinárodní znakový kód (ISO 646 1973), ve kterém je každý znak zakódován sedmi bity. V USA se verze tohoto kódu nazývá ASCII. [E.S. Alekseev, A.A. Myachev. Anglický ruský vysvětlující slovník inženýrství počítačových systémů. Moskva 1993]… … Technická příručka překladatele

Kód (v digitálním počítači)- Kód v počítači, konvenční systém znaků pro reprezentaci informací v počítači. Každý K. používá znaky své abecedy. U většiny abeced jsou abecedy dvouznakové nebo sestávají z písmen dvouznakové abecedy. Fyzická podoba K. závisí na charakteru ... ...

IATA kód letecké společnosti- IATA kód letecké společnosti 2 nebo 3 znakový jedinečný identifikátor přidělený letecké společnosti Mezinárodní asociací letecká doprava(IATA). Tento kód přiděluje v souladu s rezolucí IATA č. 762 centrála sdružení v ... ... Wikipedia

Kód- I (francouzský kód, z latinského codex code of law) systém konvenčních znaků (symbolů) pro přenos, zpracování a ukládání (zapamatování) různých informací. Konečná sekvence kódových znaků se nazývá slovo. Počet různých postav, ... ... Velká sovětská encyklopedie

RADIX-50- znakový kód, který umožňuje napsat tři znaky do jednoho 16bitového slova. Používal se hlavně na minipočítačích, především z rodiny PDP 11 (počítače SM), pro ukládání názvů souborů v souborové systémy OS RT 11 a RSX 11, názvy modulů ... ... Wikipedie

ESCON- (Enterprise Systems Connection) rozhraní fibre channel, které zajišťuje výměnu informací mezi serverem IBM zSeries a periferie(nebo jiný server). Poprvé použit na serverech Archite ... Wikipedia

adresa- n., m., použití. často Morfologie: (ne) co? adresy na co? adresa, (viz) co? adresa čeho? adresa o čem? o adrese; pl. co? adresy, (ne) co? adresy na co? adresy, (viz) co? adresy, co? adresy o čem? o adresách 1. Něčí adresa ... ... Slovník Dmitrieva

ID úkolu- Znakový kód přiřazený běžící nebo připravené úloze. [Domarev V.V. Bezpečnost informační technologie. Systémový přístup.] Témata zabezpečení informací EN identifikátor úlohy ... Technická příručka překladatele

Pascal (programovací jazyk)- Tento článek nebo část je třeba revidovat. V Pascalu nejsou žádné moduly, OOP a další nové trendy. Popis rozšíření by měl být přítomen pouze v článcích o odpovídající ... Wikipedii

pascal (jazyk)- Pascal Sémantika: procedurální Typ provedení: kompilátor Rok zavedení: 1970 Autor(ři): Niklaus Wirth Pascal je univerzální vysokoúrovňový programovací jazyk. Jeden z nejznámějších programovacích jazyků, široce ... ... Wikipedie

knihy

  • Lingvistická a kulturní metoda ve frazeologii. Kodexy kultury, M. L. Kovshova. Monografie je věnována lingvokulturologickému studiu frazeologických jednotek - jazykových znaků, které obrazně uchovávají a přenášejí z generace na generaci hodnotové orientace národních ... Koupit za 1053 UAH (pouze Ukrajina)
  • Lingvistická a kulturní metoda ve frazeologii Kódy kultury, Kovshova M.