Regras para formatação de código PHP. Código de caracteres Marcas registradas e moeda

Para um grande projeto moderno, geralmente é necessário usar CNC para páginas. Tem um efeito positivo na indexação e nos resultados do site.

CNC - URL compreensível por humanos. Em outras palavras, esta é a parte transliterada em latim do URL. Já discutimos a transliteração do alfabeto russo para PHP. O Bitrix possui essa função; é utilizado, por exemplo, quando um novo elemento ou seção de um bloco de informações é criado, o código simbólico desse elemento ou seção é gerado a partir de seu nome. Mas o que fazer se os elementos já foram criados, mas os códigos simbólicos não estão cadastrados. Vejamos uma solução para este caso:

"inc",); $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_LID" => "s1" //nome do site //"CODE" => "", //"CODE" => false); $arTransParams = array(//(comprimento máximo do código,case(inferior,superior,não alterar), //substitua o espaço por...,altere outros caracteres por...,remova caracteres de substituição extras) "max_len" => 100 , "change_case" => "L", // "L" - toLower, "U" - toUpper, false - não altere "replace_space" => "-", "replace_other" => "-", "delete_repeat_replace " => verdadeiro); if($arParams["TYPE_WORK"] == "section")(//para seções $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false); $db_elemens->NavStart($arParams["LIST_CNT"] ); eco "
"; while($ar_res = $db_elemens->GetNext()) ( $transName = CUtil::translit($ar_res["NOME"], "ru", $arTransParams); $arPropArray = Array("CÓDIGO" => $transName); $el = new CIBlockSection; $res = $el->Update($ar_res["ID"], $arPropArray); ".$ar_res["NOME"]."é ".$transNome."".($res?" e OK":" e falhou")."\r\n"; ) echo "
"; )elseif($arParams["TYPE_WORK"] == "element")(//para elementos $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams[" LIST_CNT"])); echo "
"; //para saída formatada do resultado da geração while($obElement = $db_elemens->GetNextElement()) ( $ar_res = $obElement->GetFields(); $transName = CUtil::translit(trim($ar_res[" NAME" ]), "ru", $arTransParams);//função para gerar um código sim a partir do nome $arPropArray = Array("CODE" => $transName."-".$ar_res["ID"],) ;//k adiciona um "prefixo" ao código finalizado - "-id" $el = new CIBlockElement;//escreve o resultado , reescreva o código deste elemento echo $ transName."-".$ar_res["ID"]." 
"; // mostra o resultado) echo "
"; } ?>

Execute o script PHP várias vezes em um arquivo separado ou no console PHP no painel de administração do Bitrix até que as mensagens sobre a geração bem-sucedida de código simbólico parem de aparecer. Como resultado, uma string latina na forma do CNC correspondente aparecerá no campo “Código do caractere”.

Esquis infantis: lyzhi-detskie
Brinquedo LEGO: igrushka-lego

Se a formatação do código não for especificada nesta seção, o código deverá ser formatado de acordo com PSR-2

  • Tab é usado como recuo no código.
  • A chave de abertura está na mesma linha.
  • A chave de fechamento está em uma nova linha.

Comentando código

Comentar o código PHP é parte integrante dele!

Ao comentar o código, você deve usar comentários PHPDoc.

Para comentários explicativos de uma linha em seu código, você pode usar comentários regulares começando com // .

Variáveis

A regra básica para nomear variáveis ​​é que o nome deve ser tal que nenhum comentário seja necessário para explicar o propósito da variável.

Prefixos

Os nomes de variáveis ​​usam os seguintes prefixos:

  • ar- para matrizes
  • banco de dados- para CDBResult
  • b- para variáveis ​​booleanas, se não for óbvio pelo nome. O prefixo é necessário se um valor booleano for usado onde um valor de string normalmente seria armazenado S/N.

$arUserList = array(); $dbRes = CIBlockElement::GetByID($id); $bAtivo = falso;

Os nomes das variáveis ​​não devem começar com sublinhado.

Variáveis ​​globais

Variáveis ​​globais são escritas em letras MAIÚSCULAS, separadas por sublinhados.

Global $USER, $APPLICATION, $AR_MESSAGES.

O uso de variáveis ​​globais é permitido somente quando for absolutamente necessário. Use o que o D7 oferece onde ele oferece!

Variáveis ​​locais

Variáveis ​​locais de um script (função, método, classe) sempre começam com uma letra minúscula, as palavras são separadas por letras maiúsculas no primeiro caractere (camelCase).

Esta regra se aplica a abreviações.
Aqueles. A estação BBC está escrita $bbcStation; $arBbcEstações; .

Há apenas uma exceção - o ID é escrito em maiúsculas.
Aqueles. $sectionID , $arElementIDs .

$contador = 0; $bElementActive = falso; $lastErrorMsg = ""; $ID = $_GET["ID"];

Variáveis ​​auxiliares (temporárias)

Variáveis ​​​​usadas em construções FOR... FOREACH podem ser chamadas de abreviadas se o código do bloco em que são utilizadas for visualizado sem rolar a página.

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

Constantes

Os nomes das constantes são escritos em letras MAIÚSCULAS, as palavras são separadas por sublinhados. Devido ao escopo global, as constantes devem ser precedidas de um prefixo curto (pelo nome do módulo, componente, modelo).

Códigos de caracteres Bitrix

Os códigos simbólicos no Bitrix são necessários para muitas coisas e, portanto, você deve manter o mesmo nome. O código dos caracteres deve ser escrito em letras latinas, sem números ou caracteres especiais, e deve refletir a essência do bloco, seção ou elemento de informação.

Nomeando classes, métodos, funções

  • Os nomes das classes sempre começam com letra maiúscula. As palavras são separadas por letras maiúsculas na primeira letra. (Caso Camelo)
  • Os nomes dos métodos e funções sempre começam com uma letra minúscula. As palavras são separadas por letras maiúsculas na primeira letra. (Caso de camelo)

Devido ao escopo global das funções, seus nomes devem começar com um prefixo curto (pelo nome de um módulo, componente, modelo).

Cadastro de estruturas de gestão

Uma regra comum para estruturas de controle é que um bloco lógico de código seja indentado.

Se o bloco não couber em uma tela, é feito um recuo de pelo menos duas abas. Um grande bloco de código atribuído a um elemento lógico deve ser separado por duas ou mais linhas em branco e fornecido com comentários de abertura e fechamento explicando a lógica do elemento.

Ferramentas para formatação automática de código e configuração de parâmetros

[Plugins para SublimeText]

  • PhpDoc – Na verdade, um plugin para suportar o formato PHPDoc.
  • phpfmt - plugin para formatação automática de código php (requer php instalado).

Configuração do plugin phpfmt.

Código de caracteres internacional padrão, em que cada caractere é codificado em sete bits. Tópicos telecomunicações, conceitos básicos EN ISO 7...

código ISO-7- Código Internacional Padrão de Caracteres (ISO 646 1973), em que cada caractere é codificado com sete dígitos. Nos EUA, a versão deste código é chamada ASCII. [E.S.Alekseev, A.A. Dicionário explicativo inglês-russo sobre engenharia de sistemas computacionais. Moscou 1993]… … Guia do Tradutor Técnico

Código (em computador digital)- Código em computador digital, sistema convencional de sinais de apresentação de informação num computador digital. Cada K. usa os sinais de seu próprio alfabeto. Para a maioria dos alfabetos K., os alfabetos têm dois caracteres ou consistem em letras de um alfabeto de dois caracteres. A forma física de K. depende do personagem... ...

Código da companhia aérea IATA- Código da companhia aérea IATA, identificador individual de 2 ou 3 caracteres atribuído à companhia aérea pela Associação Internacional de Transporte Aéreo (IATA). Este código é alocado de acordo com a resolução IATA nº 762 pela sede da associação em ... ... Wikipedia

Código- I (código francês, do código latino de leis) um sistema de sinais convencionais (símbolos) para transmissão, processamento e armazenamento (memorização) de informações diversas. A sequência final de caracteres do código é chamada de palavra. Número de caracteres diferentes... ... Grande Enciclopédia Soviética

RADIX-50- um código simbólico que permite escrever três caracteres em uma palavra de 16 bits. Usado principalmente em minicomputadores, principalmente da família PDP 11 (computador SM), para armazenar nomes de arquivos nos sistemas de arquivos OS RT 11 e RSX 11, nomes de módulos... ... Wikipedia

ESCON- Interface Fibre Channel (Enterprise Systems Connection) que fornece troca de informações entre o servidor IBM zSeries e dispositivos periféricos (ou outro servidor). Usado pela primeira vez em servidores de arquitetura... Wikipedia

endereço- substantivo, m., usado frequentemente Morfologia: (não) o quê? endereços, o quê? endereço, (ver) o quê? endereço, o quê? endereço, sobre o quê? sobre o endereço; por favor. O que? endereços, (não) o quê? endereços, o quê? endereços, (eu vejo) o quê? endereços, o quê? endereços, sobre o quê? sobre endereços 1. O endereço de alguém... ... Dicionário Explicativo de Dmitriev

ID da tarefa- Um código de caractere atribuído a uma tarefa que está em execução ou pronta para ser executada. [Domarev V.V. Segurança da tecnologia da informação. Abordagem sistemática.] Tópicos segurança da informação EN identificador de tarefa ... Guia do Tradutor Técnico

Pascal (linguagem de programação)- Este artigo ou seção precisa ser revisado. Não há módulos, OOP ou outras tendências inovadoras em Pascal. As descrições das extensões devem estar presentes apenas em artigos sobre o correspondente ... Wikipedia

Pascal (linguagem)- Pascal Semântica: processual Tipo de execução: compilador Aparecido em: 1970 Autor(es): Niklaus Wirth Pascal é uma linguagem de programação de alto nível de uso geral. Uma das linguagens de programação mais famosas, amplamente... ... Wikipedia

Livros

  • Método linguístico e cultural em fraseologia. Códigos de cultura, M. L. Kovshova. A monografia é dedicada ao estudo linguocultural de unidades fraseológicas - sinais linguísticos que armazenam figurativamente e transmitem de geração em geração os sistemas de valores do nacional... Compre por 1.053 UAH (somente Ucrânia)
  • Método linguocultural em fraseologia Códigos de cultura, M. Kovshova A monografia é dedicada ao estudo linguocultural de unidades fraseológicas - signos linguísticos que armazenam figurativamente e transmitem de geração em geração os sistemas de valores do nacional...

Data de publicação: 12/12/2011

Outro dia precisei gerar códigos de caracteres para seções e elementos do bloco de informações “Catálogo de Móveis” no Bitrix.

O que aconteceu Código do caractere em uma seção ou elemento de um bloco de informações em Bitrix? O código simbólico de um elemento de bloco de informações (seção) no Bitrix significa identificador mnemônico, que é um conjunto de caracteres (letras e números latinos). Este identificador mnemônico pode ser usado para gerar endereços de links para páginas dinâmicas em um site. Por exemplo, se o elemento “Sofá Cosmos” da seção “Móveis Estofados” tiver o código simbólico “divan-cosmos”, então o link no site pode ser semelhante a - “/catalog/myagkaya-mebel/divan-cosmos”

É feito de uma só vez, a questão principal era qual método transliterar. O primeiro pensamento é criar algum tipo de método próprio. Eu o deixei de lado imediatamente. Pela simples razão de que – afinal, como são gerados esses códigos simbólicos no CMS? Como eles são gerados? Então existe um método! Sim ele é.

Existe uma função tão simples que por algum motivo ainda não está descrita na documentação oficial da API Bitrix. (no momento da redação deste artigo (dezembro de 2011) não havia menção na documentação)

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

A função translitera uma string $str da língua $lang com parâmetros $parâmetros.

Parâmetros de matriz $parâmetros:

Nas novas versões do kernel (vi em 11.5.2) um novo parâmetro apareceu "safe_chars", o padrão é "" e também "use_google" comentado, o padrão é falso.

EXEMPLO de uso:

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

Atualização. A pergunta foi feita nos comentários:
“É possível simplesmente escrever algo no Bitrix para que o CNC seja gerado na importação de blocos de informação?”
A pergunta está incorreta e difícil de entender. Mas como um caso especial, darei este exemplo -
A tarefa é gerar códigos simbólicos para produtos ao importar um catálogo comercial de CSV.

"-","replace_other"=>"-"); $trans = Cutil::translit($nome,"ru",$arParams); $arFields["CÓDIGO"] = $trans; ) ) ?>

Assim, ao importar de um arquivo CSV, será gerado automaticamente um código simbólico – uma transliteração do nome.

Importante UPD2.

As pessoas começaram a fazer perguntas sobre o translit não funcionar, veja os comentários. Decidi descobrir, mas não consigo reproduzir o problema em nenhum dos meus projetos atuais ou antigos - está tudo bem para mim. Mas as pessoas não?

SOLUÇÃO!

O problema é devido à codificação. Adicione ao .htaccess:

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

O que fazer se isso não ajudar? Vá para o painel de administração para a página “verificação do site” e execute a verificação. Se a verificação ainda mostrar uma mensagem sobre codificação incorreta, não fique chateado. Você precisa entrar em contato com o hoster para corrigir essas configurações ou esquecer a função de translit padrão e escrever a sua própria. (E também pare de se surpreender com todas as outras falhas de codificação).

O texto datilografado consiste em caracteres impressos - símbolos gráficos.
Símbolos gráficos são símbolos que aparecem visíveis no texto.
Todos os símbolos gráficos são coletados em um conjunto de um único sistema Unicode universal.
Insira um símbolo gráfico Unicode em um documento HTML
- o objetivo principal e único desta tabela.

Você pode inserir um símbolo em um documento HTML de uma das seguintes maneiras:

  1. copie a imagem do símbolo da janela do navegador para a janela do seu editor visual de HTML
  2. copie o código html do símbolo diretamente no código do documento html
Por favor, entenda que estes são dois métodos diferentes:
  1. inserir visual em visual
  2. insira o código no código.

A fonte de um símbolo, seu tamanho e cor em HTML podem ser definidos com código como:
CÓDIGO DO CARACTERE
Onde,
Arial - fonte,
10px - tamanho da fonte em pixels,
#ff0000 – código da cor da fonte (vermelho)

Por exemplo:
☎ - tamanho da fonte do caractere 30px,
☎ - tamanho da fonte do símbolo 30px, cor - vermelho
☎ - tamanho da fonte do caractere 20px,
☎ - tamanho da fonte do símbolo 10px.
Observação As fontes recomendadas para inserção de caracteres especiais são Arial, Verdana e Tahoma. Essas fontes exibem caracteres Unicode corretamente e são suportadas corretamente por aplicativos da web.

  1. "Símbolo"
    (exibição de símbolo visível)
    Nesta coluna você pode copiar a imagem do símbolo e colá-la na janela do editor de texto HTML. O símbolo será copiado com um tamanho de fonte de 20px. Após a conclusão da cópia, pode ser necessário ajustar individualmente o tamanho da fonte diretamente para o caracter copiado.
  2. "Nome"
    (apenas para caracteres importantes ou pouco claros)
    Explicação da finalidade do símbolo, seu escopo, exemplos...
  3. "Mnemônicos"
    Um mnemônico é uma construção alfabética do formato ", denotando o código alfabético de um caractere em HTML. Ele é inserido diretamente no código html de um documento html. Os mnemônicos são muito populares entre os designers de layout profissionais. Eles são perfeitamente memorizados por humanos e são suportados por todos os aplicativos HTML. Cada mnemônico contém um nome alfabético (designação) de seu símbolo e um sinal de serviço (&), que serve como sinal para o navegador ler o código e não é exibido na tela do monitor. de cada mnemônico é único e de fácil leitura, pois é derivado da palavra inglesa que caracteriza o símbolo.

    Mnemônicos (grego) - a arte de lembrar algo. Os mnemônicos são usados ​​para facilitar a percepção de informações difíceis de memorizar quando o objeto de memorização é levado a um estado associativo com algo.

  4. "Código"
    Código - o código decimal numérico de um caractere em HTML, como &. Inserido diretamente no código HTML de um documento HTML. O código decimal consiste em um número que indica o número de série do caractere no sistema Unicode e diversos caracteres de serviço (& e #), que servem de sinal para o navegador ler o código e não são exibidos na tela do monitor. O código decimal é amplamente utilizado e utilizado devido à sua versatilidade e facilidade de percepção.

Controlar caracteres em HTML (XHTML)

Caracteres de controle em HTML (XHTML) são caracteres de serviço da linguagem HTML usados ​​no layout HTML de uma página da web. Qualquer navegador deve suportar esses caracteres, pois sem eles é impossível exibir corretamente o texto HTML. Os caracteres de controle não são exibidos no texto e, quando inseridos diretamente no teclado, são interpretados pelo navegador como sinais de pontuação solicitando que alguma ação seja executada quando a página é desenhada na tela.

É permitida a utilização de caracteres de controle em textos comuns, onde simbolizam conceitos universais e são interpretados pelo navegador como caracteres tipográficos comuns. Ao usar símbolos de serviço em textos HTML dessa forma, você precisa inserir não o valor do símbolo em si, mas seu código HTML. Porque, repito, caso contrário o navegador perceberá o símbolo do serviço como um apelo à ação e não exibirá corretamente o texto HTML na tela do monitor.

Os símbolos de controle e seu código HTML são conhecidos e compreendidos por todos os navegadores, sem exceção, o que, infelizmente, não se pode dizer de outros símbolos que podem ser exibidos incorretamente em diferentes navegadores ou, pior ainda, nem exibidos.

Sintaxe e pontuação

espaço de comprimento N (espaço regular)
espaço de comprimento M (longspace)
- hífen suave (caractere não imprimível) - ­
hífen –
- traço de comprimento N (traço normal) -
traço de comprimento M (em traço)
. ponto .
, vírgula ,
elipse …
: cólon :
; ponto e vírgula ;
! ponto de exclamação !
ǃ
? ponto de interrogação ?
@ "cachorro" @
* "estrela" *
# "treliça" #
citação única superior esquerda ‘
citação única superior direita ’
citação única inferior direita ‚
citação dupla superior esquerda “
citação dupla superior direita ”
citação dupla inferior direita & bdquo „
« aspas duplas no canto esquerdo (Rus) « «
» aspas duplas no canto direito (Rus) » »
́ acento, exemplo: Vasya ́
" apóstrofo, exemplo: Você"eu "
´ agudo, exemplo: Vasya ´ ´
parágrafo (caractere não imprimível)
§ parágrafo § §
ˆ sotaque (pássaro invertido) ˆ ˆ
ˆ
˜ til pequeno ˜ ˜
˜
¦ linha pontilhada vertical ¦ ¦
( parêntese esquerdo (
) parêntese direito )
colchete angular esquerdo
suporte de ângulo reto
colchete angular esquerdo, opção
colchete de ângulo reto, opção
[ colchete esquerdo [
] colchete direito ]
/ barra - caractere de barra /
\ barra invertida \
barra (sinal de divisão)
ǀ Barra vertical ǀ
ǁ barra vertical dupla ǁ
sobrelinhando, exemplo: Vasya‾vasya
¯ macron, exemplo: Vasya¯vasya ¯ ¯

Marcas registradas e moeda

+ mais + +
menos -
= é igual a =
± mais ou menos ± ±
× sinal de multiplicação × ×
÷ sinal de divisão ÷ ÷
operador ponto (meio da linha) ·
operador asterisco (meio da linha)
operador til
. marcador de lista (meio da linha) . •
¹ sobrescrito "1" ¹ ¹
² sobrescrito "2" ² ²
³ sobrescrito "3" ³ ³
Sobrescrito e subscrito em HTML (XHTML)
pode ser inserido usando tags E , respectivamente:
NÚMERO Sobrescrito→ NUMBER Sobrescrito
NÚMERO Subscrito→ NUMBER Subscrito
½ fração "metade" ½ ½
fração "um terço"
¼ fração "um quarto" ¼ ¼
¾ fração "três quartos" ¾ ¾
sinal numérico
% por cento %
ppm ‰
° graus ° °
primo (minutos, pés)
duplo primo (segundos, polegadas)
Exemplo 1: 30° 25′ 12″
Exemplo 2: 25′ 12
µ micro µ µ
π Pi π π
ƒ sinal de função
(não deve ser confundido com "integral")
ƒ ƒ
ƒ
integrante
zero cruzado, conjunto vazio
(não deve ser confundido com "diâmetro")
diâmetro (não confundir com o “o” latino riscado)
ø Latim "o" riscado diagonalmente ø ø
Ø "O" maiúsculo latino riscado diagonalmente Ø Ø
marca de trabalho
sinal de soma
radical
(raiz quadrada ou raiz x)
proporcionalmente
infinidade
canto
ortogonal (perpendicular)
assine "portanto"
Aproximadamente igual
quase igual
não igual
identicamente
menor ou igual
mais ou igual
lógico E
OU lógico
sinal de mais em um círculo
(valor direto)
sinal de multiplicação em um círculo
(produto vetorial, seta do observador)
ʘ ponto em um círculo
(seta para o observador)
ʘ

✵ ✵



gastroguru 2017