Règles de formatage du code PHP. Code de caractère Marques et monnaie

Pour un grand projet moderne, il est généralement nécessaire d'utiliser la CNC pour les pages. Cela a un effet positif sur l’indexation et les résultats du site.

CNC - URL compréhensible par l'homme. En d’autres termes, il s’agit de la partie translittérée latine de l’URL. Nous avons déjà évoqué la translittération de l'alphabet russe en PHP. Bitrix a une telle fonction ; elle est utilisée, par exemple, lorsqu'un nouvel élément ou section d'un bloc d'information est créé, le code symbolique de cet élément ou section est généré à partir de son nom. Mais que faire si les éléments ont déjà été créés, mais que les codes symboliques ne sont pas enregistrés. Regardons une solution pour ce cas :

"inc",); $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //nom du site //"CODE" => "", //"CODE" => false); $arTransParams = array(//(longueur maximale du code, casse (inférieure, supérieure, ne pas modifier), // remplacer l'espace par..., modifier les autres caractères par..., supprimer les caractères de remplacement supplémentaires) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - ne pas modifier "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace " => vrai); if($arParams["TYPE_WORK"] == "section"))(//pour les sections $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] ); écho "
"; 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 "résultat pour ".$ar_res["NOM"]." est ".$nomtrans."".($res?" et OK":" et échec")."\r\n"; ) echo "
"; )elseif($arParams["TYPE_WORK"] == "element"))(//pour les éléments $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams[" LIST_CNT"])); écho "
"; //pour la sortie formatée du résultat de la génération while($obElement = $db_elemens->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res[" NAME" ]), "ru", $arTransParams);//fonction pour générer un code SIM à partir du nom $arPropArray = Array("CODE" => $transName."-".$ar_res["ID"],) ;//k ajouter un "préfixe" au code terminé - "-id" $el = new CIBlockElement; $res = $el->Update($ar_res["ID"], $arPropArray);//écrire le résultat , réécrivez le code de cet élément echo $ transName."-".$ar_res["ID"]." 
"; //afficher le résultat) echo "
"; } ?>

Exécutez le script PHP plusieurs fois dans un fichier séparé ou dans la console PHP du panneau d'administration Bitrix jusqu'à ce que les messages concernant la génération réussie de code symbolique cessent d'apparaître. En conséquence, une chaîne latine sous la forme de la CNC correspondante apparaîtra dans le champ « Code de caractère ».

Skis enfants : lyzhi-detskie
Jouet LEGO : igrushka-lego

Si le formatage du code n'est pas spécifié dans cette section, le code doit être formaté conformément au PSR-2.

  • La tabulation est utilisée comme indentation dans le code.
  • L’accolade ouvrante est sur la même ligne.
  • L'accolade fermante se trouve sur une nouvelle ligne.

Code de commentaire

Commenter le code PHP en fait partie intégrante !

Lorsque vous commentez du code, vous devez utiliser les commentaires PHPDoc.

Pour les commentaires explicatifs sur une ligne dans votre code, vous pouvez utiliser des commentaires normaux commençant par // .

Variables

La règle de base pour nommer les variables est que le nom doit être tel qu'aucun commentaire n'est requis pour expliquer le but de la variable.

Préfixes

Les noms de variables utilisent les préfixes suivants :

  • ar- pour les tableaux
  • base de données- pour CDBRésult
  • b- pour les variables booléennes, si cela ne ressort pas clairement du nom. Le préfixe est obligatoire si une valeur booléenne est utilisée là où une valeur de chaîne serait normalement stockée O/N.

$arUserList = tableau(); $dbRes = CIBlockElement :: GetByID ($ id); $bActive = faux ;

Les noms de variables ne doivent pas commencer par un trait de soulignement.

Variables globales

Les variables globales sont écrites en majuscules, séparées par des traits de soulignement.

$USER global, $APPLICATION, $AR_MESSAGES.

L'utilisation de variables globales n'est autorisée qu'en cas d'absolue nécessité. Utilisez ce que D7 vous donne là où il vous le donne !

Variables locales

Les variables locales à un script (fonction, méthode, classe) commencent toujours par une lettre minuscule, les mots sont séparés par la majuscule du premier caractère (camelCase).

Cette règle s'applique aux abréviations.
Ceux. La station BBC s'écrit $bbcStation ; $arBbcStations; .

Il n’y a qu’une seule exception : l’ID est écrit en majuscules.
Ceux. $sectionID , $arElementIDs .

$compteur = 0 ; $bElementActive = faux ; $lastErrorMsg = ""; $ID = $_GET["ID"];

Variables auxiliaires (temporaires)

Les variables utilisées dans les constructions FOR... FOREACH peuvent être appelées abrégées si le code du bloc dans lequel elles sont utilisées est visualisé sans faire défiler la page.

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

Constantes

Les noms de constantes sont écrits en majuscules, les mots sont séparés par des traits de soulignement. En raison de leur portée globale, les constantes doivent être précédées d'un court préfixe (du nom du module, du composant, du modèle).

Codes de caractères Bitrix

Les codes symboliques dans Bitrix sont nécessaires pour beaucoup de choses et vous devez donc vous en tenir au même nom. Le code du caractère doit être écrit en lettres latines, sans chiffres ni caractères spéciaux, et doit refléter l'essence du bloc d'information, de la section ou de l'élément.

Nommer les classes, méthodes, fonctions

  • Les noms de classes commencent toujours par une majuscule. Les mots sont séparés par la majuscule de la première lettre. (Affaire de chameau)
  • Les noms de méthodes et de fonctions commencent toujours par une petite lettre. Les mots sont séparés par la majuscule de la première lettre. (affaire de chameau)

En raison de la portée globale des fonctions, leurs noms doivent commencer par un préfixe court (par le nom d'un module, d'un composant, d'un modèle).

Enregistrement des structures de gestion

Une règle courante pour les structures de contrôle est qu'un bloc logique de code est indenté.

Si le bloc ne tient pas sur un seul écran, une indentation d'au moins deux onglets est réalisée. Un gros bloc de code attribué à un élément logique doit être séparé par deux ou plusieurs lignes vides et pourvu de commentaires d'ouverture et de fermeture expliquant la logique de l'élément.

Outils de formatage automatique du code, définition des paramètres

[Plugins pour SublimeText]

  • PhpDoc - En fait, un plugin pour supporter le format PHPDoc.
  • phpfmt - plugin pour le formatage automatique du code php (nécessite l'installation de php).

Configuration pour le plugin phpfmt.

Code de caractères international standard, dans lequel chaque caractère est codé sur sept bits. Thèmes télécommunications, concepts de base EN ISO 7...

code ISO-7- Standard International Character Code (ISO 646 1973), dans lequel chaque caractère est codé avec sept chiffres. Aux États-Unis, la version de ce code s'appelle ASCII. [E.S. Alekseev, A.A. Myachev. Dictionnaire explicatif anglais-russe sur l'ingénierie des systèmes informatiques. Moscou 1993]… … Guide du traducteur technique

Code (dans un ordinateur numérique)- Code dans un ordinateur numérique, système conventionnel de signes pour présenter des informations dans un ordinateur numérique. Chaque K. utilise les signes de son propre alphabet. Pour la plupart des alphabets K., ils comportent deux caractères ou sont constitués de lettres d'un alphabet à deux caractères. La forme physique de K. dépend du caractère... ...

Code IATA de la compagnie aérienne- Code IATA de la compagnie aérienne Identifiant individuel à 2 ou 3 caractères attribué à la compagnie aérienne par l'Association du transport aérien international (IATA). Ce code est attribué conformément à la résolution IATA n° 762 par le siège de l'association à ... ... Wikipédia

Code- I (code français, du latin codex code des lois) un système de signes conventionnels (symboles) pour transmettre, traiter et stocker (mémoriser) diverses informations. La séquence finale de caractères de code s'appelle un mot. Nombre de caractères différents... ... Grande Encyclopédie Soviétique

BASE-50- un code symbolique qui permet d'écrire trois caractères dans un mot de 16 bits. Utilisé principalement sur les mini-ordinateurs, principalement de la famille PDP 11 (ordinateur SM), pour stocker les noms de fichiers dans les systèmes de fichiers des systèmes d'exploitation RT 11 et RSX 11, les noms de modules... ... Wikipedia

ESCON- (Enterprise Systems Connection) interface Fibre Channel qui permet l'échange d'informations entre le serveur IBM zSeries et les périphériques (ou un autre serveur). Utilisé pour la première fois dans les serveurs archite... Wikipédia

adresse- nom, m., utilisé. souvent Morphologie : (non) quoi ? des adresses, quoi ? adresse, (voir) quoi ? adresse, quoi ? adresse, à propos de quoi ? à propos de l'adresse ; PL. Quoi? adresses, (non) quoi ? des adresses, quoi ? adresses, (je vois) quoi ? des adresses, quoi ? des adresses, à propos de quoi ? à propos des adresses 1. L'adresse de quelqu'un... ... Dictionnaire explicatif de Dmitriev

ID de tâche- Un code de caractère attribué à une tâche en cours d'exécution ou prête à être exécutée. [Domarev V.V. Sécurité des technologies de l’information. Approche systématique.] Thèmes sécurité de l'information FR identifiant de tâche ... Guide du traducteur technique

Pascal (langage de programmation)- Cet article ou cette section doit être révisé. Il n'y a pas de modules, de POO ou d'autres tendances nouvelles en Pascal. Les descriptions des extensions ne doivent être présentes que dans les articles sur le ... Wikipédia correspondant

Pascal (langue)- Pascal Sémantique : procédurale Type d'exécution : compilateur Paru dans : 1970 Auteur(s) : Niklaus Wirth Pascal est un langage de programmation généraliste de haut niveau. L'un des langages de programmation les plus connus, largement... ... Wikipédia

Livres

  • Méthode linguistique et culturelle en phraséologie. Codes de la culture, M. L. Kovshova. La monographie est consacrée à l'étude linguoculturelle des unités phraséologiques - des signes linguistiques qui stockent et transmettent au sens figuré et transmettent de génération en génération les systèmes de valeurs du national... Acheter pour 1053 UAH (Ukraine uniquement)
  • Méthode linguoculturelle en phraséologie Codes de culture, M. Kovshova. La monographie est consacrée à l'étude linguoculturologique des unités phraséologiques - des signes linguistiques qui stockent et transmettent au sens figuré de génération en génération les systèmes de valeurs de la...

Date de publication : 12/12/2011

L'autre jour, j'avais besoin de générer des codes de caractères pour les sections et les éléments du bloc d'informations « Catalogue de meubles » dans Bitrix.

Ce qui s'est passé code de caractère dans une section ou un élément d'un bloc d'information dans Bitrix ? Le code symbolique d'un élément (section) de bloc d'informations dans Bitrix signifie identifiant mnémonique, qui est un ensemble de caractères (lettres et chiffres latins). Cet identifiant mnémonique peut être utilisé pour générer des adresses de liens pour des pages dynamiques d'un site. Par exemple, si l'élément « Canapé Cosmos » de la section « Meubles rembourrés » a le code symbolique « divan-cosmos », alors le lien sur le site peut ressembler à - « /catalog/myagkaya-mebel/divan-cosmos ».

Cela s’est fait d’un seul coup, la question principale était de savoir quelle méthode translittérer. La première pensée est de créer votre propre méthode. Je l'ai immédiatement écarté. Pour la simple raison : après tout, comment ces codes symboliques sont-ils générés dans le CMS ? Comment sont-ils générés ? Il existe donc une méthode ! Oui il l'est.

Il existe une fonction si simple qui, pour une raison quelconque, n'est toujours pas décrite dans la documentation officielle de l'API Bitrix. (au moment de la rédaction de cet article (décembre 2011), il n'y avait aucune mention dans la documentation)

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

La fonction translittère une chaîne $str de la langue $lang avec paramètres $paramètres.

Paramètres du tableau $paramètres :

Dans les nouvelles versions du noyau (je l'ai vu en 11.5.2) un nouveau paramètre est apparu "safe_chars", la valeur par défaut est "", et a également commenté "use_google", la valeur par défaut est false.

EXEMPLE d'utilisation :

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

MISE À JOUR. La question a été posée dans les commentaires :
"Est-il possible d'écrire simplement quelque chose dans Bitrix pour que la CNC soit générée lors de l'importation de blocs d'informations ?"
La question est incorrecte et difficile à comprendre pour moi. Mais comme cas particulier, je donnerai cet exemple -
La tâche consiste à générer des codes symboliques pour les produits lors de l'importation d'un catalogue commercial à partir d'un CSV.

"-","replace_other"=>"-"); $trans = Cutil::translit($name,"ru",$arParams); $arFields["CODE"] = $trans; ) ) ?>

Ainsi, lors de l'importation à partir d'un fichier CSV, un code symbolique sera automatiquement généré - une translittération du nom.

Important UPD2.

Les gens ont commencé à poser des questions sur le fait que la translit ne fonctionnait pas, voir les commentaires. J'ai décidé de le comprendre, mais je ne peux reproduire le problème sur aucun de mes projets actuels ou anciens - tout va bien pour moi. Mais les gens ne le font pas ?

SOLUTION!

Le problème vient de l'encodage. Ajouter au .htaccess :

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

Que faire si cela ne résout pas le problème ? Accédez au panneau d'administration sur la page « Vérification du site » et exécutez la vérification. Si le contrôle affiche toujours un message concernant un encodage incorrect, ne vous inquiétez pas. Soit vous devez contacter l'hébergeur pour corriger ces paramètres, soit oublier la fonction de translit standard et écrire la vôtre. (Et arrêtez aussi de vous laisser surprendre par tous les autres problèmes dus au codage).

Le texte dactylographié est constitué de caractères imprimés - symboles graphiques.
Les symboles graphiques sont des symboles visibles dans le texte.
Tous les symboles graphiques sont rassemblés dans un ensemble d'un seul système Unicode universel.
Insérer un symbole graphique Unicode dans un document HTML
- le but principal et unique de ce tableau.

Vous pouvez insérer un symbole dans un document HTML de l'une des manières suivantes :

  1. copiez l'image du symbole de la fenêtre du navigateur vers la fenêtre de votre éditeur visuel HTML
  2. copier le code html du symbole directement dans le code du document html
Veuillez comprendre qu'il s'agit de deux méthodes différentes :
  1. insérer un visuel dans un visuel
  2. insérer du code dans le code.

La police d'un symbole, sa taille et sa couleur en HTML peuvent être définies avec un code tel que :
CHARACTER_CODE
Où,
Arial - police,
10px - taille de la police en pixels,
#ff0000 - code couleur de la police (rouge)

Par exemple:
☎ - taille de police des caractères 30px,
☎ - taille de police du symbole 30px, couleur - rouge
☎ - taille de police des caractères 20px,
☎ - taille de police du symbole 10px.
Note Les polices recommandées pour insérer des caractères spéciaux sont Arial, Verdana et Tahoma. Ces polices affichent correctement les caractères Unicode et sont elles-mêmes correctement supportées par les applications web.

  1. "Symbole"
    (affichage des symboles visibles)
    À partir de cette colonne, vous pouvez copier l'image du symbole et la coller dans la fenêtre de l'éditeur de texte HTML. Le symbole sera copié avec une taille de police de 20px. Une fois la copie terminée, il peut être nécessaire d'ajuster individuellement la taille de la police directement au caractère copié.
  2. "Nom"
    (uniquement pour les caractères importants ou peu clairs)
    Explication de l'objet du symbole, de sa portée, exemples...
  3. "Mnémotechnique"
    Un mnémonique est une construction alphabétique de la forme ", désignant le code alphabétique d'un caractère en HTML. Il est inséré directement dans le code html d'un document html. Les mnémoniques sont très appréciés des maquettistes professionnels. Ils sont parfaitement mémorisés par les humains et sont pris en charge par toutes les applications HTML. Chaque mnémonique contient un nom alphabétique (désignation ) de son symbole et un signe de service (&), qui sert de signal au navigateur pour lire le code et n'est pas affiché sur l'écran du moniteur.Le nom de chaque mnémonique est unique et facile à lire, car il dérive du mot anglais qui caractérise le symbole.

    Mnémoniques (grec) - l'art de se souvenir de quelque chose. Les mnémoniques sont utilisés pour faciliter la perception d'informations difficiles à mémoriser lorsque l'objet de mémorisation est amené dans un état associatif avec quelque chose.

  4. "Code"
    Code - le code décimal numérique d'un caractère en HTML, comme &. Inséré directement dans le code html d'un document html. Le code décimal se compose d'un nombre indiquant le numéro de série du caractère dans le système Unicode et de plusieurs caractères de service (& et #), qui servent de signal au navigateur pour lire le code et ne sont pas affichés sur l'écran du moniteur. Le code décimal est largement utilisé et utilisé en raison de sa polyvalence et de sa facilité de perception.

Caractères de contrôle en HTML (XHTML)

Les caractères de contrôle en HTML (XHTML) sont des caractères de service du langage HTML utilisés dans la mise en page HTML d'une page Web. Tout navigateur doit prendre en charge ces caractères, car sans eux, il est impossible d'afficher correctement le texte HTML. Les caractères de contrôle ne sont pas affichés dans le texte et, lorsqu'ils sont saisis directement à partir du clavier, sont interprétés par le navigateur comme des signes de ponctuation appelant à effectuer une action lorsque la page est dessinée à l'écran.

Il est permis d'utiliser des caractères de contrôle dans des textes ordinaires, où ils symbolisent des concepts universels et sont interprétés par le navigateur comme des caractères typographiques ordinaires. Lorsque vous utilisez de cette manière des symboles de service dans des textes HTML, vous devez saisir non pas la valeur du symbole lui-même, mais son code HTML. Car, je le répète, sinon le navigateur percevra le symbole de service comme un appel à l'action et n'affichera pas correctement le texte HTML sur l'écran du moniteur.

Les symboles de contrôle et leur code HTML sont connus et compris par tous les navigateurs sans exception, ce qui ne peut hélas pas être dit des autres symboles qui peuvent s'afficher de manière incorrecte dans différents navigateurs ou, pire encore, ne pas s'afficher du tout.

Syntaxe et ponctuation

espace de longueur N (espace régulier)
espace de longueur M (espace long)
- trait d'union souple (caractère non imprimable) - ­
trait d'union –
- tiret de longueur N (tiret régulier) -
tiret de longueur M (em tiret)
. point .
, virgule ,
ellipses …
: côlon :
; point-virgule ;
! point d'exclamation !
ǃ
? point d'interrogation ?
@ "chien" @
* "étoile" *
# "treillis" #
citation unique en haut à gauche ‘
citation unique en haut à droite ’
citation unique en bas à droite ‚
double citation en haut à gauche “
double citation en haut à droite ”
double citation en bas à droite &bdquo „
« guillemet double coin gauche (Rus) « «
» guillemet double coin droit (Rus) » »
́ marque d'accent, exemple : Vasya ́
" apostrophe, exemple : Tu"Je "
´ aigu, exemple : Vasya ´ ´
paragraphe (caractère non imprimable)
§ paragraphe § §
ˆ accent (oiseau inversé) ˆ ˆ
ˆ
˜ petit tilde ˜ ˜
˜
¦ ligne pointillée verticale ¦ ¦
( parenthèse gauche (
) parenthèse droite )
équerre gauche
équerre droite
équerre gauche, option
équerre droite, option
[ crochet gauche [
] crochet droit ]
/ barre oblique - caractère barre oblique /
\ barre oblique inverse \
barre oblique (signe de division)
ǀ barre verticale ǀ
ǁ double barre verticale ǁ
surlignage, exemple : Vasya‾vasya
¯ Macron, exemple : Vasya¯vasya ¯ ¯

Marques et monnaie

+ plus + +
moins -
= équivaut à =
± plus ou moins ± ±
× signe de multiplication × ×
÷ signe de division ÷ ÷
opérateur point (milieu de la ligne) ·
opérateur astérisque (milieu de la ligne)
opérateur tilde
. marqueur de liste (milieu de la ligne) . •
¹ exposant "1" ¹ ¹
² exposant "2" ² ²
³ exposant "3" ³ ³
Exposant et indice en HTML (XHTML)
peut être inséré à l'aide de balises Et , respectivement:
NOMBRE Exposant→ NOMBRE Exposant
NOMBRE Indice→ Indice NOMBRE
½ fraction "une moitié" ½ ½
fraction "un tiers"
¼ fraction "un quart" ¼ ¼
¾ fraction "trois quarts" ¾ ¾
signe numéro
% pour cent %
ppm ‰
° degrés ° °
prime (minutes, pieds)
double prime (secondes, pouces)
Exemple 1 : 30° 25′ 12″
Exemple 2 : 25′ 12
µ micro µ µ
π Pi π π
ƒ signe de fonction
(à ne pas confondre avec « intégral »)
ƒ ƒ
ƒ
intégral
zéro croisé, ensemble vide
(à ne pas confondre avec « diamètre »)
diamètre (à ne pas confondre avec le « o » latin barré)
ø "o" latin barré en diagonale ø ø
Ø Majuscule latine "O" barrée en diagonale Ø Ø
marque de travail
signe de sommation
radical
(racine carrée ou racine x)
proportionnellement
infini
coin
orthogonal (perpendiculaire)
signe "donc"
approximativement égal
presque égal
inégal
à l'identique
inférieur ou égal
plus ou égal
ET logique
OU logique
signe plus dans un cercle
(montant direct)
signe de multiplication dans un cercle
(produit vectoriel, flèche de l'observateur)
ʘ point dans un cercle
(flèche vers l'observateur)
ʘ

✵ ✵

gastrogourou 2017