ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘-Битрикс прСдставляСт собой ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ экосистСму, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΡƒΡŽ возмоТности систСмы управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ (CMS) ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°Π»Π°. Π’ основС Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π»Π΅ΠΆΠΈΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ бизнСс-Π·Π°Π΄Π°Ρ‡ΠΈ. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ систСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запросы ΠΈ взаимодСйствуСт с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ администраторов, стрСмящихся ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайта.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊ сайту запускаСтся Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° событий, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ с Π²Ρ…ΠΎΠ΄Π° Π² систСму ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ HTML-ΠΊΠΎΠ΄Π° страницы. Π­Ρ‚ΠΎΡ‚ процСсс рСгулируСтся ядром систСмы, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выступаСт посрСдником ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Π±-сСрвСром, Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой ΠΈ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… MySQL ΠΈΠ»ΠΈ PostgreSQL. Π―Π΄Ρ€ΠΎ D7, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ соврСмСнной вСрсиСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, обСспСчиваСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… CMS, 1Π‘-Битрикс ТСстко привязана ΠΊ сСрвСрной срСдС выполнСния PHP ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ соблюдСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ хостинга для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. БистСма Π½Π΅ просто Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ статичный ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π° динамичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ страницы, провСряя ΠΏΡ€Π°Π²Π° доступа, ΠΊΡΡˆΠΈΡ€ΡƒΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ выполняя слоТныС бизнСс-процСссы Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ИмСнно эта ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ стандартом для ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ e-commerce ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² России.

АрхитСктура ядра ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ структура

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ всСй систСмы являСтся ядро, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ загруТаСтся ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС ΠΊ сайту. Оно ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, опрСдСляСт контСкст Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π² 1Π‘-Битрикс β€” это нСзависимыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠΌ, Ρ„ΠΎΡ€ΡƒΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ рассылками. Вакая изоляция позволяСт ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСго сайта.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ свою структуру Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ взаимодСйствуСт с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΅Π΄ΠΈΠ½Ρ‹ΠΉ API ядра. Π­Ρ‚ΠΎ обСспСчиваСт Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ seamlessly ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Ρ‰ΡƒΡŽ структуру ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° ядра зависит ΠΎΡ‚ коррСктности Ρ„Π°ΠΉΠ»Π° php_interface/dbconn.php, Π³Π΄Π΅ прописаны ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π‘Π£Π‘Π”. Ошибки Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ этого Ρ„Π°ΠΉΠ»Π° приводят ΠΊ нСвозмоТности запуска систСмы. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ пространства ΠΈΠΌΠ΅Π½ ΠΈ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ классов, Ρ‡Ρ‚ΠΎ ускоряСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ядра строго Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ. Π›ΡŽΠ±Ρ‹Π΅ измСнСния Π² ΠΊΠΎΠ΄Π΅ ядра Π±ΡƒΠ΄ΡƒΡ‚ потСряны ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· маркСтплСйс ΠΈΠ»ΠΈ Ρ€ΡƒΡ‡Π½ΡƒΡŽ установку. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ события (events) ΠΈ Ρ…ΡƒΠΊΠΈ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ.

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра

ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ядро провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° /bitrix/modules/main/include.php. Если ΠΎΠ½ отсутствуСт ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½, систСма выдаст ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’Π°ΠΊΠΆΠ΅ происходит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° вСрсии PHP ΠΈ установлСнных Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ (mbstring, gd, curl).

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запросов ΠΈ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» страницы

ΠŸΡ€ΠΎΡ†Π΅ΡΡ формирования страницы начинаСтся с получСния запроса Π²Π΅Π±-сСрвСром (Apache ΠΈΠ»ΠΈ Nginx). Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρƒ index.php, располоТСнному Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ сайта. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» являСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° ΠΈ запускаСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ проксирования запроса.

Π”Π°Π»Π΅Π΅ систСма Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ URI запроса ΠΈ сопоставляСт Π΅Π³ΠΎ с физичСским Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ. Если Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» сущСствуСт физичСски (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΈΠ»ΠΈ CSS), ΠΎΠ½ отдаСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, минуя тяТСлыС процСссы CMS. Если ΠΆΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ динамичСская страница, вступаСт Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π°.

На этапС выполнСния скрипта происходит ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ β€” это Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ HTML-Π²Ρ‹Π²ΠΎΠ΄. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ слоТными, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ Π² сСбя ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. ВрСмя ΠΆΠΈΠ·Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния скрипта, Ссли Π½Π΅ настроСно Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

  • πŸš€ Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ: ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ядра ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сСссии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • πŸ” Π ΠΎΡƒΡ‚ΠΈΠ½Π³: ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ»ΠΈ скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ запрос.
  • πŸ’Ύ Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…: Запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ORM ΠΈΠ»ΠΈ прямыС SQL-запросы.
  • 🎨 Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³: ГСнСрация HTML-ΠΊΠΎΠ΄Π° Π½Π° основС шаблонов (template.php).

Π—Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ этапом являСтся ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² HTTP ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ пост-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для внСдрСния скриптов Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π»ΠΎΠ³ΠΎΠ².

πŸ’‘

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° (TTFB) Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ эффСктивности запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° этапС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

Π Π°Π±ΠΎΡ‚Π° с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ORM D7

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² 1Π‘-Битрикс осущСствляСтся прСимущСствСнно Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π»ΡΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ слоТилось Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ использовали прямыС SQL-запросы Ρ‡Π΅Ρ€Π΅Π· класс CIBlockElement::GetList ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅. Однако с ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ Standard PHP Library (SPL) ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ORM D7 ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ измСнился.

ORM (Object-Relational Mapping) позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠ°ΠΊ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡΡΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… SQL-запросов. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, прСдотвращая SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ, ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π΄Π°Π½Π½Ρ‹Ρ… описываСт связи ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ, позволяя ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ связанныС сущности Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ.

ΠŸΡ€ΠΈ использовании ORM систСма автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ SQL-запросы. НапримСр, Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° элСмСнтов ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° прСвращаСтся Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ°Π³ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· написания Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΡ… условий.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ОписаниС РСкомСндация
CMain::GetDB ΠŸΡ€ΡΠΌΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ SQL запросов Волько для слоТных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²
GetList Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ API Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ, Π½ΠΎ устарСваСт
Entity\Data\Manager БоврСмСнная ORM D7 Основной стандарт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
Runtime Fields ВычисляСмыС поля Π½Π° Π»Π΅Ρ‚Ρƒ Для слоТной Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, для высоконагруТСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ запросам для Ρ‚ΠΎΠ½ΠΊΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ лишний запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр.

πŸ“Š Какой способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π‘Π” Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠŸΡ€ΡΠΌΡ‹Π΅ SQL запросы
Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ API (GetList)
ORM D7
НС знаю / Π‘ΠΌΠΎΡ‚Ρ€ΡŽ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ

БистСма ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Одним ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘-Битрикс, являСтся многоуровнСвая систСма ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Она позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тяТСлых вычислСний ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΈΠ»ΠΈ памяти, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС.

БущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ: Π°Π²Ρ‚ΠΎΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚, кэш ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², кэш мСню ΠΈ кэш Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Автокомпозит β€” это тСхнология, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ статичСская HTML-копия страницы отдаСтся Π²Π΅Π±-сСрвСром Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ минуя запуск PHP-скриптов ΠΈ ядра Битрикса. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ кэшСм осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· настройки ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ настройки сайта. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ врСмя ΠΆΠΈΠ·Π½ΠΈ кэша (TTL) ΠΈ условия Π΅Π³ΠΎ сброса. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ шаблонов Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ кэш Ρ‡Π΅Ρ€Π΅Π· панСль администратора ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΈΠ½Π°Ρ‡Π΅ измСнСния Π½Π΅ примСнятся для посСтитСлСй сайта.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ наличия ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если Ρ„Π°ΠΉΠ» сущСствуСт ΠΈ Π½Π΅ истСк, Π΅Π³ΠΎ содСрТимоС возвращаСтся сразу. Если Π½Π΅Ρ‚ β€” выполняСтся тяТСлая Π»ΠΎΠ³ΠΈΠΊΠ°, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохраняСтся, ΠΈ Π·Π°Ρ‚Π΅ΠΌ отдаСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ кэш для автоматичСского сброса кэша связанных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². НапримСр, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠ²Π°Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ кэш всСх страниц, Π³Π΄Π΅ этот Ρ‚ΠΎΠ²Π°Ρ€ выводится, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ‚Π΅Π³Ρƒ.

Бобытийная модСль ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ обусловлСна событийной модСлью. БистСма Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сотни событий Π² процСссС своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹: ΠΏΠ΅Ρ€Π΅Π΄ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, послС сохранСния элСмСнта, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ Ρ‚.Π΄. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚"ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ" Π½Π° эти события ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свой ΠΊΠΎΠ΄ Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

Π­Ρ‚ΠΎ позволяСт Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ измСнСния Π² Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ядра ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π±Π΅Π· рСдактирования ΠΈΡ… исходного ΠΊΠΎΠ΄Π°. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ email ΠΏΡ€ΠΈ рСгистрации ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ автоматичСски ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π² Telegram ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π° Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.

Бобытия Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ b_event ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ слишком тяТСлыС скрипты ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСго сайта. РСкомСндуСтся Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ кастомных событий для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

  • πŸ“© OnBeforeUserAdd: Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • πŸ›’ OnSaleOrderSaved: ВызываСтся послС сохранСния Π·Π°ΠΊΠ°Π·Π° Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.
  • πŸ“ OnAfterIBlockElementAdd: Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС создания элСмСнта ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°.
  • 🌐 OnEndBufferContent: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ.

ИспользованиС событий Π΄Π΅Π»Π°Π΅Ρ‚ систСму ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с внСшними сСрвисами: CRM, ERP, систСмами Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ. Π­Ρ‚ΠΎ стандартный ΠΏΡƒΡ‚ΡŒ для создания слоТных бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ 1Π‘-Битрикс.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° событийной ΠΌΠΎΠ΄Π΅Π»ΠΈ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€Π°Π²Π° доступа

Вопросы бСзопасности Π² 1Π‘-Битрикс Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… уровнях. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ β€” это Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ распространСнных Π²Π΅Π±-ΡƒΠ³Ρ€ΠΎΠ·: SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ, XSS-Π°Ρ‚Π°ΠΊ ΠΈ CSRF. Π―Π΄Ρ€ΠΎ автоматичСски экранируСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΈ использовании Π² запросах, Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ слСдуСт Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ β€” систСма ΠΏΡ€Π°Π² доступа. Она позволяСт Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ дСйствия ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. ΠŸΡ€Π°Π²Π° ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π»ΠΈΡ†. БущСствуСт ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΡ€Π°Π², Π³Π΄Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, запись, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅) задаСтся Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΡ€ΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈ Π²Π΅Π±-антивирус. Π­Ρ‚ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ мониторят Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π±ΠΎΡ€ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈΠ»ΠΈ сканированиС уязвимостСй. РСгулярноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ критичСски Π²Π°ΠΆΠ½ΠΎ для закрытия ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π΄Ρ‹Ρ€ Π² бСзопасности.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ условия Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ бСзопасности ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. ВсСгда свСряйтС настройки ΠΏΡ€ΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСкомСндациями Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ руководствС ΠΏΠΎ бСзопасности ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Администратор Π΄ΠΎΠ»ΠΆΠ΅Π½ рСгулярно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» бСзопасности ΠΈ Π°ΡƒΠ΄ΠΈΡ‚ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ нСсанкционированный доступ Π½Π° Ρ€Π°Π½Π½ΠΈΡ… стадиях. Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ доступ ΠΊ административной ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠΎ IP-адрСсам.

πŸ’‘

Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ администратора (ID 1) для повсСднСвной Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ рисков.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с 1Π‘-Битрикс Π±Π΅Π· Π·Π½Π°Π½ΠΈΠΉ PHP?

Π‘Π°Π·ΠΎΠ²ΡƒΡŽ настройку ΠΈ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ панСль Π±Π΅Π· программирования. Однако для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ кастомизации шаблонов, создания Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ Π·Π½Π°Π½ΠΈΠ΅ PHP ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Битрикс ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

Какая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π»ΡƒΡ‡ΡˆΠ΅: MySQL ΠΈΠ»ΠΈ PostgreSQL?

ОбС Π‘Π£Π‘Π” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ. MySQL являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнной ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Битрикс. PostgreSQL рСкомСндуСтся для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈ слоТными транзакциями, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ слоТная Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°.

Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ сайта Π½Π° 1Π‘-Битрикс?

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, настройка ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², использованиС PHP-аксСлСраторов (OPcache), оптимизация запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Π±ΠΎΡ€ качСствСнного хостинга с SSD-дисками.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅"пСсочница" Π² контСкстС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

Π­Ρ‚ΠΎ копия Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ сайта Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΈΠ»ΠΈ локальном сСрвСрС, Π³Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ измСнСния, обновлСния ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄ пСрСносом ΠΈΡ… Π½Π° основной ("Π±ΠΎΠ΅Π²ΠΎΠΉ") сайт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ сбоСв Π² Ρ€Π°Π±ΠΎΡ‚Π΅ бизнСса.