Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° сайта Π½Π° php: Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° сайта. Ρ‡Ρ‚ΠΎ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ? β€” Π₯Π°Π±Ρ€ Q&A

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° сайта. Ρ‡Ρ‚ΠΎ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ? β€” Π₯Π°Π±Ρ€ Q&A

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ Π²Π΅Ρ‡Π΅Ρ€! ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅, поТалуйста, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ павильно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ структуру сайта. НС судитС строго, я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π½Π΅ знаю.
БСйчас ΠΎΠ½ выглядит Ρ‚Π°ΠΊ(вСрстка Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ), Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ всС Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‚Π΅Π».

МоТно ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ новости ΠΏΠΎ катСгориям, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, администратор ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ новости ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сразу появятся Π½Π° сайтС. Но, происходит это с достаточно большой Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ(ΠΊΠ°ΠΊ для Ρ‚Π°ΠΊΠΎΠΉ вСрстки). Π― понимаю, Ρ‡Ρ‚ΠΎ это ΠΈΠ· Π·Π° сплошного Π₯АОБА Π² Ρ„Π°ΠΉΠ»Π°Ρ…. Π§Ρ‚ΠΎ Ρƒ мСня происходит ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΡ†Π΅Π·Ρ€Π΅Ρ‚ΡŒ Π½ΠΈΠΆΠ΅. Π­Ρ‚ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ сайта Π² Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

ΠœΠ°ΠΊΠ΅Ρ‚ содСрТит 3 страницы, 1 — это главная index.php, 2 — это Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ 3 — это страница для Π°Π΄ΠΌΠΈΠ½Π° с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ новостСй ΠΈ Ρ‚ΠΏ.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это Ρ‚Π°ΠΊ. Π•ΡΡ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ index.php ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ require_once ΠΏΠΎΠΊΠ΄Π»ΡŽΡ‡Π°Π΅Ρ‚ header ΠΈ Ρ‚ΠΏ.
Если с страници Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉΡ‚ΠΎ запрос ΠΎΠ½ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ΡŒΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ scripts Π³Π΄Π΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Ρ„Π°ΠΉΠ»(скрипт) снова require_once Ρ„Π°ΠΉΠ» класса ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ Ρ‚Π°ΠΌ Π΄Π΅Π»Π°Π΅Ρ‚, ΠΈ возвращаСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° страницу.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ «ΡΠΊΡ€ΠΈΠΏΡ‚Π°».

Вопрос состоит Π² Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΈΠ³Π»ΡΠ΄Π΅Ρ‚ΡŒ структура сайта, Ρ‡Ρ‚ΠΎ ΠΈ !!!КАК!!! Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ?
Как ΠΏΡ…ΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ(ΠΊΠ°ΠΊ я сСйчас дСлаю Π½Π° скринС Π½ΠΈΠΆΠ΅) html ΠΊΠΎΠ΄, сколько php Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ html ΠΊΠΎΠ΄?
Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ php Π² html, Ρ‚ΠΎ ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅, ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ php ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ нСпосрСдствСнно Π² html?
Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ части сайта Ρ‚ΠΈΠΏΡƒ header ΠΈΠ»ΠΈ footer?
ΠΈ Ρ‚.Π΄.
Π§ΠΈΡ‚Π°Π», Π²ΠΈΠ΄Π΅Π» ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ MVC, Π½ΠΎ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ особо разобрался Π² Π½Π΅ΠΌ. И Ρ‚Π°ΠΊ ΠΆΠ΅ интСрСсно Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ гласныС/нСгласныС ΠΏΡ€Π°Π²ΠΈΠ»Π° проСктирования сайтов, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΊΡ€ΠΎΠΌΠ΅ CMS ΠΈ MVC?
P.S. Если ваш Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° MVC, Π±ΡƒΠ΄ΡŒΡ‚Π΅ Ρ‚Π°ΠΊ Π»ΡŽΠ±Π΅Π·Π½Ρ‹, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ссылку Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΎ Π½Π΅ΠΌ.(ΡƒΠΆΠ΅ Ρ‡ΠΈΡ‚Π°Π» habrahabr.ru/post/150267 )
И Π΅Ρ‰Π΅ 1 вопрос, Π΄Π°Π½Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ соотвСствСнно для Π²Ρ‹Π²ΠΎΠ΄Π° Π½ΡƒΠΆΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² html. ΠΠ°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΠ½ Π² html-Ρ„Π°ΠΉΠ»Π΅ с вСрсткой. Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅ΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, Ρ‡Ρ‚ΠΎ Π± ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° зависСло ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ²?
<?php if (isset($_SESSION['user_id'])) {
       echo  "<div class=exit>
                <form name=logout method=POST action=/php/scripts/destroy.php>
                    <button type=submit>Log out</button>
                </form>
            </div>";
            if ($_SESSION['role'] == 1) {
                echo "<button class=admin><a href=admin.php>Админка</a></button>";
            }
    } else {
       
             echo "<div class=vxod>
            <form name=authentication method=POST action=/php/scripts/authentication.php>
                <input type=text name=login placeholder=LOGIN>
                <input type=password name=password>
                <!--<p><input type=checkbox name=remember>Remember me</p>-->
                <input type=submit value=Π’ΠΎΠΉΡ‚ΠΈ>
            </form>
            </div>        
            <div class=reg>
            <button><a href=html/registration.html>РСгистрация</a>
            </button></div>";
    }
?>

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅ Π·Π° Ρ‚Π°ΠΊΠΎΠ΅ количСство тСкста. И ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ спасибо Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ откликнСтся.

Π‘Π°ΠΉΡ‚ Π½Π° PHP β€” это просто

Π”Π°Π²Π°ΠΉΡ‚Π΅ обсудим ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ созданиС сайта Π½Π° PHP. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ потрСбуСтся:

  • НСкотороС прСдставлСниС ΠΎ HTML (см. ΡƒΡ€ΠΎΠΊΠΈ html для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…)
  • НСкотороС, хотя Π±Ρ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ PHP
  • Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ PHP, установлСнный Π½Π° Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΈΠ»ΠΈ ΠΆΠ΅ хостинг с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ PHP. Π‘Π΅Π· этого ΠΏΡƒΠ½ΠΊΡ‚Π° созданиС сайта php Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

КакиС основныС отличия сайт Π½Π° PHP ΠΎΡ‚ сайта Π½Π° чистом HTML?

По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту созданный Π½Π° PHP сайт ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Ρ‡Π΅ΠΌ отличаСтся ΠΎΡ‚ сайта, созданного с использованиСм ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ HTML. ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сайт Π½Π° PHP Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΎΠΊ Π² настройкС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ ΠΏΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π’ качСствС простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ β€” Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² шапкС сайта ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ слово. Когда сайт основан ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° HTML, Ρ‚ΠΎ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ придСтся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» сайта. Если сайт состоит всСго ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ страницы, Ρ‚ΠΎ это Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ особых Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ, Π½ΠΎ Ссли Π² составС сайта 100 html-страниц, Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° становится вСсьма Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΎΠΉ ΠΈ врСмя Π·Π°Ρ‚Ρ€Π°Ρ‚Π½ΠΎΠΉ. А Ссли Ρ‚Π°ΠΊΠΈΡ… страниц большС 1000? Если ΠΆΠ΅ сайт Π½Π° PHP, ΠΈ шапка Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Ρ‚ΠΎ потрСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ измСнСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΈ ΠΎΠ½ΠΈ автоматичСски отразятся Π½Π° всСх страницах сайта.

Випичная структура php сайта:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠΎΠ΄ основного шаблона сайта Π½Π° PHP. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС php ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ .php. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ. Π’ΠΎΠ³Π΄Π° мСньшС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹.

Код Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° index.php ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

<html>
<head>
   <title>НазваниС страницы</title>
   <?php
      require_once $_SERVER['DOCUMENT_ROOT'].'/head.php';
   ?>
</head>

<body>
   <div>
      <?php
         require_once $_SERVER['DOCUMENT_ROOT'].'/top.php';
      ?>
   </div>
   <div>
      <div>
         <?php
            require_once $_SERVER['DOCUMENT_ROOT'].'/sidebar1.php';
         ?>
      </div>
      <div>
         ... Основная Ρ‡Π°ΡΡ‚ΡŒ сайта...
      </div>
      <div>
         <?php
            require_once $_SERVER['DOCUMENT_ROOT'].'/sidebar2.php';
         ?>
      </div>
      <div>
         <?php
            require_once $_SERVER['DOCUMENT_ROOT'].'/footer.php';
         ?>
      </div>
   </div>
</body>
</html>

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, базовая страница состоит ΠΈΠ· ряда ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²: head.php, top.php, sidebar1.php, sidebar2.php, footer.php. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP:


require_once <ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ/имя Ρ„Π°ΠΉΠ»Π°>

ΠŸΡ€ΠΈ этом ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΈΠ΄Π½ΠΎ, Π·Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ элСмСнт страницы ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ». ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ ΠΈ выглядит ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ сайт Π½Π° PHP. Π—Π΄Π΅ΡΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…. По сути это нСсколько ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ html сайт, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π°ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ простой сайт Π½Π° PHP ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ массой ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅Ρ‚ Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ сайтС Π½Π° чистом HTML.

— WEB Ρ‡Π°ΠΉΠ½ΠΈΠΊ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я описал свои изыскания ΠΏΠΎ структурС сайта ΠΈ описал Π½Π΅ΠΊΠΈΠ΅ этапы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π΄ΡƒΠΌΠ°ΡŽ всС ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ (Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΡ€Π°Π²Π΄Π° Π±Ρ‹Π» этап, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сайтов Π½Π° JoomlaΒ» ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ популярной CMS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» совсСм Π½Π΅Π΄Π°Π²Π½ΠΎ, ΠΈ Π½Π΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ сайтов – Π° ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ шаблонов, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Joomla, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² этом Π±Ρ‹Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, Π½ΠΎ сСйчас Π½Π΅ ΠΎΠ± этом).

Π˜Ρ‚Π°ΠΊ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ я описал Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания сайта Π½Π° ΠΎΠ΄Π½ΠΎΠΉ страницС. ИдСя эта Π½Π΅ Π½ΠΎΠ²Π°, ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π½Π΅ я Π΅Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Π», Π½ΠΎ Π½Π° Π½Π΅ΠΉ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС соврСмСнныС сайты. ΠŸΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сайт Π½Π° ΠΎΠ΄Π½ΠΎΠΉ страницС? Π“Π»Π°Π²Π½ΠΎΠ΅ – ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ страницу ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ основному Ρ„Π°ΠΉΠ»Ρƒ. Для Π½Π°Ρ‡Π°Π»Π° сама структура:

Π˜Ρ‚Π°ΠΊ, Π·Π° всС Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» index.php. Бсылки Π½Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
http://ваш_Π΄ΠΎΠΌΠ΅Π½/index.php?razdel=Ρ€Π°Π·Π΄Π΅Π»_1
http://ваш_Π΄ΠΎΠΌΠ΅Π½/index.php?razdel=Ρ€Π°Π·Π΄Π΅Π»_2
http://ваш_Π΄ΠΎΠΌΠ΅Π½/index.php?razdel=Ρ€Π°Π·Π΄Π΅Π»_3….
Удобство Ρ‚Π°ΠΊΠΎΠΉ схСмы Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² страницах Ρ€Π°Π·Π΄Π΅Π»_1.php, Ρ€Π°Π·Π΄Π΅Π»_2.php ΠΈ Ρ€Π°Π·Π΄Π΅Π»_3.php Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ВсС ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ index.php. Π’Π°ΠΊΠΆΠ΅ для послСднСго ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ настройку основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ авторизация ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅.
БоотвСтствСнно Π² Ρ‚Π΅Π»Π΅ Ρ„Π°ΠΉΠ»Π° index.php Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
include $_SERVER[‘DOCUMENT_ROOT’].’/includes/’.$_GET[‘razdel’];
Π’ΠΎΡ‚ ΠΈ всС. Когда ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ страницу сайта ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $_GET[‘razdel’], ΠΎΠ½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½ΡƒΡŽ страницу, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Π·Π° Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» сайта. НСдостатком Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ совсСм ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ страницы с Ρ€Π°Π·Π½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, дальшС я ΠΎΠΏΠΈΡˆΡƒ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. На этом ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ, ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ сайты сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Но, чСстно ΠΏΡ€ΠΈΠ·Π½Π°ΡŽΡΡŒ, ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ для мСня ΠΎΠ΄Π½ΠΎ врСмя Π±Ρ‹Π»Π° Joomla, ΠΈ Π½Π΅ зря. ΠšΠΎΠ²Ρ‹Ρ€ΡΡΡΡŒ Π² Π΅Π΅ исходниках я ΠΎΡ‚ΠΊΡ€Ρ‹Π» для сСбя довольно ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ интСрСсного. А ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΠΎΠ³Π΄Π° Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ сайты Π½Π° Joomla, спроситС Π²Ρ‹. ΠžΡ‚Π²Π΅Ρ‚ простой: Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΌΠ°Π³Π°Π·ΠΈΠ½ Π½Π° связкС Joomla+virtuemart Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ 300 ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ самих Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² нСсколько тысяч. Π’ΠΎΡ‚ Π²ΠΎΡ‚. А ΠΌΠΎΠ΅ знакомство с Joomla Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ с Ρ‚Π°ΠΊΠΎΠ³ΠΎ сайта, ΠΈ Π³Π»Π°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ – Π±Ρ‹Π»ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹. Для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Β«Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ дСнь ΠΊΠ°ΠΊ с ΠΏΠ°Π»ΡŒΠΌΡ‹ слСз» — такая Π·Π°Π΄Π°Ρ‡Π° – Ρ‚ΠΈΡ…ΠΈΠΉ уТас, ΠΏΠΎ-Π½Π°Ρ‡Π°Π»Ρƒ я Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π» с ΠΊΠ°ΠΊΠΎΠΉ стороны ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ, Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ пошло-ΠΏΠΎΠ΅Ρ…Π°Π»ΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Ρ‚ΡƒΡ‚, дописал Ρ‚Π°ΠΌ, ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страниц ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°.
Но Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ мСня занСсло. ВСрнСмся ΠΊ одностраничной структурС сайта. Π’ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ заставляСт вас Π·Π°ΠΏΠΈΡ…ΠΈΠ²Π°Ρ‚ΡŒ всю Π»ΠΎΠ³ΠΈΠΊΡƒ Π² страницу index.php. Π’ ΠΏΠ°ΠΏΠΊΡƒ includes ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню сайта, шапки footerΠ° Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ². Π—Π΄Π΅ΡΡŒ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ сам ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ сайта.
Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΎΠΏΠΈΡˆΡƒ структуру сайта, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я сСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ, ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ практичСски Π½Π΅ измСняя ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ для Π΅Π΅ понимания Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ прСдставлСниС ΠΎΠ± использовании классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², хотя ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ Π±Π΅Π· этого.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² мастСра создания сайта

Папка мастСра создания сайта ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ:

  • Π€Π°ΠΉΠ» .description.php, содСрТащий Π½Π°Π·Π²Π°Π½ΠΈΠ΅, описаниС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… характСристик мастСра. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ всСгда ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ мастСра.
  • Π€Π°ΠΉΠ» .sites.php, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ шаги Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠ° сайта ΠΈ Установка сайта. Π’ΠΈΠΏ сайта – ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ шаблонов, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, сСрвисы. ΠžΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° сайта ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ дальнСйший Π²Ρ‹Π±ΠΎΡ€ Π³Ρ€ΡƒΠΏΠΏΡ‹ шаблонов, шаблонов сайта ΠΈ сСрвисов. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ мастСра.

  • Π€Π°ΠΉΠ» .templates.php, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ шаги Π’Ρ‹Π±ΠΎΡ€ Π³Ρ€ΡƒΠΏΠΏΡ‹ шаблонов, Π’Ρ‹Π±ΠΎΡ€ шаблона ΠΈ Установка шаблона. Π’ Ρ„Π°ΠΉΠ»Π΅
    .templates.php
    ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ зависимости шаблона ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° сайта, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ шаблонов. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ мастСра.
  • Подпапка templates, содСрТащая ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ сайта. Если Π² этой ΠΏΠ°ΠΏΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, Ρ‚ΠΎ шаги Π’Ρ‹Π±ΠΎΡ€ шаблона ΠΈ Установка шаблона добавятся Π² мастСр автоматичСски. Π’ Ρ„Π°ΠΉΠ»Π΅ .templates.php ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, находящиСся Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ΅ templates. Π­Ρ‚Π° дирСктория ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ мастСра.
  • Π€Π°ΠΉΠ» .services.php, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ шаги Π’Ρ‹Π±ΠΎΡ€ сСрвисов ΠΈ Установка сСрвисов. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ мастСра. Под сСрвисом понимаСтся ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π΄Π°Π½Π½Ρ‹Ρ…), Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° сайта. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ сСрвисов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доска объявлСний, фотогалСрСя, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ссылок, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², новости, Ρ„ΠΎΡ€ΡƒΠΌ ΠΈ Ρ‚.ΠΏ.
  • Подпапка lang, содСрТащая языковыС сообщСния (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄) мастСра. Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ находятся ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌ языков. Π’ этих ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°Ρ… находятся Ρ„Π°ΠΉΠ»Ρ‹ языковых сообщСний (ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ²) мастСра. Π€Π°ΠΉΠ» языковых сообщСний для ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ»Π° мастСра Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ имя, ΠΊΠ°ΠΊ ΠΈ Ρ„Π°ΠΉΠ» мастСра ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ°ΠΏΠΊΠΈ /lang/ΠΊΠΎΠ΄_языка/, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ» располагаСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ°ΠΏΠΊΠΈ мастСра. НапримСр, языковой Ρ„Π°ΠΉΠ» с английскими Ρ„Ρ€Π°Π·Π°ΠΌΠΈ для Ρ„Π°ΠΉΠ»Π° /.sites.php трСбуСтся Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ /lang/en/.sites.php. Подпапка lang ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π² мастСрС Π½Π΅Ρ‚ зависящих ΠΎΡ‚ языка Ρ„Ρ€Π°Π·;
  • Π€Π°ΠΉΠ» license.php, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ шаг Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС. Если Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ мастСра создания сайта Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» license.php (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /bitrix/wizards/my_company/demo/license.php), Ρ‚ΠΎ послС шага ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ автоматичСски добавится шаг Π›ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС. Π’ этом шагС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΌ соглашСниСм, тСкст ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находится Π² Ρ„Π°ΠΉΠ»Π΅ license.php. Π€Π°ΠΉΠ» с тСкстом Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ соглашСния ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ языка интСрфСйса мастСра. Для это сначала ищСтся Ρ„Π°ΠΉΠ» license_ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€_Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ_языка.php ΠΈ Ссли Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚, тСкст бСрСтся ΠΈΠ· Ρ„Π°ΠΉΠ»Π° license.php.
  • Π›ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ с рСсурсами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ мастСру. ВсС рСсурсы мастСра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ мастСра.

Β© «Битрикс», 2001-2021, Β«1Π‘-Битрикс», 2021

НавСрх

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° сайта: основныС Π²ΠΈΠ΄Ρ‹

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° сайта — основа для выстраивания ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ отобраТСния ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сайтС. ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ структурС ΡΠ°ΠΉΡ‚Π°Β ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ странички ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π½ΠΈΡ… свСдСния. Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅Β ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ ΠΊΠ°ΠΊΡƒΡŽ структуру Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ для своСго сайта β€”Β ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ… структур сайта ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ для вас.

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

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

Но самым ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΉ Π²ΠΈΠ΄ структуры сайта. Π­Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ…, выраТСнная Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, вся структура ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ большоС количСство Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… страниц любой влоТСнности ΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ Ρ‚Π°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ любой Π²Π΅Π±-рСсурс, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, посвящСн ΠΎΠ½ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ сразу нСскольким Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ областям. Однако здСсь слСдуСт Π±Ρ‹Ρ‚ΡŒ остороТным, вСдь Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅Β Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ своих посСтитСлСй Π² Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Π΅ составных частСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° структуры сайта слСдуСт Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, понятном интСрфСйсС.

БущСствуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄ структуры сайта – Ρ€Π΅ΡˆΠ΅Ρ‚Ρ‡Π°Ρ‚Ρ‹ΠΉ. Он выполняСтся практичСски ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ стандартам, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΉ, Π½ΠΎ Π² Π΅Π³ΠΎ составС Π΅ΡΡ‚ΡŒ особая функция, которая ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ с ΠΎΠ΄Π½ΠΎΠΉ части Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡƒΡŽ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ‚Π°ΠΊΠΎΠΉ Ρ…ΠΎΠ΄ лишь услоТняСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сайта, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ структуры сайта примСняСтся лишь Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².


ο»ΏΠ’Π΅Π³ΠΈ: структура сайта

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ MVC для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сайтов Π½Π° PHP

Когда ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ сайт, Ρ‚ΠΎ пишСм HTML ΠΈ PHP ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ эти языки ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ малСнький, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ Π² этом Π½Π΅Ρ‚. Но Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π°Ρ‡Π½Π΅Ρ‚ расти, Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π΅Π³ΠΎ станСт достаточно тяТСло ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° смСшСния языков. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всС большС ΠΈ большС, ΠΊΠΎΠ΄ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всС Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Π΅ΠΉ, ΠΈ Π²Π°ΠΌ тяТСло Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ MVC. АббрСвиатура MVC Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: M — модСль (model), V — прСдставлСниС (view), Π‘ — ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (controller). ΠŸΡ€ΠΈ этом модСль ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, прСдставлСниС — Π·Π° Π²Ρ‹Π²ΠΎΠ΄ этих Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° экран Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ прСдставляСт собой ΡΠ²ΡΠ·ΡƒΡŽΡ‰Π΅Π΅ Π·Π²Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ модСлью ΠΈ прСдставлСниСм.

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ MVC

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

ΠŸΡ€ΠΈ этом Ρƒ нас получаСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€ΡƒΠ΄Π°: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ — ΠΎΠ½ просто просит ΠΎΠ± этом модСль, прСдставлСниС Π½Π΅ Π·Π½Π°Π΅Ρ‚, ΠΎΡ‚ΠΊΡƒΠ΄Π° приходят Π΄Π°Π½Π½Ρ‹Π΅ — ΠΎΠ½ΠΎ просто ΠΈΡ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚.

Π£Π²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° это всС Π·Π²ΡƒΡ‡ΠΈΡ‚ Π½Π΅ понятно, поэтому ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для вас я сдСлал ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ MVC ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Для Π½Π°Ρ‡Π°Π»Π° я Π½Π°ΡƒΡ‡Ρƒ вас ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этим Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ поняли, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ слСдуСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° MVC. А Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ сами, слСдуя ΠΌΠΎΠΈΠΌ указаниям, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π½Π° ООП.

Уставновка Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°

Для Π½Π°Ρ‡Π°Π»Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ссылкС: ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. РаспакуйтС Ρ„Π°ΠΉΠ»Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π² ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ°ΠΏΠΊΡƒ сСрвСра, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² framework.local. Π’ PhpMyAdmin создайтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… для вашСго Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ„Π°ΠΉΠ» /project/config/connection.php ΠΈ настройтС Ρ‚Π°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ адрСсу: http://framework.local/hello/. Π’Π°ΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ привСтствСнноС сообщСниС. Если Π²Ρ‹ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅ — Π·Π½Π°Ρ‡ΠΈΡ‚ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΠ°ΠΏΠΎΠΊ

ПослС распаковки Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²Π΅ ΠΏΠ°ΠΏΠΊΠΈ: ΠΏΠ°ΠΏΠΊΠ° core ΠΈ ΠΏΠ°ΠΏΠΊΠ° project.

Π’ ΠΏΠ°ΠΏΠΊΠ΅ core размСщаСтся написанноС мною ядро нашСго Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Под ядром понимаСтся ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΡ€ΠΈ использовании Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π² эту ΠΏΠ°ΠΏΠΊΡƒ Π·Π°Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½ΠΎ. Π’ ΠΏΠ°ΠΏΠΊΠ΅ project Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΌΠΎΠ΄Π΅Π»ΠΈ, прСдставлСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ настройки Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. ИмСнно Π² этой ΠΏΠ°ΠΏΠΊΠ΅ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ вся Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сайта.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° сайта с Π±Π»ΠΎΡ‡Π½ΠΎΠΉ вСрсткой

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, всС обращСния ΠΊ сайту ΠΏΠΎ ссылкам ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ„Π°ΠΉΠ» index.php, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ web-страницу, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зависит ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π² запросС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² GETΠΈ POST.ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ html-Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π° Π±ΡƒΠ΄ΡƒΡ‚ лишь Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ динамичСской страницы. Π’ силу Ρ‚Π°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ index.php, соотвСтствСнно, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ всСх CSS-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² JavaScriptΠ½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° index.php. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ описаниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прСдставляСт собой Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ html-Ρ„Π°ΠΉΠ»):

Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Π‘Π°ΠΉΡ‚, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ… ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ²ΡƒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² сайт с Π±Π»ΠΎΡ‡Π½ΠΎΠΉ вСрсткой. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

1) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΡ‡Π½ΡƒΡŽ структуру страницы ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² Π±Π»ΠΎΠΊΠΈ (см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

2) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ css-Ρ„Π°ΠΉΠ» для опрСдСлСния Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ располоТСния Π±Π»ΠΎΠΊΠΎΠ² согласно Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ задания. ΠŸΡ€ΠΈ этом слСдуСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ стили для форматирования сайта (см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

3) Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² <head>. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² (CSS, HTML) пСрСнСсти Π² Ρ„Π°ΠΉΠ» index.php

4) ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ PHP-Ρ„Π°ΠΉΠ» с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ html-Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° actionтэга form ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Ρ„ΠΎΡ€ΠΌΡƒ скрытый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (см. ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° 7. ИспользованиС шаблонов Π² PHP

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ динамичСская Π²Π΅Π±-страница (lab6.php)состояла ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² <div>, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈincludeпроисходила вставка Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π² зависимости ΠΎΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… GET-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Для простых Π²Π΅Π±-страниц такая рСализация Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ Ссли страница ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ, большоС количСство динамичСского ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΉ интСрфСйс, Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ‚Π°ΠΊΠΎΠΉ страницы сильно ослоТняСтся ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ…ΠΎΠΉ читаСмости php-ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Β«Π²ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΊΡƒΒ». Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΌΠΎΠΆΠ½ΠΎ вынСсти Π²Π΅ΡΡ‚ΡŒ php-ΠΊΠΎΠ΄ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π° Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Ρ‚.Π½. «шаблон».

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ использования шаблонов Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² HTML-ΠΊΠΎΠ΄ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ PHP-скрипта ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ содСрТимым (ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ) Π² процСссС динамичСского формирования Π²Π΅Π±-страницы. Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ) Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ HTML-тэгами ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ самим Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использованиС шаблонов:

– ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ PHP ΠΎΡ‚ HTML, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ читаСмости ΠΊΠΎΠ΄Π°;

– использованиС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… прСдставлСний для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» шаблона ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π΅ΠΌΡƒ Π΄Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ *.tpl, хотя это Π½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ шаблон ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ структура Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ php-ΠΊΠΎΠ΄Π° Π² Π½Π΅ΠΌ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° ΠΌΠ΅Ρ‚ΠΊΠΈ {objects} ΠΈ {content}. Код ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ шаблона (Ρ„Π°ΠΉΠ» lab7.php)ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

— содСрТимоС шаблона загруТаСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $tmp;

— Π² зависимости ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ GET-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ $objectΠΈ $contentприсваиваСтся содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вывСсти Π² Π»Π΅Π²ΠΎΠΌ ΠΈ ΠΏΡ€Π°Π²ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ страницы соотвСтствСнно;

— ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ str_replace()Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $tmp (шаблонС) происходит Π·Π°ΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° содСрТимоС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²;

— ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ echoготовая страница отправляСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ продСмонстрирован Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Данная рСализация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шаблоном ΠΎΡ‡Π΅Π½ΡŒ проста, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ сущСствСнным нСдостатком: Ссли Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ…, содСрТащих ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ страницы (objects1.php, object1-2.phpΠΈ Π΄Ρ€.) Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ php-ΠΊΠΎΠ΄, Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ исполнСн, Ρ‚.ΠΊ. функция file_get_contents() Π½Π΅ обСспСчиваСт Π΅Π³ΠΎ исполнСниС, Π° просто Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ» Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Π²ΠΈΠ΄Π΅ тСкста Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ИсполнСниС php-ΠΊΠΎΠ΄Π° Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ include() (см. Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ β„–6), Π½ΠΎ ΠΈ здСсь Π΅ΡΡ‚ΡŒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: html-содСрТимоС Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ php-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π° Π² этом случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Но Π² соотвСтствии с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ шаблона это содСрТимоС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ вставлСно Π² шаблон, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ, Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ страницы, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. ΠŸΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ php-сцСнария, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСнаправляСт Π²Ρ‹Π²ΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΡƒΡŽ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π° Π² памяти для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования.

ΠŸΡ€ΠΈ использовании ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ php-сцСнарий registration_form.php запускаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ include(), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ этим Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ob_start() ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния сцСнария ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ эта функция называСтся load_content(). ПослС выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ include() ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ob_end_flush().

Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ содСрТимоС Π³Π»Π°Π²Π½ΠΎΠΉ страницы сайта Π½Π° Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° – шаблон (*.tpl) ΠΈ ΠΊΠΎΠ΄ (*.php).ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ PHP-сцСнария ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ ΠΈ руководства

http://www.cyberforum.ru/php-beginners/thread153221.html

http://phpfaq.ru/tpl

http://webew.ru/articles/3609.webew

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ шаблона PHP для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ структуры с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΊΠΎΠ΄Π° | Π‘Ρ‚ΠΈΠ² Π‘ΠΎΡ…ΠΊΠΎΡ‚

Π¨Π°Π±Π»ΠΎΠ½ ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницы Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ , ΠΎΡ‡Π΅Π½ΡŒ , ΠΏΠ΅Ρ€Π²ΠΎΠ΅ (ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС), это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π― поставил ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° прСфикс Β«a_Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС ΠΏΡ€ΠΈ сортировкС ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

Π€Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ опрСдСляСт, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ страницС Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, ΠΈ устанавливаСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·ΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ это содСрТимоС.Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, строка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ здСсь.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ я помСстил всС Π² Ρ‚Π΅Π³Π΅ HEAD Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² Ρ‚Π΅Π³ HEAD:

Π­Ρ‚ΠΎ позволяСт ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС ΠΈΠΌΠ΅Ρ‚ΡŒ свой собствСнный ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ).

На страницС Β«indexΒ» (Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСмой ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ) я ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽ Ρ‚Π΅Π³ΠΈ META. На Π½Π΅ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… страницах я этого Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽ.

CSS (ΠΈ JavaScript) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ хранятся Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ….Бписок Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. НапримСр, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ JavaScript. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠΎΠ΄ Π½Π° всСх своих страниц!

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для оформлСния ΠΈ содСрТания. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я Ρ€Π°Π·Π±ΠΈΠ» Π΅Π³ΠΎ Π½Π° Ρ‚Ρ€ΠΈ части:

1) ВСрхняя Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Π°:

Π—Π΄Π΅ΡΡŒ Ρƒ мСня просто ΠΎΠ±Ρ‰ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. Часто навигация Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² этот Ρ„Π°ΠΉΠ», ΠΎΠ΄Π½Π°ΠΊΠΎ Π² дСмонстрационных цСлях я Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ» Π΅Π³ΠΎ Π½Π° Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°.

2) Навигация:

Код PHP динамичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ссылки, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ страницС Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ, эта ссылка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° (указывая, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Β«Π°ΠΊΡ‚ΠΈΠ²Π½Π°Β»).

ОбновлСниС: Π±Ρ‹Π»ΠΎ нСсколько ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эта Ρ‡Π°ΡΡ‚ΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ $ _SERVER [Β«SCRIPT_NAMEΒ»] , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ. Π’ ΠΌΠΎΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я создал ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«php-templateΒ» (ΠΈ Π²Ρ‹, вСроятно, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый!).

3) НиТний ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»:

Π’Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄ для динамичСского отобраТСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π³ΠΎΠ΄Π° (Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π³ΠΎΠ΄!).

Π― ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΈΠΌΠ΅Ρ‚ΡŒ свои Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .php . Π― знаю, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ люди ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ .html ΠΈΠ»ΠΈ .inc (Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Β«Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉΒ» Ρ„Π°ΠΉΠ»), Π½ΠΎ Ρ‚Π°ΠΊ:

  • Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅ отобраТаСтся, Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» ΠΊ этому Ρ„Π°ΠΉΠ»Ρƒ. прямо Π½Π° сСрвСрС. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ для строк ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ Π½Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°).

НадСюсь, с этого Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅.Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

Одним ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ DIV с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Β«main-contentΒ». ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  • ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ DIV Π² design-top.php
  • Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ design-bottom.php , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ DIV (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅).

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Π³ΠΈ HTML ΠΈ BODY Π² Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ», Π° Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ этих Ρ‚Π΅Π³ΠΎΠ² — Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ² эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΈΠ»ΠΈ просто пСрСмСстив эти Ρ‚Π΅Π³ΠΈ Π² Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ), ΠΊΠΎΠ΄ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ содСрТимого, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для этой страницы.

Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° PHP?

Π­Ρ‚ΠΎ руководство ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠΌΠ½Ρ‹Ρ… способов структурирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ PHP.

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

PHP-прилоТСния ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠΌΠ΅ΡŽΡ‚ собствСнныС способы структурирования. ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΈΠ»ΠΈ CMS, Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° структура ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Π‘ΠΌ. Бсылки Π²Π½ΠΈΠ·Ρƒ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… распространСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. НапримСр, Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ общСдоступный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ считаСтС Π΅Π³ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

  ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ /
  .git / # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Git ΠΈ исходный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
  assets / # НС скомпилированный / Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ CSS, LESS, Sass, JavaScript, изобраТСния
  bin / # Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
  config / # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ прилоТСния
  node_modules / # Node.js ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для управлСния интСрфСйсом
  public / # ΠžΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ адрСсу http: // example.com /
      index.php # Основная Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° - Ρ„Ρ€ΠΎΠ½Ρ‚-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€
      ...
  src / # Ρ„Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° PHP
      ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ / # ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹
      ...
  templates / # Π€Π°ΠΉΠ»Ρ‹ шаблонов
  tests / # ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ тСсты
  translations / # Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ²
      en_US.yaml
  var / # Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ прилоТСния
      cache / # Π€Π°ΠΉΠ»Ρ‹ кСша
      log / # Π€Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния
  vendor / # сторонниС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ с Composer
  .gitignore # Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² Git (node_modules, var, vendor ...)
  composer.json # Π€Π°ΠΉΠ» зависимостСй ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€Π°
  phpunit.xml.dist # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ PHPUnit
  

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

ΠžΠ±Ρ‰ΠΈΠΉ справочник

Π’Π΅Π±-прилоТСниям трСбуСтся общСдоступный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя общСствСнный . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pub , web , public_html ΠΈΠ»ΠΈ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя.

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π±ΡƒΠ΄Π΅Ρ‚ доступСн для внСшнСго ΠΌΠΈΡ€Π° ΠΏΡ€ΠΈ использовании Π²Π΅Π±-сСрвСра. По сообраТСниям бСзопасности Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹. Бюда Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, индСкс.php ΠΈ статичСскиС Ρ„Π°ΠΉΠ»Ρ‹ внСшнСго интСрфСйса (CSS, JavaScript, изобраТСния…).

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

Если Ρƒ вас нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, рСкомСндуСтся ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²: config ΠΈΠ»ΠΈ ΠΈ Ρ‚. Π”. ΠΈΠ»ΠΈ app / config … Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ размСщСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² общСдоступный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€

Composer ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Π°ΠΌ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ аспСкты вашСго PHP-прилоТСния.НапримСр, Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° классов PHP, запуск скриптов, автоматизация установка, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сторонними зависимостями ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ composer.json располоТСн Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ этом Ρ„Π°ΠΉΠ»Π΅ вся конфигурация ΠΈ зависимости Composer ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ.

Composer создаСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ vendor Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит сторонниС зависимости (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, плагины…).

Π€Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π° PHP

Когда Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ PHP-классах ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ src ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ .

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ PHP Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ src . К Π½ΠΈΠΌ Π² основном относятся классы. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ — Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ PSR-4. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ частСй autoload ΠΈ autoload-dev Π² Ρ„Π°ΠΉΠ» composer.json ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ для вас всС классы:

  {
    "Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°": {
        "пср-4": {
            "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \\": "src /"
        }
    },
    "autoload-dev": {
        "пср-4": {
            "ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \\ ВСсты \\": "тСсты /"
        }
    }
}
  

Π’ соврСмСнных прилоТСниях PHP структурированиС Ρ„Π°ΠΉΠ»ΠΎΠ² PHP Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ src являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования ΠΈ шаблонов проСктирования.ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ пространство ΠΈΠΌΠ΅Π½ с ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ src .

НапримСр:

  ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ /
  ...
  src /
      ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ / # ΠšΠ»Π°ΡΡΡ‹ для управлСния запросами ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ ΠΏΡƒΡ‚Π΅ΠΌ отобраТСния
                  # ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΈΠ· сСрвисов ΠΈ / ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π‘Π”
      Model / # ΠšΠ»Π°ΡΡΡ‹ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
      Utils / # Application Services - бизнСс-логика
      ...
  ...
  

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ шаблонов проСктирования ООП ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ классов Π² пространства ΠΈΠΌΠ΅Π½.

ВСсты

Π’ ΠΈΠ΄Π΅Π°Π»Π΅ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ тСсты. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ провСряСт справочник .

ΠŸΠ΅Ρ€Π΅Π΄Π½ΡΡ Ρ‡Π°ΡΡ‚ΡŒ

Π’ зависимости ΠΎΡ‚ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ являСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ внСшнСго интСрфСйса Ρ„Π°ΠΉΠ»Ρ‹ (CSS, Sass, LESS, JavaScript, изобраТСния…) ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ PHP (исходный ΠΊΠΎΠ΄ PHP ΠΊΠΎΠ΄, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, конфигурация прилоТСния, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты…) Π½Π° Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ node_modules являСтся стандартным ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ to Composer поставщик ), управляСмый Node.js tooling system — npm ΠΈΠ»ΠΈ yarn.

ВмСсто раздСлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π΄Π²Π° рСпозитория ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ assets ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· JavaScript, CSS, SaSS, LESS, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² общСдоступном ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ .

Если Π²Π°ΠΌ Π½Π΅ понадобится Π±ΠΎΠ»Π΅Π΅ слоТная ΠΈ слоТная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° внСшнСго интСрфСйса, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ помСститС эти Π²Π΅Π±-рСсурсы нСпосрСдствСнно Π² общСдоступный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ .

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ поставщика Composer ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ?

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Composer создаСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ vendor .Π‘ΠΌΠ΅Π½Π° названия Π½Π΅ распространСнный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это стандартноС имя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ Π² экосистСмС PHP. Однако ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ установки ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния. COMPOSER_VENDOR_DIR :

  COMPOSER_VENDOR_DIR = lib composer Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ phpunit / phpunit
  

ΠΈΠ»ΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ vendor-dir Π² composer.json :

  {
    ...
    "config": {
        "vendor-dir": "lib"
    }
    ...
}
  

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΈ использовании Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хостинга?

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

ВсСгда ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ размСщСния Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ общСдоступных Ρ„Π°ΠΉΠ»ΠΎΠ² прилоТСния, Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ public_html , htdocs ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ.

НСкоторыС ΠΏΠ°Π½Π΅Π»ΠΈ управлСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

  public_html / # ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
  your-project / # Π’Π°Ρˆ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ структурой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²
    ...
    config /
    ...
    public / # Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°
    src /
    ...
  

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

— Laravel — PHP-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π²Π΅Π±-мастСров

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Бтандартная структура прилоТСния Laravel ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для обСспСчСния ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠ°ΠΊ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, Ρ‚Π°ΠΊ ΠΈ для ΠΌΠ°Π»Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ нравится. Laravel практичСски Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° располоТСниС любого Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса — Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Composer ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ класс.

ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ app содСрТит основной ΠΊΠΎΠ΄ вашСго прилоТСния.ВскорС ΠΌΡ‹ рассмотрим этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ; ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ всС классы Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ bootstrap содСрТит Ρ„Π°ΠΉΠ» app.php , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. Π’ этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‚Π°ΠΊΠΆΠ΅ находится ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ кэша , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ„Π°ΠΉΠ»Ρ‹, сгСнСрированныС каркасом для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ кэша ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² ΠΈ слуТб. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ config , ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· названия, содСрТит всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСго прилоТСния. Π­Ρ‚ΠΎ отличная идСя — ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ всС эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со всСми доступными Π²Π°ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… содСрТит ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π²Π°ΡˆΠΈΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ числа. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для хранСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQLite.

ΠžΠ±Ρ‰Π΅Π΄ΠΎΡΡ‚ΡƒΠΏΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

ΠžΠ±Ρ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит Ρ„Π°ΠΉΠ» index.php , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° для всСх запросов, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈ настраиваСт Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π’ этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‚Π°ΠΊΠΆΠ΅ хранятся ваши Π°ΠΊΡ‚ΠΈΠ²Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ изобраТСния, JavaScript ΠΈ CSS.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ рСсурсов

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ рСсурсов содСрТит ваши прСдставлСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅, нСскомпилированныС рСсурсы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CSS ΠΈΠ»ΠΈ JavaScript. Π’ этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‚Π°ΠΊΠΆΠ΅ находятся всС ваши языковыС Ρ„Π°ΠΉΠ»Ρ‹.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ routes содСрТит всС опрСдСлСния ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ² для вашСго прилоТСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Laravel Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²: web.php , api.php , console.php ΠΈ channels.php .

Π€Π°ΠΉΠ» web.php содСрТит ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ RouteServiceProvider ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния web , которая обСспСчиваСт состояниС сСанса, Π·Π°Ρ‰ΠΈΡ‚Ρƒ CSRF ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² cookie.Если вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ RESTful API Π±Π΅Π· сохранСния состояния, Ρ‚ΠΎ, скорСС всСго, всС ваши ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ web.php .

Π€Π°ΠΉΠ» api.php содСрТит ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ RouteServiceProvider ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния api . Π­Ρ‚ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ состояния, поэтому запросы, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· эти ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступа ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ сСанса.

Π’ Ρ„Π°ΠΉΠ»Π΅ console.php Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° основС закрытия. КаТдоС Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ привязано ΠΊ экзСмпляру ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‡Ρ‚ΠΎ обСспСчиваСт простой ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ этот Ρ„Π°ΠΉΠ» Π½Π΅ опрСдСляСт ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ HTTP, ΠΎΠ½ опрСдСляСт Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π° (ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹) Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС консоли.

Π’ Ρ„Π°ΠΉΠ»Π΅ channels.php Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΊΠ°Π½Π°Π»Ρ‹ вСщания событий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ . ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит ваши ΠΆΡƒΡ€Π½Π°Π»Ρ‹, скомпилированныС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Blade, сСансы Π½Π° основС Ρ„Π°ΠΉΠ»ΠΎΠ², кСши Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, сгСнСрированныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ. Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ , framework ΠΈ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ app ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для хранСния Π»ΡŽΠ±Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², созданных вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ framework ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ кэшСй, сгСнСрированных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.НаконСц, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ logs содСрТит Ρ„Π°ΠΉΠ»Ρ‹ ΠΆΡƒΡ€Π½Π°Π»ΠΎΠ² вашСго прилоТСния.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ storage / app / public ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ², созданных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π°Π²Π°Ρ‚Π°Ρ€Ρ‹ профиля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ общСдоступными. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку Π² public / storage , которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ссылку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ php artisan storage: link .

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ тСстов

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ tests содСрТит ваши Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ тСсты.ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… тСстов PHPUnit ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ тСстовый класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ суффикс Test . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ свои тСсты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ phpunit ΠΈΠ»ΠΈ php vendor / bin / phpunit . Или, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΈ красивоС прСдставлСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Π°ΡˆΠΈΡ… тСстов, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Artisan php artisan test .

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ поставщиков

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ vendor содСрТит ваши зависимости Composer.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ вашСго прилоТСния размСщаСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ app . По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ находится Π² пространствС ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ΄ App ΠΈ автоматичСски загруТаСтся Composer с использованиСм стандарта Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ PSR-4.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ app содСрТит мноТСство Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Console , Http ΠΈ Providers . Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Console ΠΈ Http ΠΊΠ°ΠΊ ΠΎ прСдоставлСнии API Π² ядрС вашСго прилоТСния.ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HTTP ΠΈ интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ взаимодСйствия с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ содСрТат Π»ΠΎΠ³ΠΈΠΊΠΈ прилоТСния. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это Π΄Π²Π° способа ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Console содСрТит всС ваши Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Http содСрТит ваши ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО ΠΈ запросы.

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ создано Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° app , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ make для создания классов.Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ app / Jobs Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make: job для создания класса задания.

{tip} МногиС классы Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ app ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрированы Artisan с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ доступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ php artisan list make Π² своСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ вСщания

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Broadcasting содСрТит всС классы ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π½Π°Π»ΠΎΠ² для вашСго прилоТСния.Π­Ρ‚ΠΈ классы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ make: channel . Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создадитС свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π½Π°Π». Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΊΠ°Π½Π°Π»Π°Ρ…, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ трансляции событий.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ консоли

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Console содСрТит всС настраиваСмыС Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для вашСго прилоТСния. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрированы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ make: command . Π’ этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ‚Π°ΠΊΠΆΠ΅ находится ядро β€‹β€‹Π²Π°ΡˆΠ΅ΠΉ консоли, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ваши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Artisan ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ваши Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ событий

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Artisan event: generate ΠΈ make: event. Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Events находятся классы событий. Бобытия ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для прСдупрСТдСния Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй вашСго прилоТСния ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ дСйствиС, обСспСчивая Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ развязку.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Exceptions содСрТит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ вашСго прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ мСстом для размСщСния Π»ΡŽΠ±Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, создаваСмых вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ваши ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Π²Π°ΠΌ слСдуСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ класс Handler Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Http

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Http содСрТит ваши ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ПО ΠΈ запросы Ρ„ΠΎΡ€ΠΌ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ вся Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° Π² этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ вакансий

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make: job .Π’ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Jobs хранятся задания Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ для вашСго прилоТСния. Задания ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ поставлСны Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ синхронно Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° запроса. Задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ синхронно Π²ΠΎ врСмя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ запроса, ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ шаблона ΠΊΠΎΠΌΠ°Π½Π΄.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Π΅ΠΉ

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ event: generate ΠΈΠ»ΠΈ make: listener .ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Listeners содСрТит классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ваши события. Π‘Π»ΡƒΡˆΠ°Ρ‚Π΅Π»ΠΈ событий ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ экзСмпляр события ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запускаСмоС событиС. НапримСр, событиС UserRegistered ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠΌ SendWelcomeEmail .

ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make: mail . ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Mail содСрТит всС ваши классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ элСктронныС письма, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю Π»ΠΎΠ³ΠΈΠΊΡƒ создания элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ простом классС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Mail :: send .

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Models содСрТит всС классы вашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ Eloquent. Eloquent ORM, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Laravel, прСдоставляСт ΠΊΡ€Π°ΡΠΈΠ²ΡƒΡŽ ΠΈ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ActiveRecord для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вашСй Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…. КаТдая Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ «МодСль», которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для взаимодСйствия с этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ.МодСли ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make: notification . ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Notifications содСрТит всС Β«Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅Β» увСдомлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ отправляСт вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простыС увСдомлСния ΠΎ событиях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ происходят Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Ѐункция ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Laravel абстрагируСтся ΠΎΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ элСктронная ΠΏΠΎΡ‡Ρ‚Π°, Slack, SMS ΠΈΠ»ΠΈ хранящиСся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make: policy . ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Policies содСрТит классы ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ для вашСго прилоТСния. ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ дСйствиС с рСсурсом.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ поставщиков

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

Π’ Π½ΠΎΠ²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Laravel этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ². ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ своих собствСнных ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π² этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΡ€Π°Π²ΠΈΠ»

Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ сущСствуСт ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ создан для вас, Ссли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Artisan-ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ make: rule .ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Rules содСрТит настраиваСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ для вашСго прилоТСния. ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для инкапсуляции слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² простой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ.

О структурировании PHP-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² - Никола Поша

ΠΠ΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° программирования являСтся Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΅Π³ΠΎ структурируСтС, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ источников Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, соглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… ΠΈ Ρ‚. Π”.По ΠΌΠ΅Ρ€Π΅ роста вашСго прилоТСния возрастаСт ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ структурирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв структура срСднСстатистичСского PHP-прилоТСния опрСдСляСтся ΠΈΠ»ΠΈ зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ структуры, Π° я ΠΏΡ€ΠΎΡ‚ΠΈΠ² этого.

Π‘Π΅Π· намСрСния Π±Ρ‹Ρ‚ΡŒ навязчивым ΠΈ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ прСдвзятого ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ, я подСлюсь с Π²Π°ΠΌΠΈ, ΠΊΠ°ΠΊ я Π΄ΡƒΠΌΠ°ΡŽ ΠΎΠ± ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² PHP.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ - это самоС Π²Π°ΠΆΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ говорят, ΠΈ ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ½Π΅ большС всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚:

  bin / # исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки
config / # Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
общСдоступныС / # Ρ„Π°ΠΉΠ»Ρ‹ Π²Π΅Π±-сСрвСра, рСсурсы
рСсурсы / # Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ рСсурсов
src / # Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ PHP
ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ / # Ρ„Π°ΠΉΠ»Ρ‹ просмотра ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°
тСсты / # тСстовый ΠΊΠΎΠ΄
  

Π­Ρ‚ΠΎ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни стандартно для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΈΡ… случаС вряд Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ public / ΠΈΠ»ΠΈ templates / .ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²: docs / , CHANGELOG , LICENSE , README . ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π² прилоТСниях.

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ эту структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² нСзависимым ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° , ΠΈ Π½Π° Π΅Π³ΠΎ основС ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… использовались Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Zend Expressive, Slim ΠΈ Laravel.

НСдавно я ΡƒΠ·Π½Π°Π», Ρ‡Ρ‚ΠΎ сущСствуСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° PHP-PDS, которая ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ стандарт для структуры ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² PHP.Π― Ρ€Π΅ΡˆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я Π²ΠΎΡΡ…ΠΈΡ‰Π°ΡŽΡΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΈ усилиями PHP-FIG. Π― Π±Ρ‹Π» Ρ€Π°Π΄ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ½ΠΎΠΉ соглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡƒ стандарту.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ PHP

Π§Ρ‚ΠΎ касаСтся прСдставлСнной структуры ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос: «А ΠΊΠ°ΠΊ насчСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° app /?Β», И ΠΌΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° это: Π½Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° app / , ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ . ВсС, ΠΊΡ€ΠΎΠΌΠ΅ src / , вносит Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ слоТности.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ PSR-4 ΠΈ Composer, всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ пространства ΠΈΠΌΠ΅Π½ . Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вмСсто app / controllers / Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ src / Controller / . Благодаря этому структура ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² становится простой ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ. Π’ΠΎ ΠΆΠ΅ самоС ΠΈ с Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Ρ‚ нСобходимости Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ настраиваСмом ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅. ЕдинствСнная Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° для composer.json выполняСт всю Ρ€Π°Π±ΠΎΡ‚Ρƒ:

  {
    "Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°": {
        "пср-4": {
            "MyApp \\": "src /",
        }
    }
}
  

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Π²Π΅Π½Ρ‡Π°Π»ΠΈ всС ΠΌΠΈΡ„Ρ‹ ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ исходныС ΠΊΠΎΠ΄Ρ‹ PHP, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈΡ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° src / , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ ΠΈ находится сок.

Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ Π°Ρ€Ρ…Π΅Ρ‚ΠΈΠΏΡƒ

РаспространСнная тСндСнция - ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ ΠΏΠΎ ΠΈΡ… Π°Ρ€Ρ…Π΅Ρ‚ΠΈΠΏΠ°ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  src /
    ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ /
    Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ/
    Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ /
    ΠžΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΠ΅/
  

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

Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ

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

Если ΠΌΡ‹ возьмСм простой Π²Π΅Π±-сайт элСктронной ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ всС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² соотвСтствии с этим ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ:

  src /
    ΠšΠΎΡ€Π·ΠΈΠ½Π° /
        ΠšΠΎΡ€Π·ΠΈΠ½Π°.php
        CartRepository.php
        CartRepositoryFactory.php
        CartService.php
        CartServiceFactory.php
    Π’ΠΎΠ²Π°Ρ€/
        Product.php
        ProductCategory.php
        ProductRepository.php
        ProductRepositoryFactory.php
        ProductService.php
        ProductServiceFactory.php
    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ/
        User.php
        UserRepository.php
        UserRepositoryFactory.php
        UserService.php
        UserServiceFactory.php
  

Π― Π½Π΅ особо вдавался Π² подробности Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… классов, интСрфСйсов ΠΈ Ρ‚. Π”., ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я Ρ…ΠΎΡ‚Π΅Π» ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π²Π΅Ρ‰Π΅ΠΉ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠ·Ρ€Π°Π·ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ сущСствуСт нСсколько сСрвисов, Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ Π°Ρ€Ρ…Π΅Ρ‚ΠΈΠΏΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅, , ввСсти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ»ΠΎΡΠΊΡƒΡŽ структуру, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΉΠΌΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. НапримСр, я Π²ΠΈΠΆΡƒ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ CLI (я люблю Symfony Console) Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… пространствах ΠΈΠΌΠ΅Π½:

  src /
    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ/
        HTTP /
            UserController.php
        CLI /
            CreateUserCommand.php
        User.php
        UserRepository.php
        UserRepositoryFactory.php
        UserService.php
        UserServiceFactory.php
  
ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

БущСствуСт большая Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ΄Π°, спСцифичного для Π΄ΠΎΠΌΠ΅Π½Π°, потрСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹ΠΉ, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° src / , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΆΡƒΡ€Π½Π°Π»Π° (хотя, скорСС всСго, ΠΎΠ½ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Monolog) , ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΈ Ρ‚. Π΄.Π­Ρ‚ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π½Π΅ являСтся Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ вашСй ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, ΠΎΠ½ Π½Π΅ спСцифичСн для вашСго прилоТСния ΠΈ, вСроятно, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ вашСго прилоТСния, Π° скорСС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

Π― Π²ΠΈΠ΄Π΅Π» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ вСсь ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ пространство ΠΈΠΌΠ΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ MyApp \ Framework ΠΈΠ»ΠΈ MyApp \ Common :

  src /
    ΠšΠΎΡ€Π·ΠΈΠ½Π° /
    Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ/
        РСгистратор /
        Кэш /
    Π’ΠΎΠ²Π°Ρ€/
    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ/
  

Π­Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π½ΠΎ я Π²ΠΈΠΆΡƒ Π² этом ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ нСдостаток, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связан Π½Π΅ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ влияСт Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, содСрТащСС этот ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π° с самим ΠΊΠΎΠ΄ΠΎΠΌ.ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΈΠ΄Π΅Π°Π»Π΅ этот ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈ усилия ΠΏΠΎ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ избавлСния ΠΎΡ‚ этой Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Β«FrameworkΒ» ΠΈΠ»ΠΈ Β«CommonΒ» части пространства ΠΈΠΌΠ΅Π½, Ρ‡Ρ‚ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния всСх ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ классов. , Π½ΠΎ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π°ΠΈ.

По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ я Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ сам ΠΊΠΎΠ΄ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½. Π§Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ Π² этом ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, Ρ‚Π°ΠΊ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ имя для пространства ΠΈΠΌΠ΅Π½ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня. MyApp , Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния извлСчСния ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ пространства ΠΈΠΌΠ΅Π½ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π±Ρ€Π΅Π½Π΄Π° ΠΈΠ»ΠΈ, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅, вашС собствСнноС имя. Π§Ρ‚ΠΎ касаСтся части пространства ΠΈΠΌΠ΅Π½ ΠΊΠΎΠ΄Π° Π΄ΠΎΠΌΠ΅Π½Π°, ΠΎΠ½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Eshop , Π½ΠΎ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для этих Ρ†Π΅Π»Π΅ΠΉ ΠΎΠ±Ρ‰Π΅Π΅ слово - Domain :

  src /
    Кэш /
    Π”ΠΎΠΌΠ΅Π½/
        ΠšΠΎΡ€Π·ΠΈΠ½Π° /
        Π’ΠΎΠ²Π°Ρ€/
        ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ/
    РСгистратор /
  

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ пространства ΠΈΠΌΠ΅Π½, ΠΊΠ°ΠΊ Company \ Cache ΠΈ Company \ Domain \ User .Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ это ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΠ΅ кэша Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ пространства ΠΈΠΌΠ΅Π½ Π½Π΅ трСбуСтся.

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мысли

Код мСстополоТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным ΠΈ быстрым. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ структурированиС прилоТСния экономит массу Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ усилий Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π‘ΡƒΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ:

  • НС позволяйтС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ Π΄ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²
  • Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ всС источники PHP Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ src /
  • Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ, Π° Π½Π΅ ΠΏΠΎ Π°Ρ€Ρ…Π΅Ρ‚ΠΈΠΏΡƒ
  • НС ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΌΠ΅Π½ ΠΈ ΠΊΠΎΠ΄ ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния

Как ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ основныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ PHP? | by Shuvojit Sarkar

Π£ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ 2018 Π³ΠΎΠ΄, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ соврСмСнных Π²Π΅Π±-сайтов, написанных Π½Π° PHP, написаны Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ MVC ΠΈΠ»ΠΈ MVT, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстными ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Laravel ΠΈ CodeIgniter, Laravel - ΠΌΠΎΠΉ Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°Π²ΠΎΡ€ΠΈΡ‚.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я знаю, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с PHP, ΠΈ, хотя ΠΎΠ½ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ идСю Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ PHP, я Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΠΎΡ€ΡŽΡ‚ΡΡ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ PHP Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТно (Ссли Π²Ρ‹ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π»ΠΈ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ).

Π—Π° Π³ΠΎΠ΄Ρ‹ написания ядра PHP ΠΈ использования Ρ‚Π°ΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠ°ΠΊ Laravel ΠΈΠ»ΠΈ CodeIgniter, я Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» нСсколько Ρ‚Π΅Ρ…Π½ΠΈΠΊ ΠΈΠ»ΠΈ Ρ…Π°ΠΊΠΎΠ², Ссли Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΌΠ½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ основной ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ PHP Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Ρ‚ΠΎ я объясню Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ.

Π‘Π½Π°Ρ‡Π°Π»Π° Π±ΡƒΠ΄Π΅Ρ‚ структура ΠΏΠ°ΠΏΠΎΠΊ, я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° 4 ΠΏΠ°ΠΏΠΊΠΈ.

. 
β”œβ”€β”€ assets /
β”œβ”€β”€ helpers /
β”œβ”€β”€ views /
β”œβ”€β”€ process /
β”œβ”€β”€ .htaccess
└── index.php
  • assets: Π­Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ рСсурсов , изобраТСния, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ JavaScript, ΠΈ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ТСсткоС ядро, создайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Ρ‚ΠΎ я Π»ΠΈΡ‡Π½ΠΎ дСлаю.
  • просмотров: Π­Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ php, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ «прСдставлСния», Ρ‡Ρ‚ΠΎ Π² основном ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈΠ»ΠΈ Π²Π΅Π±-страницу.
  • процСсс: эта ΠΏΠ°ΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС процСссы, Ρ‡Ρ‚ΠΎ Π² основном ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΎΡ€ΠΌ процСссов. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ эти Ρ„Π°ΠΉΠ»Ρ‹ трСхэтапным процСссом: Π²Π²ΠΎΠ΄> процСсс> ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.
  • ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ: Π­Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, самый большой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ писали mysqli_connect () ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² большом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π² 20 Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…? Π£ мСня Π΅ΡΡ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ дальшС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· пСрСчислСнных Π²Ρ‹ΡˆΠ΅ ΠΏΠ°ΠΏΠΎΠΊ.

Один ΠΈΠ· ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ сСбС Тизнь, - это использованиС ΠΏΠΎΠ΄Π²ΠΈΠ΄ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС, ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» прСдставлСния.

Π˜Ρ‚Π°ΠΊ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создаСм Π±Π»ΠΎΠ³, Π° Π²Π΅Π±-страница ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ», Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ», Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ части Π²Π΅Π±-сайта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ, Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»Π΅ ΠΈ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ это ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ include () .

ПослС воссоздания структуры ΠΏΠ°ΠΏΠΎΠΊ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

. 
β”œβ”€β”€ assets
β”œβ”€β”€ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ
β”œβ”€β”€ process
β”œβ”€β”€ views
β”‚ └── sub-views
β”‚ β”œβ”€β”€ footer.php
β”‚ β”œβ”€β”€ header.php
β”‚ └── sidebar .php
β”œβ”€β”€ .htaccess
└── index.php
И для использования ΠΏΠΎΠ΄Π²ΠΈΠ΄ΠΎΠ² Π² индСксС .php ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ», ΠΌΡ‹ напишСм Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ этого.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с этим ΠΊΠΎΠ΄ΠΎΠΌ, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ прСдставлСний. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ссылка Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… прСдставлСний Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π§Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² качСствС дСшСвого Π²Π·Π»ΠΎΠΌΠ°, Ρ‚Π°ΠΊ это просто ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с views / sub-views / footer.php Π½Π° sub-views / footer.php .

Но ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ большС тСхничСских спСциалистов, поэтому ΠΌΡ‹ постараСмся Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь процСсс. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ² .

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

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ эта функция, ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π° Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, скаТСм, header.php , Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ для этого Ρ„Π°ΠΉΠ»Π° ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ, поэтому нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΌΡ‹ всСгда ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ __DIR__ для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ², Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ, это ../ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ мСняСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ прСдставлСниям / sub-views / , Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ имя Ρ„Π°ΠΉΠ»Π°.

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

Выглядит Ρ‡ΠΈΡ‰Π΅, Ρ‡Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅, ΠΏΡ€Π°Π²Π΄Π°? ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° include_once Π²Π²Π΅Ρ€Ρ…Ρƒ страницы, ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ написали Π² Ρ„Π°ΠΉΠ»Π΅.

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» - это мСсто, Π³Π΄Π΅ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ динамичСскому Π²Π΅Π±-сайту. Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим conn.php Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠ².

. 
β”œβ”€β”€ assets
β”œβ”€β”€ helpers
β”‚ β”œβ”€β”€ conn.php
β”‚ └── helper.php
β”œβ”€β”€ process
β”œβ”€β”€ views
β”‚ └── sub-views
β”‚ β”œβ”€β”€ footer .php
β”‚ β”œβ”€β”€ header.php
β”‚ └── sidebar.php
β”œβ”€β”€ .htaccess
└── index.php
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ conn.php Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ запроса, ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ выполняСт запрос, Π½ΠΎ ΠΈ автоматичСски ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ошибки ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

Одна Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок, самая ваТная Ρ‡Π°ΡΡ‚ΡŒ написания core php - это ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° всСх ошибок.

ВсСгда ΠΎΠΆΠΈΠ΄Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ошибкС!

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» прСдставлСния / процСсса, Π½Π°ΠΌ придСтся снова Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ include_once ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΈ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

   'helper / helper.php'; 
'helper / conn.php';

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π΅ΠΌ ΠΎ долгосрочной пСрспСктивС, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ это большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΉΡ‚ΠΈ.

Π’ΠΎ врСмя программирования всСгда заставляйтС сСбя Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ большС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вашС Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ ΠΌΠΎΠ³Π»ΠΎ Ρ€Π°ΡΡΠ»Π°Π±ΠΈΡ‚ΡŒΡΡ, добавляя Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ исправляя ошибки.

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ тысячи Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… строк ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ init.php Π²ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ всС Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ этот init.php ΠΏΠΎΠ²Π΅Ρ€Ρ… всСх Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊΠΎ всСм Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈ Ссли Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² init.php , ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ.

. 
β”œβ”€β”€ Π°ΠΊΡ‚ΠΈΠ²Ρ‹
β”œβ”€β”€ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ
β”‚ β”œβ”€β”€ conn.php
β”‚ β”œβ”€β”€ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ.php
β”‚ └── init.php
β”œβ”€β”€ process
β”œβ”€β”€ views
β”‚ └── sub-views
β”‚ β”œβ”€β”€ footer.php
β”‚ β”œβ”€β”€ header.php
β”‚ └── sidebar. php
β”œβ”€β”€ .htaccess
└── index.php
init.php Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

Π₯отя это Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΠ½ΠΊΠΈΡ… способов Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ объСм Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΠ½ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, поэтому Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ долгосрочной пСрспСктивС. , Π΄ΡƒΠΌΠ°ΠΉ ΠΎ своСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΈ Π±ΡƒΠ΄ΡŒ творчСским!

Если этот пост ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ достаточно внимания, я подСлюсь с Π²Π°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ сопровоТдСниС ΠΊΠΎΠ΄Π°.

Если Π²Π°ΠΌ понравился этот пост, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ πŸ‘ Π½ΠΈΠΆΠ΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

PHP ΠΏΡ€ΠΎΡ‚ΠΈΠ² HTML: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π² 2020 Π³ΠΎΠ΄Ρƒ

PHP - это язык сцСнариСв, Π° HTML - это язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. HTML опрСдСляСт ΠΎΠ±Ρ‰ΡƒΡŽ структуру ΠΈ содСрТимоС Π²Π΅Π±-страницы, Π° PHP прСдоставляСт динамичСскоС содСрТимоС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сцСнариСв. PHP ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся сСрвСрным языком, Π° HTML - клиСнтским.


Когда Π²Ρ‹ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π²Π΅Π±-сайтов, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΠΎΡˆΠ΅Π»ΠΎΠΌΠ»Π΅Π½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ языками ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ.PHP ΠΈ HTML, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, каТутся ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ, ΠΈ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ…, часто Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π—Π½Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ PHP, Ρ‚Π°ΠΊ ΠΈ HTML являСтся практичСски ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² всСх мастСй. ПониманиС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠ· сСбя ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ соврСмСнный Π²Π΅Π±-ΠΌΠΈΡ€ вращался Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ внСсти свой Π²ΠΊΠ»Π°Π΄ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ PHP ΠΈ HTML-ΠΊΠΎΠ΄Π°.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ HTML?

HTML ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Matrix, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π·Π΅Π»Π΅Π½Ρ‹ΠΉ ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΉ.

Π”Π°ΠΆΠ΅ люди с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ знаниями ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π΅Π±-страницы, ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎΠ± HTML. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй Π½Π΅ удивятся, ΡƒΠ·Π½Π°Π², Ρ‡Ρ‚ΠΎ HTML - популярноС срСдство создания Π²Π΅Π±-страниц.Но Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ прСдставляСт собой таинствСнная Π²Π΅Ρ‰ΡŒ, называСмая HTML, ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ ΠΎΠ½Π° создаСт ваши страницы с Ρ„Π°Π½-Π°Ρ€Ρ‚ΠΎΠΌ, сообщСния Π² Π±Π»ΠΎΠ³Π°Ρ… ΠΈ бизнСс-сайты?

НайдитС свой ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ Π»Π°Π³Π΅Ρ€ΡŒ Match