Π Π°Π±ΠΎΡ‚Π° с модулями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 β€” ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡ‚Ρ‡Ρ‘Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая находится Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ β€” Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ другая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд Π·Π°Π΄Π°Ρ‡Π° каТСтся простой, Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ошибками Ρ‚ΠΈΠΏΠ° "ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" ΠΈΠ»ΠΈ "НСвСрный контСкст Π²Ρ‹Π·ΠΎΠ²Π°".

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

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ "снаруТи"

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅). Он содСрТит ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля), систСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Основная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния β€” инкапсуляция. 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ строго Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ области видимости ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ случайныС измСнСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ систСмы. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ "Π·Π½Π°Π΅Ρ‚" ΠΎ своём Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ), Π½ΠΎ внСшниС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ прямого доступа ΠΊ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ.

  • πŸ”Ή ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π‘Π΅Π· ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡ… Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ нСльзя.
  • πŸ”Ή ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ экспортируСт свои ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ автоматичСски. Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ явно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ доступными.
  • πŸ”Ή Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ измСнСния Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²: Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, экспорт ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ созданиС ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΎΠΊ Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅Π΅Ρ‚ свои ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ Π΄Π°Π»Π΅Π΅.

πŸ“Š Как часто Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с модулями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² 1Π‘?
Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ
НСсколько Ρ€Π°Π· Π² нСдСлю
Π Π΅Π΄ΠΊΠΎ
Никогда

2. Бпособ 1: Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π‘Π°ΠΌΡ‹ΠΉ прямолинСйный способ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ссли Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ экзСмпляр ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ»ΠΈ создана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ). Рассмотрим ΠΏΠΎΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ссылку Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. НапримСр, Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ΅, Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π­Ρ‚Π°Π€ΠΎΡ€ΠΌΠ°.ΠžΠ±ΡŠΠ΅ΠΊΡ‚.
  2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ функция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, объявлСна с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт (ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½Π° снаруТи).
  3. Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ: Π‘ΡΡ‹Π»ΠΊΠ°ΠΠ°ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.Π˜ΠΌΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ссылку Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹)

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Π­Ρ‚Π°Π€ΠΎΡ€ΠΌΠ°.ΠžΠ±ΡŠΠ΅ΠΊΡ‚;

// Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ() ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ(ДатаНачала, Π”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ);

// Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

Π­Ρ‚ΠΎΡ‚ способ ΡƒΠ΄ΠΎΠ±Π΅Π½ своСй простотой, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ доступ ΠΊ экзСмпляру ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΈΠ»ΠΈ Π½Π΅ создана, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ сработаСт. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ экспортируСмыми β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ скрытыми.

Бсылка Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сущСствуСт ΠΈ Π½Π΅ Ρ€Π°Π²Π½Π° НСопрСдСлСно|Ѐункция объявлСна с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт|ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС|ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ-->

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° содСрТит ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ для бизнСса расчёты, Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ экспортируСмыми. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй систСмы ΠΈ искаТСнию Π΄Π°Π½Π½Ρ‹Ρ….

3. Бпособ 2: ИспользованиС ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊΠ°ΠΊ посрСдников

Если прямой Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΅Ρ‰Ρ‘ Π½Π΅ создана ΠΈΠ»ΠΈ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сСанса), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² качСствС посрСдника. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ унивСрсалСн ΠΈ бСзопасСн, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ функциям ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Алгоритм дСйствий:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΠ Π°ΡΡ‡Π΅Ρ‚Ρ‹) с установлСнным Ρ„Π»Π°Π³ΠΎΠΌ "Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ" (Ссли Π½ΡƒΠΆΠ΅Π½ доступ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ) ΠΈΠ»ΠΈ "Π’Ρ‹Π·ΠΎΠ² сСрвСра" (для ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия).
  2. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ экзСмпляр ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.
  3. Π’Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля вмСсто прямого обращСния ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ:

// ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΠ Π°ΡΡ‡Π΅Ρ‚Ρ‹"

// Ѐункция-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Ѐункция Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ Π°ΡΡ‡Π΅Ρ‚Π˜Π·ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ(ДатаНачала, Π”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ) Экспорт

// Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.РасчСтыВорговли.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ();

// Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ(ДатаНачала, Π”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ);

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° этого способа:

  • πŸ”Ή ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа β€” ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ.
  • πŸ”Ή Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ запись Π² ΠΆΡƒΡ€Π½Π°Π» ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ расчётов.
  • πŸ”Ή Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²Π° Π±Π΅Π· измСнСния исходной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° сСрвСрС. Π˜Π½Π°Ρ‡Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ "ΠœΠ΅Ρ‚ΠΎΠ΄ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅".
πŸ’‘

Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° содСрТит слоТныС расчёты, вынСситС ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с сСрвСрными функциями. Π­Ρ‚ΠΎ ускорит Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

4. Бпособ 3: ДинамичСский Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ() ΠΈ ОписаниСВипов

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° структура ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ часто мСняСтся) ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(). Он позволяСт Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ Π² Π²ΠΈΠ΄Π΅ строки. Π­Ρ‚ΠΎΡ‚ способ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остороТности, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ошибки Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ссылку Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.РасчСтыВорговли.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ();

// Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ строку с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Ρ‹Π·ΠΎΠ²Π° = "Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ(ДатаНачала, Π”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ)";

// Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π·ΠΎΠ²Π° = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π·ΠΎΠ²Π°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠžΠ±ΡŠΠ΅ΠΊΡ‚", ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°);

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π·ΠΎΠ²Π°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ДатаНачала", НачалоДня(ВСкущаяДата()));

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π·ΠΎΠ²Π°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ", ΠšΠΎΠ½Π΅Ρ†Π”Π½Ρ(ВСкущаяДата()));

// ВыполняСм динамичСский Π²Ρ‹Π·ΠΎΠ²

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Ρ‹Π·ΠΎΠ²Π°, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Π’Ρ‹Π·ΠΎΠ²Π°);

// Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ доступСн Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ "Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚"

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для:

  • πŸ”Ή ДинамичСских ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ β€” ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния.
  • πŸ”Ή ВСстирования β€” ΠΌΠΎΠΆΠ½ΠΎ быстро ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π· пСрСписывания ΠΊΠΎΠ΄Π°.
  • πŸ”Ή Π Π°Π±ΠΎΡ‚Ρ‹ с внСшними ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ β€” Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» (.epf), Π΅Ρ‘ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅.

Однако Ρƒ этого способа Π΅ΡΡ‚ΡŒ ΠΈ нСдостатки:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠŸΠΎΡΠ»Π΅Π΄ΡΡ‚Π²ΠΈΡ РСшСниС
ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ошибка выполнСния Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π˜ΠΌΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
НСсовпадСниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ количСство ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π°Ρ€Π°Π½Π΅Π΅
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ выполнСния Ѐункция Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сущСствованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π˜ΠΌΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ) = Π’ΠΈΠΏ("НСопрСдСлСно") Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ѐункция Π½Π΅ сущСствуСт!");

Π˜Π½Π°Ρ‡Π΅

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π˜ΠΌΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ ошибки ΠΏΡ€ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°Ρ… ΠΈΠ»ΠΈ Ссли функция Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π°.

5. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ 1Π‘ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ошибками ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Рассмотрим самыС распространённыС ΠΈΠ· Π½ΠΈΡ… ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • 🚨 "ΠœΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½" β€” Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли функция Π½Π΅ объявлСна с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Экспорт ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ. РСшСниС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ объявлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ правописаниС.
  • 🚨 "НСвСрный контСкст Π²Ρ‹Π·ΠΎΠ²Π°" β€” ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±Π΅Π· ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. РСшСниС: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ссылку Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.Π˜ΠΌΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ().
  • 🚨 "Ошибка ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°" β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ. РСшСниС: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ сигнатуру Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ значСния.
  • 🚨 "ΠœΠ΅Ρ‚ΠΎΠ΄ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС" β€” функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ сСрвСрная, Π° Π²Ρ‹Π·ΠΎΠ² ΠΈΠ΄Ρ‘Ρ‚ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. РСшСниС: пСрСнСситС Π²Ρ‹Π·ΠΎΠ² Π½Π° сСрвСр ΠΈΠ»ΠΈ помСняйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ компиляции.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌ компиляции. Если функция Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ &НаБСрвСрС, Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±Π΅Π· указания контСкста, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ:

  • Π―Π²Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Π½Π° сСрвСрС: НаБСрвСрС ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Ѐункция().
  • Или пСрСнСсти Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (Ссли это допустимо ΠΏΠΎ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅).

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” рСкурсивныС Π²Ρ‹Π·ΠΎΠ²Ρ‹. Если функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ саму сСбя (Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ), это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ зависанию систСмы. ВсСгда добавляйтС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ рСкурсии:

Ѐункция Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ(ДатаНачала, Π”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ, ГлубинаРСкурсии = 0) Экспорт

Если ГлубинаРСкурсии > 10 Π’ΠΎΠ³Π΄Π°

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ "ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½Π° Π³Π»ΡƒΠ±ΠΈΠ½Π° рСкурсии!";

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

// ... основная логика ...

// РСкурсивный Π²Ρ‹Π·ΠΎΠ² (Ссли Π½ΡƒΠΆΠ΅Π½)

Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ˜Ρ‚ΠΎΠ³ΠΈ(НоваяДатаНачала, ΠΠΎΠ²Π°ΡΠ”Π°Ρ‚Π°ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡ, ГлубинаРСкурсии + 1);

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

6. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: ΠΎΡ‚ простого ΠΊ слоТному

Рассмотрим нСсколько Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариСв, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ 1Π‘ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с модулями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Π”Π°Π½Π½Ρ‹Ρ… с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ€Π°ΠΉΠ»(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ), ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ этой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ.

// Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠ½ΠΎΠΏΠΊΠ°Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠΠ°ΠΆΠ°Ρ‚ΠΈΠ΅(Кнопка)

ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ = ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅Π€Π°ΠΉΠ»Π°(); // ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ€Π°ΠΉΠ»(ΠŸΡƒΡ‚ΡŒΠšΠ€Π°ΠΉΠ»Ρƒ); // Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π’Ρ‹Π·ΠΎΠ² ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π£ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: РасчСтЗарплаты ΠΈ Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠžΡ‚Ρ‡Π΅Ρ‚Π°. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ°Π»ΠΎΠ³ΠΈ() ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ.

// ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ"

Ѐункция ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ°Π»ΠΎΠ³ΠΈΠ”Π»ΡΠžΡ‚Ρ‡Π΅Ρ‚Π°(Π”Π°Π½Π½Ρ‹Π΅Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ²) Экспорт

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π Π°ΡΡ‡Π΅Ρ‚Π° = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.РасчСтЗарплаты.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ();

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π Π°ΡΡ‡Π΅Ρ‚Π°.ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ°Π»ΠΎΠ³ΠΈ(Π”Π°Π½Π½Ρ‹Π΅Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ²);

ΠšΠΎΠ½Π΅Ρ†Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

// Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ "Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠžΡ‚Ρ‡Π΅Ρ‚Π°"

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ°Π»ΠΎΠ³ΠΈΠ”Π»ΡΠžΡ‚Ρ‡Π΅Ρ‚Π°(Π’Π°Π±Π»ΠΈΡ†Π°Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ²);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ДинамичСский Π²Ρ‹Π·ΠΎΠ² для внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π’Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠ°ΠΊ внСшний Ρ„Π°ΠΉΠ» (.epf) ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π΅ зная Π·Π°Ρ€Π°Π½Π΅Π΅ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ.

// Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ внСшнюю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ

Π’Π½Π΅ΡˆΠ½ΡΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° = Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ("C:\Temp\ΠœΠΎΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.epf");

// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Π΅ΡΡ‚ΡŒ Π»ΠΈ нуТная функция

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π’Π½Π΅ΡˆΠ½ΡΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠΎΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΡ) <> Π’ΠΈΠΏ("НСопрСдСлСно") Π’ΠΎΠ³Π΄Π°

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Π’Π½Π΅ΡˆΠ½ΡΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠœΠΎΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΡ(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2);

Π˜Π½Π°Ρ‡Π΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ѐункция Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°!");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±ΠΎΡ€ способа Π²Ρ‹Π·ΠΎΠ²Π° зависит ΠΎΡ‚ контСкста Π·Π°Π΄Π°Ρ‡ΠΈ. Для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прямыС ссылки ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π° для динамичСских сцСнариСв β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ().

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ всСгда провСряйтС ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ ошибки ΠΏΡ€ΠΈ отсутствии Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ нСсовпадСнии вСрсий.

7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСхничСская Π·Π°Π΄Π°Ρ‡Π°, Π½ΠΎ ΠΈ вопрос бСзопасности ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ Π½Π°Π΄Ρ‘ΠΆΠ½Π΅Π΅ ΠΈ быстрСС:

  • πŸ” ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ экспорт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” Π΄Π΅Π»Π°ΠΉΡ‚Π΅ экспортируСмыми Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ снаруТи. Π­Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ риск случайных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².
  • ⚑ ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ ссылки Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ β€” Ссли Π²Ρ‹ часто Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π΅Ρ‘ экзСмпляр Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π½Π΅ создавайтС Π·Π°Π½ΠΎΠ²ΠΎ.
  • πŸ“‘ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСрвСрныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ β€” для рСсурсоёмких ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ пСрСноситС Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° сСрвСр, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ клиСнтская.
  • πŸ“ Π’Π΅Π΄ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² β€” добавляйтС записи Π² рСгистр свСдСний ΠΈΠ»ΠΈ ΠΆΡƒΡ€Π½Π°Π» рСгистрации для отслСТивания, ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Π» ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ транзакциям. Если функция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ измСняСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² происходит Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ частичных ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ:

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹);

Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, особСнно Ссли ΠΎΠ½ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅:

Если НЕ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΠŸΡ€Π°Π²Π°("АдминистрированиС") Π’ΠΎΠ³Π΄Π°

Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ "НСдостаточно ΠΏΡ€Π°Π² для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ!";

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ), Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ экспортируйтС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ эти Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с явной Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.

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

МоТно Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ссли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π°?

Π”Π°, Π½ΠΎ для этого Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.Π˜ΠΌΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ(). ПослС этого Π²Ρ‹ смоТСтС Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ экспортируСмыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ссылку. НапримСр:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.ΠœΠΎΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ();

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.ΠœΠΎΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΡ();

Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΊΠ°ΠΊ внСшний Ρ„Π°ΠΉΠ» (.epf), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ().

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "ΠœΠ΅Ρ‚ΠΎΠ΄ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС"?

Π­Ρ‚Π° ошибка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ &НаБСрвСрС, Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΈΠ· клиСнтского контСкста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ клиСнтской ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹). РСшСния:

  1. ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΠΈΡ‚Π΅ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° сСрвСр (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ НаБСрвСрС ΠΈΠ»ΠΈ ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅Π‘Π΅Π·ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π°).
  2. Или помСняйтС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ компиляции Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅ (Ссли это допустимо ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅).
Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹?

Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр:

// Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹

&ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠšΠ½ΠΎΠΏΠΊΠ°Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠΠ°ΠΆΠ°Ρ‚ΠΈΠ΅(Кнопка)

Π”Π°Π½Π½Ρ‹Π΅ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅Π˜Π·Π€ΠΎΡ€ΠΌΡ‹(); // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±ΡŠΠ΅ΠΊΡ‚.ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅(Π”Π°Π½Π½Ρ‹Π΅); // ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Если Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ, ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

МоТно Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сСанса 1Π‘?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сСанса нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ привязаны ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ сСансу. Однако ΠΌΠΎΠΆΠ½ΠΎ:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с сСрвСрными функциями ΠΊΠ°ΠΊ посрСдники.
  • Π‘ΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² рСгистры свСдСний) ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ сСансС.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания для асинхронной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹:

  1. УстановитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова (ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ) Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ссылка Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ Ρ€Π°Π²Π½Π° НСопрСдСлСно ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ.
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ() для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  4. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ запись ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации для отслСТивания Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠœΠΎΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΡ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ: " + ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1 + ", " + ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.ΠœΠΎΡΠ€ΡƒΠ½ΠΊΡ†ΠΈΡ(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€1, ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€2);

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: " + Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);