В предишните постове, ние сме разработили минимална структура на рамката. В тази статия, ние се движат малко гланц - добавете една проста тема с bootstrap'om, менюта, и по-отблизо работата на шаблон и рутер (сайт на рутера).
В последната статия, ние създадохме рутер. който е с помощта на логиката на регулярни изрази признава входящо SEF връзка и насочва желания контролер и неговия метод.
Т.е. на такава линия
Router прави масив
Ние не за последен път да се напише един пример за използването на такива решения. За да се оправят, но преди това ще се промени рутера.
Носим редица правила в рамките на рутера конфигурационен файл. Този масив ще запълни разработчиците, които ще пишат на нашия сайт рамка. Поради това следва да бъде възможно най-достъпно.
Също така, можете да видите, че сме се променили от дясната страна на масива.
Направете промени в кода на рутер. и след това се анализира ефективността му.
Първо попълнете масив от стойности за umolchantyu изходни данни, които ние вземат от нашия config.php. Тогава ние разбор пътя на въвеждане $ за наличие на получите променливи. Ако е така, тогава те просто трябва да добавите към изхода на масив. parse_url - споделя адреса в компоненти. Един от тези компоненти е заявка. Това е всичко, което е в него след въпросителния знак
Този ключ = стойност параметър низ от своя страна прави разбор на функция parse_str
С низ на заявката част разбрах, сега с помощта на правилата на регулярни изрази, изберете пътя на необходимите данни.
На линия 12, можем да видим през всички правила от довереник. На 13 проверка - дали друго правило съвпада. Ако отговорът е да, тогава ние се масива резултати и последователно замени неговите елементи - от дясната страна на правилото.
Обикновено работи "([а-Z0-9 + _ \ -] +) / ([а-Z0-9 + _ \ -] +) / ([0-9] +) '=>' $ контролер / $ действие / $ номер ",
След това, масив на резултатите от прилагането й към лявата страна на входния низ / потребител / профил / 15 ще бъде масив
Разглеждане на този масив започвайки с втория елемент се заменя от дясната страна на правило $ контролер / $ действие / $ бутоните ID $ ([A-Z] +)
Т.е. по линия 14, всеки път, когато на мястото на дясната ръка на правилото се променя непрекъснато, така че
На пръв поглед - това е безсмислено актове. Какво ред е празен входния / потребител / профил / 15 а и да се прилагат правилата за излизане
Но това е само на пръв поглед. На изхода сме стандартизиран на URI, които се взривят прилагане операция, ние получаваме в първия елемент от името на контролера, а вторият - на метода в настърган - ID
За по-голяма яснота, за да добавите към края на масива на правилата в config.php, обикновено
В резултат на това правило, нашият рутер lyubuy искане HTML страница (например /about.html без контролер и метод), изпрати на страница контролер и начин за четене на, и в параметъра номер ще се подредят около
Ние използваме този пример, за да създадете блог на базата на нашата рамка. Въпреки това, на първо място, за да се подобри шаблона
темплейт
За да започнете да си направите шаблон за нашата рамка, ние potrbuetsya налага никакъв HTML страница. Например, вземете безплатен тема с butsrapa сайт
Натиснете Ctrl + U в браузъра си и просто да копирате всички от изходния код в viws / 'main.php' файла - това е шаблон. Но тя все още трябва да бъде финализирана. Изтриване на всички стилове на връзката и скриптове, чрез HTML код. Ние ще се свърже с необходимите скриптове чрез PHP. Това дава известна увереност, че във всеки шаблон винаги ще бъде набор от вашите рамкови файлове, независимо от това дали им програмист използва в оформлението.
За стилове и скриптове в основата на проекта създадете папка. Често по-нататък активи. и подпапки - CSS - за стилове, JS - за скриптове и изображения - за изображения. В този случай, последната папка, която искате да използвате само тези изображения, които са участвали в проектирането на обекта, а не в пълненето му. За плънката е по-добре да се разпределят отделна директория - медийни / изображения в схемата на сайта.
Ние пропуснете фърмуера свеж и последна JQuery. Сложете ги в папка активи / JS / LIBS /. Други стилове нишки трябва да си изтеглите.
Всички стилове и скриптове са в техните папки, но как да ги свързват. В нашия шаблон двигател не разполага с такива практики. Те трябва да се напише. Добавете ги ние ще бъдем в идеална / класове / controller.php файл. Добавете следните методи
- частен функция addAsset ($ връзка, $, където = 'главата', $ актив = 'скрипт ", $ тип =" URL ")
- обществена функция addScript ($ връзка, $, където = 'главата')
- обществена функция addStyleSheet ($ връзка, $, където = 'главата')
- обществена функция addScriptDeclaration ($ връзка, $, където = 'главата')
- обществена функция addStyleSheetDeclaration ($ връзка, $, където = 'главата')
Ние трябва да се напише код за метод addAsset, като всички други методи - предизвикателство addAsset с различни параметри, и са направени повече за удобство.
Добави в клас следващото поле
Тя ще се съхранява информация за всички свързани стилове и скриптове. Следваща addAsset код
$ Hash - се изчислява само за да не се свържете със страницата на един и същ скрипт два пъти. $ Къде - е място, където се свързваме скриптове. преди или преди