макалалар

Laravel деген эмне, ал кантип иштейт жана WEB тиркемелерин түзүү үчүн негизги архитектура

Laravel – бул жөнөкөй, бирок күчтүү синтаксистерди колдонуу менен жогорку деңгээлдеги веб-тиркемелерди куруу үчүн PHP негизиндеги веб алкак.

Laravel PHP алкагы инструменттердин катуу жыйнагы менен келет жана өндүрүлгөн тиркемелерди архитектура менен камсыз кылат. Бул MVC архитектурасын колдонгон ачык булактуу PHP алкагы:

  • Алкактык: бул программист колдонгон методдордун, класстардын же файлдардын жыйындысы, ошондой эле өзүнүн кодун колдонуу менен алардын функцияларын кеңейте алат.
  • Архитектура: алкак ээрчиген конкреттүү дизайн үлгүсү. Laravel MVC архитектурасын ээрчийт.

mvc

Акроним үч тамгадан турат, мааниси төмөнкүдөй:

  • M: Калып. Модель - бул маалымат базасы менен иштеген класс. Мисалы, эгерде бизде тиркемеде колдонуучулар болсо, анда бизде колдонуучулардын таблицасын сураган колдонуучулар модели болот, эгерде бизде колдонуучулардын модели болсо, анда бизде колдонуучулардын таблицасы да болот.
  • V: Көрүү. Көрүнүш - бул браузердеги тиркеме жөнүндө биз көрө алган нерселердин бардыгына кам көрүүчү класс.
  • C: Контроллерлор. Контроллер - бул модельге да, көрүнүшкө да кам көргөн ортомчу. Контроллер - бул моделден маалыматтарды алып, аны көрүү классына жөнөтүүчү класс.

Артыкчылыктары жана өзгөчөлүктөрү

Авторизациялоо жана аутентификация системаларын түзүү

Ар бир веб-тиркеме ээси уруксатсыз колдонуучулар корголгон ресурстарга кирбейт деп ишениши керек. Laravel аутентификацияны ишке ашыруунун оңой жолун камсыз кылат. Ал ошондой эле авторизациялоо логикасын уюштуруунун жана ресурстарга жетүүнү көзөмөлдөөнүн оңой жолун камсыз кылат.

Куралдар менен интеграция

Laravel тезирээк колдонмо жараткан көптөгөн куралдар менен бириктирилген. Бул колдонмону түзүү үчүн гана эмес, ошондой эле тезирээк колдонмо түзүү үчүн зарыл. Кэш бэкенддери менен интеграциялоо веб-тиркеменин иштешин жакшыртуунун негизги кадамдарынын бири болуп саналат.Laravel Redis жана Memcached сыяктуу кээ бир популярдуу кэш бэкенддери менен интеграцияланган.

Почта кызматын интеграциялоо

Laravel почта кызматы менен интеграцияланган. Бул кызмат эскертме электрондук каттарын жөнөтүү үчүн колдонулат. Бул таза жана жөнөкөй API менен камсыз кылат, ал сизге тез жерде же булутка негизделген кызмат аркылуу электрондук почтаны жөнөтүүгө мүмкүндүк берет.

Сыноо автоматташтыруу

Продукцияны тестирлөө программалык камсыздоо катасыз, мүчүлүштүктөрсүз жана бузулууларсыз иштеши үчүн - жаңы версия чыккан сайын абдан маанилүү. Биз билебиз, автоматташтырылган тестирлөө кол менен тестирлөөгө караганда азыраак убакытты талап кылат, айрыкча регрессиялык эмес тестирлөө үчүн. Laravel да тестирлөө менен иштелип чыккан.

Бизнес-логикалык кодду презентация кодунан бөлүү

Бизнес-логикалык код менен презентация кодунун бөлүнүшү HTML макетинин дизайнерлерине иштеп чыгуучулар менен иштешпей эле көрүнүшүн жана сезимин өзгөртүүгө мүмкүндүк берет. Эгер бизнес логикалык коду (Controller) менен презентация коду (Көрүү) бөлүнсө, ката иштеп чыгуучулар тарабынан тезирээк оңдолот. Биз Ларавел MVC архитектурасына ылайык экенин билебиз, ошондуктан бөлүү маанилүү.

Эң кеңири таралган техникалык кемчиликтерди оңдоо

Laravel бул коопсуз алкак, анткени ал веб-тиркемени бардык коопсуздук кемчиликтеринен коргойт. Аялуу желе тиркемесин иштеп чыгуудагы эң маанилүү аспектилердин бири. Америкалык уюм OWASP Foundation, defiSQL инъекциясы, сурамдарды жасалмалоо, скрипт түзүү ж.б.у.с.

CRON: конфигурациялоо жана башкаруу иш-чараларын пландаштыруу

WEB тиркемелери тапшырмаларды өз убагында пландаштыруу жана аткаруу үчүн ар дайым тапшырмаларды пландаштыруу механизмдерин талап кылат. Мисалы, качан жазылуучуларга электрондук каттарды жөнөтүү керек же күндүн аягында маалымат базасынын таблицаларын качан тазалоо керек. Тапшырмаларды пландаштыруу үчүн, иштеп чыгуучулар ар бир тапшырма үчүн Cron жазуусун жана Laravel буйрук пландоочусун түзүшү керек defiкомандалык пландаштырууну аяктайт.

Laravel долбоорун түзүү

Биринчи Laravel долбоорун түзүү үчүн, сизде болушу керек Composer орнотулган. Эгер ал сиздин машинаңызда жок болсо, аны биздин макалада сүрөттөлгөндөй орнотууну улантыңыз композитор.

Андан кийин жаңы Laravel долбооруңуз үчүн тутумуңузда жаңы каталогду түзүңүз. Андан кийин, жаңы каталогду түзгөн жолго өтүп, долбоор түзүү буйругун иштетиңиз composer create-projectтөмөнкү буйрукту терүү менен:

composer create-project laravel/laravel myex-app

Бул буйрук (версия 9.x) аталган долбоорду түзөт myex-app

Же жаңы долбоорлорду түзө аласыз Laravel глобалдык орнотуучу орнотуу Laravel кайра иштетүү Composer:

Инновациялык бюллетень
Инновация боюнча эң маанилүү жаңылыктарды өткөрүп жибербеңиз. Аларды электрондук почта аркылуу алуу үчүн катталыңыз.
composer global require laravel/installer
laravel new myex-app

Долбоорду түзгөндөн кийин, буйрукту колдонуу менен жергиликтүү Laravel өнүктүрүү серверин баштаңыз serve Dell "Artisan CLI of Laravel:

php artisan serve

Иштеп чыгуу серверин баштагандан кийин Artisan, сиздин колдонмоңуз веб браузериңизде жеткиликтүү болот http://localhost:8000. Эми сиз колдонууга даярсыз Laravel. Албетте, сиз да маалымат базасын түзүүнү кааласаңыз болот.

Ларавелдеги колдонуу структурасы

Laravel структурасы негизинен долбоорго камтылган папкалардын, папкалардын жана файлдардын структурасы. Laravelде долбоор түзүлгөндөн кийин, биз Laravel тамыр папкасынын сүрөтүндө көрсөтүлгөндөй, тиркеменин түзүмүн көрө алабыз:

Config

Конфигурация папкасында Laravel тиркемесинин туура иштеши үчүн зарыл болгон конфигурациялар жана тиешелүү параметрлер бар. Конфигурация папкасына камтылган ар кандай файлдар төмөндөгү сүрөттө келтирилген. Файл аттары конфигурация чөйрөсүн билдирет.

маалыматтар базасы

Бул каталог маалымат базасынын иштеши үчүн ар кандай параметрлерди камтыйт. Ал үч подкаталогду камтыйт:

  • Уруглар: бирдикти тести базасы үчүн колдонулган класстарды камтыйт;
  • Миграциялар: бул папка тиркеме менен DB түзүмүн түзүү жана тегиздөө үчүн колдонулат;
  • Фабрикалар: Бул папка көп сандагы маалымат жазууларын түзүү үчүн колдонулат.
коомдук

Бул Laravel тиркемесин инициализациялоого жардам берген түпкү папка, б.а. колдонмонун башталышы. Төмөнкү файлдарды жана папкаларды камтыйт:

  • .htaccess: сервер конфигурациясын камсыз кылган файл;
  • javascript жана css: Laravel тиркемесинин бардык ресурстук файлдарын камтыйт;
  • index.php: веб-тиркемени инициализациялоо үчүн керектүү файл.
Resources

Ресурстар каталогу веб-тиркемени жакшыртуучу файлдарды камтыйт. Бул каталогго камтылган ички папкалар жана алардын максаты:

  • активдер: папка веб-тиркеменин стили үчүн зарыл болгон LESS жана SCSS сыяктуу файлдарды камтыйт;
  • тил: локализациялоо же ичкилештирүү үчүн конфигурацияны камтыйт;
  • көрүнүштөр: акыркы колдонуучулар менен иштешкен жана MVC архитектурасында негизги ролду ойногон HTML файлдары же калыптары.
сактоочу жай

Бул Laravel долбоору иштеп жатканда зарыл болгон бардык журналдарды жана файлдарды сактаган папка. Төмөндө бул каталогго камтылган ички папкалар жана алардын максаты -

  • колдонмо: бул папка катары менен чакырылган файлдарды камтыйт;
  • алкак: сеанстарды, кэштерди жана тез-тез чакырылган көрүнүштөрдү камтыйт;
  • Журналдар: Иштөө убактысынын көйгөйлөрүн, өзгөчө бардык өзгөчөлүктөр жана ката журналдарын караган файлдарды камтыйт.
текшерүүs

Бардык бирдик сыноо учурлары бул каталогдо камтылган. Сыноо класстарынын аталышы camel_case болуп саналат жана класстын функционалдуулугуна негизделген ат коюу конвенциясына ылайык келет.

сатуучу

Laravel башкарылган көз карандылыкка негизделген композитор, мисалы, Laravel орнотуусун орнотуу же XNUMX-тараптын китепканаларын кошуу, ж.б.

Сатуучу папкасы бардык көз карандылыктарды камтыйт композитор.

Ercole Palmeri

Инновациялык бюллетень
Инновация боюнча эң маанилүү жаңылыктарды өткөрүп жибербеңиз. Аларды электрондук почта аркылуу алуу үчүн катталыңыз.

акыркы макалалар

Veeam ransomware үчүн коргоодон баштап жооп кайтарууга жана калыбына келтирүүгө чейин эң комплекстүү колдоону камтыйт

Veeam тарабынан Coveware кибер опузалап инциденттерге жооп берүү кызматтарын көрсөтүүнү улантат. Coveware криминалистика жана ремедиация мүмкүнчүлүктөрүн сунуштайт ...

April 23 2024

Жашыл жана санариптик революция: алдын ала тейлөө мунай жана газ өнөр жайын кантип өзгөртөт

Болжолдуу тейлөө заводду башкарууга инновациялык жана жигердүү мамиле кылуу менен мунай жана газ секторун революция кылып жатат.…

April 22 2024

Улуу Британиянын монополияга каршы жөнгө салуучу органы GenAI боюнча BigTech коңгуроосун көтөрөт

Улуу Британиянын CMA жасалма интеллект рыногунда Big Tech жүрүм-туруму жөнүндө эскертүү берди. Ал жерде…

April 18 2024

Casa Green: Италияда туруктуу келечек үчүн энергетикалык революция

Имараттардын энергетикалык натыйжалуулугун жогорулатуу үчүн Европа Биримдиги тарабынан иштелип чыккан "Case Green" Декрети өзүнүн мыйзам чыгаруу процессин аяктады ...

April 18 2024

Инновацияны өз тилиңизде окуңуз

Инновациялык бюллетень
Инновация боюнча эң маанилүү жаңылыктарды өткөрүп жибербеңиз. Аларды электрондук почта аркылуу алуу үчүн катталыңыз.

бизди ээрчи