2017 © Pedro PelΓ‘ez
 

library core

ENGINE - php mikroframework

image

ksnk/core

ENGINE - php mikroframework

  • Saturday, June 9, 2018
  • by Ksnk
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

CMS

ядро

Π―Π΄Ρ€ΠΎ систСмы прСдставляСтся скСлСтным классом ENGINE. ENGINE - статичСский класс. Π’Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» интСгрируСтся Π² скСлСт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ систСмы. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, скСлСт - ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с систСмными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΡΡƒΡ‰ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ. Он обязан ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ связнось систСмы Π±Π΅Π· использования ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… связСй., (*1)

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ прСдставляСт ΠΈΠ· сСбя глобально Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ конструкт, доступный Π² любом мСстС прилоТСния. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ систСмного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ "Π²Π»ΠΈΡ‚ΡŒΡΡ" Π² исходный ΠΊΠΎΠ΄ скСлСтного класса, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ нСскольким (Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ) прилоТСниям систСмы. Для ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Ρ‚Π°ΠΊΠΎΠΉ надобности Π½Π΅Ρ‚., (*2)

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ядра.

Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ статичСскиС ΠΈ динамичСскиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ядра. БтатичСскиС - элСмСнты ядра ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² исходный ΠΊΠΎΠ΄ класса Π½Π° этапС сборки, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ инструмСнт. ДинамичСскоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ доступно ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ interface. Оно добавляСт нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ динамичСски, Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ-ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ скСлСтного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. "Π”ΠΎΠ½ΠΎΡ€Π°ΠΌΠΈ" ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ классы , Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ php. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, любоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ систСмы, ΠΊΡ€ΠΎΠΌΠ΅ interface ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ динамичСски ΠΈΠ»ΠΈ статичСски, для этого Π² ΠΊΠΎΠ΄Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ сдСлана ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°. БтатичСскоС Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ эффСктивнСС, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈ совмСстимо с php вСрсии 5.2. ДинамичСскоС Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ (нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ), (*3)

стандартный интСрфСйс скСлСтного класса

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ опрСдСлился ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… скСлСтному классу., (*4)

  • систСмныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹
    • _shutdown
  • ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
    • debug($par,...) - Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ
    • error($msg,$par,...) - Π²Ρ‹Π²ΠΎΠ΄ сообщСния ΠΎΠ± ошибкС прилоТСния.
    • backtrace
    • _t - ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСния ΠΎΠ± ошибкС.
  • Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ
    • set_option- ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
    • option - ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ значСния.
  • интСграция ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²
    • exec - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.
    • _autoload
    • getObj - ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅Π³ΠΎ прСдставитСля.
  • ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡ
    • template
  • db - ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
  • cache - слуТба ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ядра. БСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠΊΠ° Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ web-прилоТСния с постСпСнным пСрСписываниСм ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ. Π’Π°ΠΊ слоТилось, Ρ‡Ρ‚ΠΎ класс чисто статичСсий, Π±Π΅Π· возмоТности Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ с помошью register_interface, (*5)

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ENGINE

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ статичСский ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ динамичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ излишнСС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Π΅ singleton'Π°., (*6)

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ENGINE, (*7)

  • register_interface - рСгистрация Π½ΠΎΠ²ΠΎΠ³ΠΎ интСрфСйса (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ENGINE ΠΈΠ»ΠΈ чистка, Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пуст. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, для возмоТности Π΅Π³ΠΎ "горячСй" ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈ нСобходимости
  • exec (callable,args) - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.
  • error - стандарноС сообщСниС ΠΎΠ± ошибкС. НС смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ статичСский - Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ стандартным (register_interface) ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ENGINE

НСкоторыС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ENGINE ΠΏΡ€ΠΈΠ·Π½Π°Π½Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π² любом случаС (Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ) ΠΈ ΠΎΠ½ΠΈ нСпосрСдствСнно Π²Π½Π΅Π΄Ρ€Π΅Π½Ρ‹ Π² тСкст скрипта Π½Π° этапС сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ, для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ прилоТСния. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ соотвСтствуСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» исходников., (*8)

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ autoload (Π±Π°Π·ΠΎΠ²ΠΎΠ΅)

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ классы ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ класса. Никаких Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… интСрфСйсных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ½ΠΎ Π½Π΅ прСдоставляСт. Поиск Π½ΠΎΠ²ΠΎΠ³ΠΎ класса вСдСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ plugins, (*9)

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ shutdown (Π±Π°Π·ΠΎΠ²ΠΎΠ΅)

ΠžΠΏΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ _shutdown скСлСтного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя shutdown-ΠΊΠΎΠ΄ для всСх статичСски ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ. РСгистрируСт shutdown ΠΊΠ°ΠΊ стандартный shutdown-callback Π² php, (*10)

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ events

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ прСдоставляСт интСрфСйс для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ event-based Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния., (*11)

Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, (*12)

  • register_event_handler - рСгистрация ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° событий. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий - стандартноустроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Π² порядкС рСгистрации.
  • unregister_event_hanler - ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события
  • trigger_event - Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ всС зарСгистрированныС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ.

Π’Ρ‹Π·ΠΎΠ² "событий" прСдполагаСтся явно, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ENGINE::trigger., (*13)

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ установка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° событий Π² 3 позициях - Π² Π½Π°Ρ‡Π°Π»ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΈ послС всСх ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² - Π² ΠΊΠΎΠ½Π΅Ρ† ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² этого события. ЀактичСски, Π·Π° ΠΎΠ΄Π½ΠΈΠΌ событиСм закрСпляСтся 3 ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ событий., (*14)

Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ options (Π±Π°Π·ΠΎΠ²ΠΎΠ΅)

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ дисциплину Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. ВсСм нСзаинтрСсованным прилоТСниям прСдоставляСтся интСрфСйс ENGINE::option для получСния ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…., (*15)

  • ENGINE::option(name,default='') - Π²Ρ‹Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π΅Ρ‚ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • ENGINE::set_option(name,value,$transport) - ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°
  • ENGINE::set_option(array('param'=>'value','param2'=>'value2')) - установка списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
  • ENGINE::set_option(array('param','param2'=>'value2'),$transport) - установка списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ транспорта (способа хранСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²). УстановлСнныС Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ этим транспортом. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π΅Ρ‚ - ΠΎΠ½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ помСчаСтся, Π±Π΅Π· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ создания.
  • $value = ENGINE::option('param') - ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°
  • ENGINE::options() - ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ссли Π½Π°Π΄ΠΎ. ΠžΠΏΡ€Π΅Ρ€Π°Ρ†ΠΈΡ Π½Π΅ Π½ΡƒΠΆΠ½Π° Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ опСрация сохранСния вызываСтся Π² дСструкторС Ρ‚Π΅Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² этом Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ транспорта, (*16)

  • явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² PHP (пустой транспорт)
  • Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ значСния Π² Π±Π°Π·Π΅ - db (Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ)
  • хранСния Π² INI Ρ„Π°ΠΉΠ»Π΅ - ini|NAME (Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ) NAME - имя Ρ„Π°ΠΉΠ»Π°
  • Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² VAR_EXPORT ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ массива varexport|NAME
  • Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² сСссии session
  • ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅

РСализация этих ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… способов Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ находится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ plugins Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ сборки., (*17)

Бписок ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

action - дСйствиС систСмы. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ устанавливаСтся Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмой Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, ets., (*18)

engine.classes - массив пСрСимСнования классов. ΠšΠ»ΡŽΡ‡ - имя класса, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ - ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° с описаниСм класса., (*19)

ENGINE::set_option('engine.classes',array(
    'tournament'=>'engine/tournaments.php',
    'plugin'=>'engine/engine.php',
    'engine_Main'=>'engine/syspar.php',
    'darts_Main'=>'engine/darts.php',
    'template_compiler'=>'engine/compiler.class.php',
    'ml_plugin'=>'engine/news.php',
    'form'=>'engine/html.class.php',
    'Auth'=>'engine/rights.php',
    'template_compiler'=>'compiler.class.php',
));

engine.sessionname - имя сСссии для пСрСопрСдСлСния., (*20)

идСология CMS

систСма прСдставлСна Π² Π²ΠΈΠ΄Π΅ классов, сгруппированных Π² нСсколько ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², (*21)

  • ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ систСмы - ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π΅Π»ΠΈΠ· CMS ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΎ вСрсии.
  • ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ сайта - Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΈ/ΠΈΠ»ΠΈ унаслСдованныС Ρ„Π°ΠΉΠ»Ρ‹, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠ΅ систСму Π² интСрСсах Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ шаблонов - Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ трансляции шаблонов сайта.
  • web-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ - Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ web-содСрТимого, Javascript, css, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ web-рСссурсы.

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 2 ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ поиск классов ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ сначала Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ, Π·Π°Ρ‚Π΅ΠΌ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ шаблонов находится Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ сайта. Π‘Π°ΠΌΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ…, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния структуры, мСстах., (*22)

Π Π°Π·Π±ΠΈΠ²ΠΊΠ° Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ опрСдСляСтся Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ autoload. ВсС ΠΈΠΌΠ΅Π½Π° классов Π΄Π°Π½Ρ‹ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ "Π±Π°Π·ΠΎΠ²Ρ‹Ρ…" ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Поиск классов происходит сначала Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ сайта, Π·Π°Ρ‚Π΅ΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ систСмы., (*23)

ВсС достаточныС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы опрСдСлСния содСрТатся Π² этом ΠΊΠΎΠ΄Π΅, (*24)

define('INDEX_DIR',dirname(__FILE__));
define('SYSTEM_PATH',realpath(INDEX_DIR.'/../system'));
define('SITE_PATH',realpath(INDEX_DIR.'/../site'));
define('TEMPLATE_PATH',realpath(SITE_PATH.'/template'));

установка Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ систСмы

Бвязь ядра с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ описана Π² массивС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²., (*25)

КаТдоС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, любой стСпСни ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, обязано ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π΅Π³ΠΎ с систСмой. Π­Ρ‚ΠΎΡ‚ список ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ xml Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ массива ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ установкС/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, вмСстС с Π½ΠΈΠΌ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠ΅ Π΅ΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹., (*26)

Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ систСмы, (*27)

ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ CMS

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²,, (*28)

Π―Π΄Ρ€ΠΎ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΡΠ²ΡΠ·ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом CMS являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ENGINE. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ считаСтся самодостаточным ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ наслСдованию ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ вСрсии ΠΊ вСрсии. Вся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° основываСтся Π½Π° Π½Π°Π±ΠΎΡ€Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, внСдряСмых Π² ENGINE. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ядра связываСт ΠΌΠ΅ΠΆΠ΄Ρƒ собой прилоТСния, обСспСчиваСт Π²Ρ‹Π·ΠΎΠ² Π½ΡƒΠΆΠ½Ρ‹Ρ… участков прилоТСния Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, инкапсулируСт Π² сСбС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ прилоТСния. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π±ΡƒΠ΄Π΅Ρ‚ использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для связи с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ прилоТСниями., (*29)

БрСдства ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

функция debug Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ html-ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ снабТаСтся ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ мСстС Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ debug., (*30)

Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ hasFlag ΠΈ initFlag - Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ., (*31)

встрСтив ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ testing=xxx,yyy,zzz Π² строкС GET, функция initFlag Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΡƒΠΊΡƒ testing ΠΈ записывСт Π² Π½Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π½Π°Π±ΠΎΡ€ Ρ„Π»Π°Π³ΠΎΠ². Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ testing=+xxx - Π² этом случаС Π² Π½Π°Π±ΠΎΡ€ Ρ„Π»Π°Π³ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ, testing=-xxx - Π² этом случаС Ρ„Π»Π°Π³ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ· списка Ρ„Π»Π°Π³ΠΎΠ²., (*32)

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„Π»Π°Π³ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ hasFlag('xxx')., (*33)

Π€Π»Π°Π³ norelock ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ автоматичСской прСадрСсации ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌ. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях автоматичСской пСрСадрСсации. ВмСсто header('location... Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ссылка Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ страницу. Π£Π΄ΠΎΠ±Π½ΠΎ для просмотра ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΡ‹., (*34)

Π€Π»Π°Π³ database ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° Π² ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ сообщСния всСх запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…., (*35)

Π€Π»Π°Π³ getfromhome ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 404 ΠΈΡΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Для локальной ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ 404 события, осущСствляСтся ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ изобраТСния-рСссурса с исходного сайта. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ lapsi.com/system/Main.php|do_404, (*36)

The Versions

09/06 2018

dev-master

9999999-dev

ENGINE - php mikroframework

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

framework client

09/06 2018

1.0.0.x-dev

1.0.0.9999999-dev

ENGINE - php mikroframework

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

framework client