Преглед садржаја
Иии је оквир написано на пхп -у како би развој пословних веб апликација био агилнији и стандарднији. Његова архитектура заснована на компонентама, веома је погодна за развој апликација које морају подржати велики промет, које захтевају стандардне и добро документоване развојне методе, овај оквир се користи за било коју веб апликацију као што су портали, системи за управљање пословањем, управљање садржајем система (ЦМС), веб странице за е -трговину.Неке функције у поређењу са другим оквирима
Користите образац МВЦ (модел / приказ / контролер)За разлику од других оквира, он раздваја сваку компоненту у фасцикле ради бољег редоследа и одржавања.
- Генерисање кода: Иии може генерисати ЦРУД код из табеле базе података, стварајући упите, листе и обрасце.
- Интегрисана подршка за јКуери и Боотстрап
- Уграђене методе контроле приступа аутентификације и ауторизације улога
- Укључује систем безбедности и спречавања напада изван мреже.
- Подржава виџете и додатке које је развила заједница
- Подржава употребу шаблона за дизајн
Инсталација Иии Фрамеворк -а
Постоје две верзије Иии, једна основна и једна напредна. У основној верзији, корисничке датотеке и администраторске датотеке су заједно, у напредној верзији су одвојене у две фасцикле као независни системи Предњи крај И Бацкенд
Да бисмо инсталирали Иии 2.0, морамо преузети датотеке са веб странице Иии Фрамеворк 2.0 са следећег УРЛ -а Иии 2.0 Басиц и Иии 2.0 Адванцед.
Након преузимања отпакујемо датотеку и копирамо напредну фасциклу на наш локални сервер и преименујемо је у назив нашег веб пројекта, у овом случају то називамо ииидемо.
Затим с терминала морамо инсталирати датотеке структуре веба за ово извршавамо сљедеће:
судо пхп инитПитаће нас да ли желимо да га покренемо у режиму развоја или производње, изабраћемо развој, а затим потврдити, тако да ће бити копирана сва потребна подразумевана структура.
Ако одемо на веб фасциклу ииидемо, видећемо да је инсталирано неколико фасцикли и две које ће садржати позадинске веб датотеке за администратора и сучеље за јавни веб.
Бацкенд можемо видети у прегледачу са УРЛ -а:
хттп: // лоцалхост / ииидемо / бацкенд / веб /
Такође можемо видети кућни шаблон:
хттп: // лоцалхост / ииидемо / фронтенд / веб /
ЕНЛАРГЕ
Као што видимо, има неке узорке страница, али пријава или регистрација корисника нису функционални јер се не повезују ни са једном базом података, али служе као база кода за почетак, а дизајн је прилагодљив.Затим ћемо креирати базу података од пхпмиадмина којој ћемо дати име ииидемодб.
Табела за администратора ће имати следећу структуру
- Структура табеле за табелу `администратор` - ЦРЕАТЕ ТАБЛЕ ИФ НОТ ЕКССТС` администратор` (` ид` тиниинт (3) НОТ НУЛЛ, `усер` варцхар (50) ДЕФАУЛТ НУЛЛ,` кеи` варцхар (50) ДЕФАУЛТ НУЛЛ, `емаил `варцхар (100) ДЕФАУЛТ НУЛЛ) ЕНГИНЕ = МиИСАМ АУТО_ИНЦРЕМЕНТ = 2 ЗАДЊА ЦХАРСЕТ = латин1; - - Избаци податке за табелу `администратор` - ИНСЕРТ ИНТО` администратор` (` ид`, `усер`,` пассворд`, `емаил`) ВРЕДНОСТИ (1, 'админ', 'админ', 'демо@гмаил.цом '); Затим ћемо морати да конфигуришемо повезивање базе података са Иии. За ово идемо у / цоммон / цонфиг фасциклу и отворимо датотеку маин_лоцал.пхп, овде ће бити уобичајене конфигурације и за позадину и за предњи 'иии \ дб \ Цоннецтион ',' дсн '=>' мискл: хост = лоцалхост; дбнаме = ииидемодб ',' усернаме '=>' роот ',' пассворд '=>' ',' цхарсет '=>' утф8 ',]; ?> вар13 ->Затим ћемо морати да направимо модел, контролер и поглед администратора, за то ћемо користити УРЛ: хттп: // лоцалхост / иии… индек.пхп? Р = гии
Након што сте дефинисали коју табелу желимо да генеришемо модел, кликните на дугме Превиев да видите како би датотека изгледала, а затим на Генерате за генерисање кода.
Затим идемо на Цруд генератор за креирање кода и приказа, контролера и минималних функционалности за интеракцију са табелом. ЦРУД је акроним за Креирај, Набави, Ажурирај и Избриши.
У грудима ћемо морати да дефинишемо руте модела и контролера који ће бити креирани, такође можемо додати модел за претраге.
Класа модела: бацкенд \ моделс \ Администратор
Претражите класу модела: бацкенд \ моделс \ Администратор \ Администратор Сеарцх
Класа контролера: бацкенд \ цонтроллерс \ АдминистраторЦонтроллер
Затим притиснемо Превиев и Генерате
Затим можемо тестирати сировину коју генеришемо са следећег УРЛ -а
хттп: // лоцалхост / иии … р = администратор
Затим идемо у \ бацкенд \ цонфиг фасциклу и отварамо датотеку маин.пхп, где ћемо изменити следећу линију кода:
'идентитиЦласс' => 'уобичајени \ модели \ Корисник'Мењамо се за наш модел администратора
'идентитиЦласс' => позадина \ модели \ АдминистраторУказујемо да ћемо за пријављивање на позадину користити модел администратора који се налази на наведеној путањи.
Затим идемо у заједничку фасциклу \ моделс и копирамо датотеку ЛогинФорм.пхп у позадинску фасциклу \ моделс, на овај начин одвајамо податке за пријављивање који су у заједничком облику за позадину и сучеље.
Контролер који позива пријаву је СитеЦонтроллер.пхп.пхп, морамо отворити датотеку и изменити ред:
користите заједничке \ моделс \ ЛогинФорм;На линији:
користите позадину \ моделс \ ЛогинФорм;На овај начин, када се образац пошаље, он ће тражити ЛогинФорм.пхп у бацкенд \ моделс \ Администратор како смо горе дефинисали.
Затим морамо изменити образац за пријављивање да бисмо га прилагодили моделу администратора на следећи начин:
гетУсер (); иф (! $ усер ||! $ усер-> валидатеПассворд ($ тхис-> пассворд)) {$ тхис-> аддЕррор ($ аттрибуте, 'Погрешно корисничко име или лозинка.'); }} јавна функција логин () {иф ($ тхис-> валидате ()) {ецхо 'хелло'; ретурн Иии :: $ апп-> усер-> логин ($ тхис-> гетУсер (), $ тхис-> ремемберМе? 3600 * 24 * 30: 0); } елсе {ретурн фалсе; }} // функција која тражи корисника помоћу функције заштићене корисничким именом гетУсер () {иф ($ тхис -> _ усер === нулл) {// ако постоји, добија низ са свим подацима $ тхис -> _ усер = Администратор :: финдБиУсернаме ($ тхис-> корисничко име); } врати $ тхис -> _ усер; }}?> вар13 ->Затим мењамо генерисани модел администратора и додаћемо ИдентитиИнтерфаце што је класа која пружа различите напредне безбедносне функције за контролу приступа. У овом случају наш пример је једноставан, али морамо их применити чак и ако их не користимо.
50], [['емаил'], 'стринг', 'мак' => 100]]; } // Поља табеле јавна функција аттрибутеЛабелс () {ретурн ['ид' => 'ИД', 'корисник' => 'Корисник', 'лозинка' => 'Лозинка', 'емаил' => 'Е -пошта',]; } // предефинисана функција у ИдентитиИнтерфаце за проналажење корисника по имену јавна статичка функција финдБиУсернаме ($ усернаме) {ретурн статиц :: финдОне (['усер' => $ усернаме]); } / предефинисана функција у ИдентитиИнтерфаце за тражење кључне јавне функције валидатеПассворд ($ пассворд) {ретурн статиц :: финдОне (['кеи' => $ пассворд]); } // предефинисана функција у ИдентитиИнтерфаце за проналажење корисника по ид -у јавна статичка функција финдИдентити ($ ид) {ретурн статиц :: финдОне ($ ид); } // предефинисана функција у ИдентитиИнтерфаце -у за претрагу корисника помоћу маркера или токена јавна статичка функција финдИдентитиБиАццессТокен ($ токен, $ типе = нулл) {// врати статиц :: финдОне (['аццесс_токен' => $ токен]); } // Враћа јавну функцију корисничког ИД-а гетИд () {ретурн $ тхис-> ид; } // Враћа кључ који се може користити за проверу ваљаности јавне јавне функције ИД гетАутхКеи () {// враћа $ тхис-> аутх_кеи; } // Потврђујемо кључ враћен претходном функцијом. јавна функција валидатеАутхКеи ($ аутхКеи) {// врати $ тхис-> гетАутхКеи () === $ аутхКеи; }}Затим морамо да променимо распоред у позадини \ виев \ лаиоут, отворимо датотеку маин.пхп
Тражимо редове кода:
// Мењамо назив веба Моја компанија НавБар :: бегин (['брандЛабел' => 'Моја компанија', 'брандУрл' => Иии :: $ апп-> хомеУрл, 'оптионс' => ['цласс' => 'навбар-инверсе навбар-фикед-топ',],]); 'брандЛабел' => 'Моја компанија', Прелазимо на 'брандЛабел' => 'Моја Иии демонстрација', // Ако сам пријављен, показујем везу Пријава ако (Иии :: $ апп-> корисник-> исГуест) {$ менуИтемс [] = ['лабел' => 'Пријава', 'урл' => [' / сите / логин']]; } елсе {// Ако нисам, приказаћу друге везе у менију $ менуИтемс [] = ['лабел' => 'Одјава ('. Иии :: $ апп-> усер-> идентити-> корисничко име. ' ) ',' урл '=> [' / сите / логоут '],' линкОптионс '=> [' дата-метход '=>' пост ']]; }Овде мењамо корисника
'лабел' => 'Одјава ('. Иии :: $ апп-> усер-> идентити-> усернаме. ')',Мењамо се за наше поље корисника
'лабел' => 'Одјава ('. Иии :: $ апп-> усер-> идентити-> усер. ')',Коначно се можемо пријавити:
хттп: // лоцалхост / про… мо / бацкенд / веб /
- Корисник админ
- Кључ админ
ЕНЛАРГЕ
Главна страница је измењена из \ бацкенд \ виевс \ сите.У другом водичу ћемо видети како променити дизајн главне странице, креирати меније, повезати странице и додати функционалности. Будите пажљиви и пратите ме ако сте заинтересовани.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен