Contacts

Règles de conception de code PHP. TRUCTIVE EN BITRIX, code de caractères de fonctionnalité non documenté

Si la mise en forme du code n'est pas spécifiée dans cette section - le code doit être formaté conformément à la PSR-2.

  • La tabulation est utilisée comme des tiges dans le code.
  • L'écran curieux d'ouverture est dans la même rangée.
  • Une attache frisée de fermeture est sur une nouvelle ligne.

Code de commentaire

Commentaire du code PHP - sa partie intégrante!

Lorsque vous commencez le code, utilisez PHPDOC Commentaires.

Pour les commentaires explicatifs unique dans le code, vous pouvez utiliser les commentaires habituels commençant par //.

Variables

La règle principale de la nommage variable est que le nom doit être tel que le commentaire n'a pas besoin d'expliquer le but de la variable.

Préfixes

Les préfixes suivants sont utilisés dans les variables:

  • ar - pour les massifs
  • dB - pour CDBRESULT
  • b. - Pour les variables booléennes, si le nom n'est pas évident. Perfix est requis si la valeur booléenne est utilisée lorsque la chaîne est généralement stockée. Y / N..

$ armoriste \u003d tableau (); $ dbres \u003d cIBLOCKElement :: getByID ($ id); $ Bactif \u003d faux;

Les noms de variables ne doivent pas commencer par le soulignement.

Variables globales

Les variables globales sont écrites en lettres majuscules avec une division de mots par un soulignement.

Global $ utilisateur, $ application, $ ar_mesages.

L'utilisation de variables globales n'est autorisée que là où elle est absolument nécessaire. Utilisez ce que D7 donne, où il le donne!

Variables locales

Local pour les variables de script (fonctions, méthodes, classe) Commencez toujours avec une petite lettre, les mots sont séparés par la capitalisation du premier caractère (Camelcase).

Cette règle s'applique à l'abréviation.
Ceux. La gare BBC est écrite $ BBCStation; $ arbbcstations; .

Exception Un seul identifiant est enregistré dans le capital.
Ceux. $ Sectiond, $ aléditions.

$ Compteur \u003d 0; $ belementactif \u003d faux; $ Lasterrormsg \u003d ""; $ Id \u003d $ _GET [id "];

Variables auxiliaires (temporaires)

Les variables utilisées pour ... des conceptions de foresach sont autorisées à être appelées abrégées si le code de bloc dans lequel ils sont utilisés sont visualisés sans faire défiler la page.

Pour ($ i \u003d 0; $ i< count($arRows); $i++) { // ... } foreach ($arElement as $k => $ V) (// ...) tandis que ($ arr \u003d $ dbres-\u003e fetch ()) (// ...)

Constantes

Les noms des constantes sont enregistrés en lettres majuscules, les mots sont divisés en un soulignement. En raison de la zone de visibilité globale, la constante doit préparer un préfixe courte (par le nom du module, du composant, du modèle).

Codes symboliques bitrix

Les codes somasiens dans le bitmix sont nécessaires pour de nombreuses choses et doivent donc adhérer au même nom. Le code de caractères doit être écrit par des lettres latines, sans chiffres et spéciaux, et doit refléter l'essence de l'infobal, la partition ou l'élément.

Classes de nommage, méthodes, fonctions

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

En raison de la zone de visibilité globale des fonctions, leur nom doit être lancé avec un préfixe court (par nom du module, composant, modèle).

Enregistrement des structures de contrôle

Généralités des structures de contrôle La règle - Le bloc logique du code est distingué par l'indentation.

Si le bloc ne correspond pas à un écran, un indentement minimum est effectué en deux onglets. Un grand bloc de code attribué à un élément logique doit être séparé par deux chaînes vides et équipée d'observations d'ouverture et de fermeture qui expliquent la logique de l'élément.

Outils pour le code de mise à l'autoprottage, paramètres de réglage

[Plugins pour sublimetext]

  • Phpdoc - réellement plugin pour supporter le format phpdoc.
  • pHPFMT - Plugin pour le formatage automatique du code PHP (nécessite le PHP installé).

Config pour plugin phpfmt..

Pour un projet majeur moderne, il est nécessaire d'utiliser CNC pour les pages. Il a un effet positif sur l'indexation et la délivrance des résultats.

CNC - Un homme compréhensible ul. En d'autres termes, cela fait partie de l'Urlane traversée avec latin. Nous avons déjà démonté la translittération de l'alphabet russe sur PCP. Dans le bitmix, il y a une telle fonction, il est utilisé, par exemple, lorsqu'un nouvel élément ou une section d'information est créé, le code de caractères de cet élément ou de cette partition est généré à partir de son nom. Mais que faire si les éléments sont déjà créés et que les codes symboliques ne sont pas épelés. Regardons la décision de cette affaire:

"Inc",); $ arfilter \u003d tableau ("iblock_id" \u003d\u003e $ arparams ["iblock_id"], "iblock_lid" \u003d\u003e "s1" // nom du site // "code" \u003d\u003e "", // "Code" \u003d\u003e Faux); $ artransparams \u003d Array (// (longueur maximale du code, registre (en bas, supérieur, non change), // Remplacer l'espace sur ..., les symboles restants pour changer de ..., supprimer des symboles inutiles de remplacement) "max_len" \u003d\u003e 100, "changements_case" \u003d\u003e "L", // "L" - tolower, "u" - tupper, faux - ne change pas "remplacer_space" \u003d\u003e "-", "remplacer_other" \u003d\u003e "-" , "delete_repeat_replace" \u003d\u003e vrai); Si ($ arparams ["type_work"] \u003d\u003d "Section") (// pour les sections $ DB_ELEMENS \u003d CIBLOCKSECTION :: GetList ($ Fournisseur, $ arfilter, false); $ DB_ELEMENS-\u003e NAVSTART ($ arparams ["list_cnt"] ); écho "
"; Tandis que ($ ar_res \u003d $ db_elemens-\u003e getnext ()) ($ transname \u003d cuttil :: traduire ($ ar_res [" nom "], $ artransparrays); $ arproparray \u003d (" code "\u003d\u003e $ transname); $ el \u003d nouvelle ciblocksection; $ res \u003d $ el-\u003e mise à jour ($ ar_res ["id], $ arproparray); écho" résultat pour ". $ Ar_res [" nom "]." EST. "$ Transname."". ($ res?" et ok ":" et a échoué ")." \\ r \\ n ";) écho"
";) Elsesif ($ arparams [" type_work "] \u003d\u003d" élément ") (// pour éléments $ db_elemens \u003d ciblockelement :: getlist ($ arroder, $ arfilter, false, arrare (" ntopcount "\u003d\u003e $ arparams [" List_cnt "])); echo"
"; // pour la sortie formatée du résultat de la génération de temps ($ OBLYMENT \u003d $ db_elemens-\u003e getnextElement ()) ($ ar_res \u003d $ obeliment-\u003e getfields (); $ transname \u003d cuttil: Ar_res ["nom"]), "ru", $ artransparams); // fonction de génération de SIM du code à partir du nom $ ArProparray \u003d tableau ("Code" \u003d\u003e $ TR_RES ["ID]. ,); // à ajouter du code Ajouter "Préfixe" - "-ID" $ € € el \u003d nouveau cIBLOCKEMENT; $ res \u003d $ el-\u003e mise à jour ($ ar_res ["ID]; // enregistrer le résultat, écraser Le code de ce echo $ element transname. "-". $ ar_res ["ID"]. " 
"; // Affiche le résultat) Echo"
"; } ?>

Courir plusieurs fois le script PCP dans fichier séparé ou dans la console PCP dans l'administration Bertim jusqu'à ce que vous arrêtez de sortir de la génération réussie de code symbolique. En conséquence, la chaîne latine apparaît dans le champ "Code de caractères" sous la forme de la CNC correspondante.

SKIS ENFANTS: LYZHI-DETSKIE
LEGO TOY: IGRUSHKA-LEGO

Date de publication: 12/12/2011

Il a fallu l'autre jour pour chauffer les codes de caractères des partitions et les éléments du "catalogue de meubles" infoblock dans Bitrix.

Quoi code symbolique Dans la section ou l'élément de l'infoBlock dans bitrix?Sous le code symbolique de l'élément (partition) de l'infobalok au bitrix est compris identifiant mnémoniquequi est un ensemble de caractères (lettres et figures du latice). Cet identifiant mnémonique peut être utilisé pour former des adresses de liens de pages dynamiques sur le site. Par exemple, si l'élément "Sofa Space" de la section "Mobilier rembourré" a un caractère "Divan-Cosmos", le lien sur le site peut être visualisé - "/ Catalogue / Myagkaya-Mebel / Divan-Cosmos"

Fabriqué par des fumées, la principale question était dans quelle méthode se transalise. La première pensée - comportera-t-elle vraiment composer une sorte de ma propre méthode. Honte immédiatement. Pour la simple raison que - après tout, comment ces codes symboliques sont-ils générés dans CMS? Toujours comme généré. Alors la méthode est là! Oui il l'est.

Il existe une telle fonction que pour une raison quelconque n'est toujours pas décrite dans la documentation officielle de l'API Bitux. (Au moment de la rédaction de cet article (décembre 2011) dans la documentation de référence n'était pas)

Cutil :: Translit ($ Str, $ Lang, $ params \u003d tableau ())

La fonction translitère la chaîne $ Str. de la langue $ lang. Avec des paramètres $ paramètres..

Paramètres dans le tableau $ params:

Dans les nouvelles versions du noyau (j'ai vu à 11.5.2) est apparue nouveau paramètre "Safe_chars"La valeur par défaut est "", ainsi que le commenté "use_google", par défaut false.

Exemple d'utilisation:

"-", "remplacer_other" \u003d\u003e "-"); $ Trans \u003d couple :: traduire ($ nom, "ru", $ arparams); Echo $ trans; ?\u003e

UPD.Les commentaires ont posé la question:
"Et il est possible de vous inscrire où enregistrer dans le bitmix, ce qui fonctionnerait être généré par CNC lors de l'importation d'infoblocks?"
La question est incorrecte et il est difficile de le comprendre. Mais comme cas particulier, je vais donner un tel exemple -
Tâche - Générez des codes symboliques pour des produits lors de l'importation d'un catalogue de trading de CSV.

"-", "remplacer_other" \u003d\u003e "-"); $ Trans \u003d couple :: traduire ($ nom, "ru", $ arparams); $ arfields ["code"] \u003d $ trans; ))?\u003e

Ainsi, lors de l'importation à partir du fichier CSV, le code de caractères sera automatiquement généré - une translation du nom.

Important upd2.

A commencé à gérer des questions que la translite ne fonctionne pas, voir commentaires. J'ai décidé de le comprendre, mais je ne peux pas reproduire le problème pour les projets actuels et anciens - j'ai tout d'accord. Mais les gens n'ont pas?

DÉCISION!

Problème due à l'encodage. Ajouter v.htaccess:

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

Et si cela n'aidait pas? Nous allons à la page Admin sur la page "Spécification Site", exécutez le chèque. Si la vérification reste le message sur le mauvais codage - ne pas être découragé. Ou vous devez contacter l'en-tête afin qu'il corrige ces paramètres ou - à oublier la fonction régulière de la translite et d'écrire le sien. (Et arrêtez également surprenant à tous les autres problèmes dues à coder).

Code de caractères international standard dans lequel chaque caractère est codé par sept bits. Thèmes de télécommunication, concepts de base en Iso 7 ...

code ISO-7 - Code de caractères international standard (ISO 646 1973), dans lequel chaque caractère est codé par sept décharges. Aux États-Unis, la version de ce code s'appelle ASCII. [E.S. Alexseev, A.A. Hukeev. Anglo Dictionnaire explicatif russe sur les études système. Moscou 1993] ... ... ... Annuaire Traducteur technique

Code (en TSM) - Code du CLM, le système conditionnel de signes pour la présentation d'informations dans la CLM. Chaque K. utilise des signes de son alphabet. Pour la plupart des alphabets, deux caractères ou se composent de lettres d'un alphabet à deux grains. Forme physique K. Dépend de la nature ... ...

Code de la compagnie aérienne IATA - Code de la compagnie aérienne IATA 2 ou 3 Symbole Identifiant individuel attribué à la compagnie aérienne internationale de transport aérien (IATA). Ce code est attribué conformément au siège de la résolution IATA N ° 762 de l'association ... ... Wikipedia

Le code - I (Franz. Code, de la Lat. Code du Codex de droit) Système de signes conditionnels (symboles) pour la transmission, le traitement et le stockage (mémorisation) de diverses informations. La séquence finale des signes de code est appelée mot. Le nombre de caractères différents, ... ... Grande Encyclopédie soviétique

Radix-50. - Code symbolique qui vous permet d'écrire trois caractères dans un mot de 16 bits. Utilisé principalement sur des minicomitateurs, tout d'abord, la famille PDP 11 (ordinateur CM), pour stocker des noms de fichier dans systèmes de fichiers RT 11 et RSX 11, Noms Modules ... ... Wikipedia

Escon. - (connexion Systèmes d'entreprise) Interface Fibre Channel, qui fournit des informations entre le serveur IBM ZSeries et les périphériques de périphériques (ou par un autre serveur). Pour la première fois utilisé dans les serveurs Archite ... Wikipedia

adresse - SUB., M., UPOTR. Souvent morphologie: (non) quoi? Adresse quoi? Adresse, (voir) Quoi? adresse que? Adresse, quoi? à propos de l'adresse; Mn. quelle? Adresses, (NO) Quoi? Adresses, quoi? adresses, (voir) quoi? adresses que? adresse quoi? À propos des adresses 1. Dont l'adresse ... ... Dictionnaire explicatif Dmitrieva

identifiant de tâche - Code de caractères attribué à l'exécution ou prêt à effectuer la tâche. [Domarev v.v. Sécurité technologies de l'information. Approche système.] Sujets Protection des informations en identifiant de tâche ... Annuaire Traducteur technique

Pascal (langage de programmation) - Cet article ou section nécessitent recyclage. Il n'y a pas de modules, oups et d'autres tendances neuves à Pascal. Description des extensions ne doit être présente que dans les articles ... Wikipedia

Pascal (langue) - Semantitique Pascal: Type de procédure d'exécution: Le compilateur est apparu dans: 1970 Auteur (s): Niklaus Wirth Pascal (Anglais Pascal) Langue de programmation à usage général de haut niveau. Une des langues de programmation les plus célèbres, largement ... ... Wikipedia

Livres

  • Méthode linguculturologique en phraséologie. Codes de courant, M. L. Kovshova. La monographie est dédiée à une étude linguoculturelle des unités phrasologiques - signes de la langue de forme stockée et transmet de génération à des paramètres de valeur de génération des ... de 1153 UAH (Ukraine uniquement)
  • Méthode linguculturologique en phrasologie Codes de culture, des godets M. Monographie est dédié à une étude linguoculturelle des unités phraseologiques - des signes d'une langue de forme stockée et transmet de la génération à la génération d'installations de valeur de la National ...

Le texte de l'écriture de la machine est composé de signes imprimés - symboles graphiques.
Les caractères graphiques sont des caractères qui ont un affichage visible dans le texte.
Tous les caractères graphiques sont collectés dans un seul ensemble. système universel Unicode.
Insérez le symbole graphique Unicode au document HTML
- Le but principal et unique pour cette table.

Insérer un symbole dans un document HTML peut être l'une des façons:

  1. copiez l'image du symbole de la fenêtre du navigateur dans la fenêtre de votre éditeur Visual HTML.
  2. copiez le code de symbole HTML directement dans le code de document HTML
Croire que ceux-ci sont deux manières différentes:
  1. insérer visuel visuel
  2. insertion du code dans le code.

Police d'un symbole, sa taille et sa couleur dans HTML peuvent être définies par code:
Code_simvol
Où,
Arial - police,
10px - Taille de la police en pixels,
# FF0000 - Code couleur de la police (rouge)

Par example:
☎ - Taille de la police de symbole 30px,
☎ - 30px Symbole Taille de la police, Couleur - Rouge
☎ - Taille de la police 20px Symbole,
☎ - Taille de la police 10px Symbole.
Environ. Polices recommandées pour insérer des symboles spéciaux - Arial, Verdana et Tahoma. Ces polices affichent les caractères Unicode correctement et elles-mêmes, à leur tour, sont correctement prises en charge par des applications Web.

  1. "Symbole"
    (Affichage des symboles visibles)
    De ce graphique, vous pouvez copier l'image du symbole et la coller dans la fenêtre de l'éditeur HTML texte. Le caractère est copié avec une taille de police de 20px. Après la copie, une taille de police individuelle peut être nécessaire directement pour le signe copié.
  2. "Nom"
    (Uniquement pour des caractères importants ou incompréhensibles)
    Explication de la prescription d'un symbole, de sa portée, des exemples ...
  3. "Mnémotechnique"
    Mnemonica est une conception de vue atmorivante ", désignant le code de lettre dans HTML. Inséré directement dans le code HTML du document HTML. Les mnémoniques sont très populaires parmi les versets professionnels. Ils sont bien souvenu par une personne et sont pris en charge par toutes les applications HTML. Chaque mnémonique Contient un nom d'alphabet (désignation) Votre signe de symbole et de service (&), qui sert de signal pour lire le code du navigateur et ne s'affiche pas sur l'écran du moniteur. Le nom de chaque mnémonique est unique et facilement lisible, car il est formé du mot de langue anglaise caractérisant le personnage.

    Mnemonica (grec) - l'art de mémoriser quoi que ce soit. Mnemotechnics est utilisé pour faciliter la perception des informations difficiles lorsque l'objet de mémorisation est fourni dans un État associatif avec quelque chose.

  4. "Le code"
    Code - code de symbole décimal numérique en HTML, type &. Inséré directement sur le document HTML HTML. Le code décimal numérique consiste en un nombre indiquant le numéro de séquence du caractère dans le système Unicode et plusieurs signes de service (& #), qui servent de signal pour lire le code pour le navigateur et ne sont pas affichés sur l'écran du moniteur. Le code décimal numérique est répandu et utilisé, en raison de sa polyvalence et de sa simplicité de la perception.

Symboles de gestion HTML (XHTML)

Les symboles de gestion HTML dans HTML (XHTML) sont les caractères de service de langue HTML utilisés aux pages Web HTML-Clash. Ces caractères doivent supporter n'importe quel navigateur, car sans eux, il est impossible affichage approprié Texte html. Les symboles de contrôle ne sont pas affichés dans le texte et, avec une administration directe à partir du clavier, le navigateur est interprété comme des marques de ponctuation appelant n'importe quelle action lors du dessin de la page à l'écran.

Il est permis d'utiliser des symboles de contrôle dans des textes ordinaires, où ils symbolisent les concepts universels et sont interprétés par un navigateur comme des signes typographiques ordinaires. Avec cette utilisation des caractères utilitaires dans les textes HTML, il est nécessaire d'entrer la signification du caractère lui-même, à savoir son code HTML. Pour, je répète - sinon le navigateur percevra le caractère de service comme appel d'action et n'ayera pas correctement afficher le texte HTML sur l'écran du moniteur.

Les symboles de contrôle et leur code HTML connaissent et comprennent tous les navigateurs sans exception, qui ne peuvent pas être dites, hélas - sur le reste des signes qui peuvent ne pas être affichés dans différents navigateurs Ou plus pire - ne pas afficher du tout.

Syntaxe et ponctuation

longueur NAP N (Espace ordinaire)
longueur de la longueur m (interrupteurs longs)
- tRANSFERT SOFT (Déménagement) - ­
trait d'union –
- durée de bord N (Dash ordinaire) -
durée de cuisson m (long tiret)
. point .
, virgule ,
point …
: côlon :
; semi-colonie ;
! point d'exclamation !
ǃ
? point d'interrogation ?
@ "chien" @
* "Star" *
# "treillis" #
citation à gauche unique ‘
quiconque en haut de droite ’
quiconque bas bas ‚
double en haut à gauche “
quotieur de double droite ”
double citation inférieure droite & bdquo. „
« citations de coin à gauche (RUS) « «
» citant double droite (RUS) » »
́ signe d'accent, Exemple: Vasya ́
" aPOSTROF, exemple: vous "i "
´ akut exemple: vous ´ ´
paragraphe (panneau de dérogation)
§ paragraphe § §
ˆ accent (oiseau inversé) ˆ ˆ
ˆ
˜ petite tilda ˜ ˜
˜
¦ vertical ¦ ¦
( support rond à gauche (
) support rond à droite )
support d'angle gauche
support d'angle à droite
support d'angle gauche, option
support d'angle à droite, option
[ support carré à gauche [
] support carré à droite ]
/ slash (slash) - fonction Skit /
\ slash inverse (barre oblique inverse) \
caractéristique fractionnaire KOSY (signe de division)
ǀ trait vertical ǀ
ǁ trait double vertical ǁ
néerlandais, Exemple: Vasya)
¯ macron, Exemple: Vasya ha ¯ ¯

Marques et monnaie

+ un plus + +
moins -
= également =
± plus moins ± ±
× signe de multiplication × ×
÷ signe de division ÷ ÷
opérateur de point (chaîne moyenne) ·
opérateur "Star" (Mid-String)
opérateur "Tilda"
. marqueur de liste (ligne médiane) . •
¹ index supérieur "1" ¹ ¹
² upper Index "2" ² ²
³ upper Index "3" ³ ³
Index rembourré et de substitution dans HTML (XHTML)
peut être inséré avec des tags et , par conséquent:
NUMÉRO Indice rembourré → Index des pads numériques
NUMÉRO Indice de substituant → Nombre d'index de substitution
½ fraction "une seconde" ½ ½
fraction "un tiers"
¼ fraction "un quart" ¼ ¼
¾ fraction "trois quarts" ¾ ¾
signe de numéro
% pour cent %
promessoire ‰
° degrés ° °
code à barres (minutes, pieds)
double code à barres (secondes, pouces)
Exemple 1: 30 ° 25 '12 "
Exemple 2: 25 '12
µ micro µ µ
π P. π π
ƒ signe de fonction
(Ne pas être confondu avec "Integral")
ƒ ƒ
ƒ
intégral
zéro écrasé, ensemble vide
(à ne pas confondre avec le "diamètre")
diamètre (à ne pas être confondu avec le latin "O" croisé)
ø latin "o" en diagonale croisé ø ø
Ø titre latin "O" en diagonale Ø Ø
signe de travail
panneau signe
radical
(racine carrée ou racine x)
proportionnel
infini
angle
orthogonal (perpendiculaire)
signe "debout"
approximativement égal
presque égal
inégal
identique
moins ou égal
plus ou égal
logique I.
logique ou
plus signé dans un cercle
(montant direct)
signer "multiplication en cercle"
(Clipart vectoriel, flèche de l'observateur)
ʘ point en cercle
(Flèche sur l'observateur)
ʘ

✵ ✵



Avez-vous aimé l'article? Partagez-le