Laravel

Laravel Framework
Logo
VývojářTaylor Otwell
Aktuální verze11.5.0 (17. prosince 2024)
Operační systémmultiplatformní software
Vyvíjeno vPHP
Typ softwaruwebový aplikační framework
Licencelicence MIT
Weblaravel.com
Některá data mohou pocházet z datové položky.

Laravel je open source PHP framework pro webové aplikace vyvinutý programátorem Taylorem Otwellem. První vydání se datuje k únoru 2012. Jedná se o framework poskytovaný zdarma jako open source projekt pod licencí MIT. Laravel využívá softwarové architektury MVC, což je zkratka pro model-view-controler architekturu. Model obsahuje aplikační data a funkce, View slouží k prezentaci dat například v HTML, Controller spravuje interakce mezi uživatelem modelem a pohledem. Laravel je význačný především tím, že je optimalizovaný pro reálný svět. Tedy disponuje často užívanými procedurami, které jsou nutné při vývoji webové aplikace.

Základní funkcionalita

Framework Laravel zahrnuje tuto základní funkcionalitu (+ mnoho dalších)

  • autentizace – kontrola přístupu uživatelů
  • routování – správa, směrování a zpracování dotazů na jednom místě
  • databáze – veškeré nástroje pro komunikaci s databází
  • mail – posílání emailu s přílohami a vloženými soubory
  • sessions – zastává veškeré agendy okolo sessions
  • caching – kešování používaných dat

Základní kámen Laravelu

Důvod, proč je Laravel v posledních letech tak oblíbeným PHP frameworkem, je ten, že se opírá o frameworkové velikány a podpůrné systémy jako jsou Symfony, Composer, Eloquent ORM a Blade. Mimo jiné také disponuje ověřenými postupy inspirovanými technologiemi jako je Ruby on Rails, ASP.NET MVC a Sinatra.

Základním stavebním kamenem Laravelu je Symfony, který poskytuje moduly Browserkit, Console, Debug a FileSystem. Další důležitou komponentou je Composer (PHP dependencies manager), který deklaruje vztahy v JSON souboru a umožňuje migrace projektů. V neposlední řadě zde figuruje také velmi důležitý Eloquent ORM (object relation mapper), který byl speciálně vyvinut pro framework Laravel, ale je možné ho využít i mimo framework. Využívá návrhového vzoru ActiveRecord, který zajišťuje Insert, Update, Delete na databázi. Dokáže spravovat tabulkové vztahy 1:1, 1:n nebo n:m. Poslední důležitou součástí Laravelu je komponenta Blade, což je šablonovací systém, který spravuje veškeré pohledy s příponou .blade.php.

Pomocí Laravelu bylo vytvořeno více než 1 723 068 webových stránek, zatímco počet aktivních webových stránek využívajících Laravel činí v roce 2024 743 470.[1]

Composer

Laravel využívá aplikaci Composer pro správu závislostí v projektu. Composer je software, který dovoluje vývojáři deklarovat závislé knihovny v jeho projektu bez jeho zásahu a tím instalovat framework do našeho projektu. Composer všeobecně řeší tyto problémy:

  • Pracujete na projektu, který závisí na několika dalších knihovnách
  • Některé z těchto knihoven jsou závislé na dalších knihovnách
  • Composer zjistí, kterou verzi jakých balíčků má nainstalovat a nainstaluje je do projektu (to znamená, že je stáhne a přiřadí k projektu)

V kombinaci s Laravel frameworkem, nám Composer vytváří spolehlivé prostředí pro start našeho projektu.

Softwarové požadavky na Laravel

  • PHP alespoň verze 5.4
  • PHP rozšíření MCrypt
  • PHP rozšíření JSON
  • Databázový stroj (nejlépe MySQL, avšak Laravel se vypořádá i s ostatními typy)

Není třeba instalovat žádný webový server pro vývoj, protože Laravel disponuje svým vlastním serverem Artisan. Pro deployment je samozřejmě třeba příslušný webový server nainstalovat a nakonfigurovat soubory .htaccess.

Instalace Laravelu

Laravel jde instalovat několik způsoby. Použitím Instaleru, Composeru nebo stáhnutím. Nejjednodušším způsobem instalace je pomocí Laravel installeru. I přesto, že chcete instalovat Laravel pomocí installeru, je nutnost, aby byl přítomný i Composer, přes který instalace probíhá. Composer automaticky stáhne všechny potřebné a podpůrné frameworky včetně Laravelu, nainstaluje je a vytvoří nový čistý projekt.

Základní cyklus Laravelu

Základní cyklus

Všechny žádosti zasílané aplikaci jsou směrovány skrze soubor public/index.php. Pokud užíváte server Apache, soubor .htaccess, který doprovází Laravel, musí směrovat veškeré požadavky na aplikaci na soubor index.php. Právě zde začíná proces, kdy Laravel zpracovává klientské požadavky a klientům vrací odpovědi. Zdaleka nejdůležitějším principem k pochopení jsou poskytovatelé služeb (Service Providers). Seznam poskytovatelů služeb naleznete v konfiguračním souboru config/app.php v poli "arrays". Poskytovatelé služeb jsou základním, tzv. bootstrap mechanismem Laravelu. Ještě předtím, než se zaměříme na problematiku poskytovatelů, podívejme se ještě na soubor index.php. Poté, co klientský požadavek vstoupí do souboru index.php, je načten soubor bootstrap/start.php. Tento soubor vytvoří nový aplikační objekt Laravelu, který také slouží jako IoC kontejner.

Po vytvoření aplikačního objektu se nastaví několik cest a proběhne detekce běhového prostředí. Potom je zavolán interní bootstrap skript. Tento soubor dřímá hluboce ve zdroji Laravelu a nastavuje několik dalších věcí na základě konfiguračních souborů, jako jsou timezone, reportování chyb apod. Mimo jiné také dělá velmi důležitou věc a to je registrování všech poskytovatelů služeb nakonfigurovaných pro naši aplikaci.

Jednoduchý poskytovatelé služeb mají jenom jednu metodu a to register. Tato metoda register je zavolána, když je "Service provider" registrovaný u aplikačního objektu. Uvnitř této metody "Service provider" deklaruje věci, které požaduje po IoC kontejneru. V podstatě každý "Service provider" stmeluje jeden nebo více uzávěrů do kontejneru, který nám poskytuje přístup k těmto vázaným službám uvnitř aplikace. Takže například QueueServiceProvider registruje uzávěry, které řeší různé třídy související s frontami. Samozřejmě, poskytovatelé služeb mohou být používány k jakékoliv bootsrappové úloze, ne jen registrování věcí k IoC kontejneru. Poskytovatel služby může registrovat posluchače událostí, skladatele pohledů, Artisan příkazy a další.

Potom co jsou všechny služby registrovány, jsou načteny soubory z app/start. Nakonec je načten soubor app/routes.php. Jakmile je načten soubor routes.php , objekt s žádostí je zaslán aplikaci.

Shrnuto:

  1. Žádost vstoupí do public/index.php souboru
  2. bootstrap/start.php soubor vytvoří aplikaci a nastaví běhové prostředí
  3. Vnitřní soubor famework/start.php nakonfiguruje a načte všechny service providers
  4. dále jsou načteny aplikační soubory app/start
  5. dále je načten aplikační soubor app/routes.php
  6. objekt s dotazem je zaslán aplikaci a ta vrací odpověď (objekt)
  7. Odpověď je zaslána klientovi

Nyní máme poměrně dobrou představu o tom jak Laravel zaopatřuje dotazy do aplikace, tak se pojďme podívat na soubory app/start.

Start soubory

Naše aplikační start soubory jsou umístěny v app/start. V základě jsou zahrnuty v aplikaci tyto tři: global.php, local.php a artisan.php. Soubor global.php obsahuje několik základních věcí jako je registrace Loggera a zahrnutí souboru app/filters.php. Avšak je jen na nás jaké věci si do tohoto souboru přidáme. Bude to automaticky zahrnuto při každé žádosti na aplikaci bez ohledu na prostředí. Na druhou stranu soubor local.php je jediný volaný v případě, že aplikace je spuštěna na lokálním běhovém prostředí. Samozřejmě pokud máme více běhových prostředí můžeme také vytvořit soubory pro tyto prostředí. Tyto soubory budou automaticky zahrnuty pokud aplikace bude běžet v tom daném prostředí. Takže například pokud máme nastaveno development prostředí v bootstrap/start.php souboru, měli bychom vytvořit soubor app/start/development.php soubor, který bude zahrnut pokaždé když dojde k dotazu na aplikaci v tomto prostředí.

Co se píše do start souborů

Startovací soubory slouží jako jednoduché místo k umístění jakéhokoliv bootstrapovacího kódu. V těchto souborech můžeme například registrovat pohledy, konfigurovat logovací nastavení, nastavovat PHP apod. Je to na nás. Samozřejmě vypsání veškerého bootstrapovacího kódu do startovacích souborů může být docela nepřehledné. Zvažte přesunutí nějakého bootstrapovacího kódu do poskytovatelů služeb.

Základní routování

Většina routů pro naši aplikaci je definována v souboru app/routes.php. Nejjednodušší Laravelské směrovače se skládají z URI a uzávěru.

Základní GET směrovač

Route::get('/', function()
 {
     return 'Hello World';
 });

Základní POST směrovač

Route::post('foo/bar', function()
 {
     return 'Hello World';
 });

Směrování pro oba způsoby přenosu dat

Route::match(array('GET', 'POST'), '/', function()
 {
     return 'Hello World';
 });

Směrování přes https(vynuceně)

Route::get('foo', array('https', function()
 {
     return 'Must be over HTTPS';
 }));

Generování URL adresy na některé směrovače

$url = URL::to('foo');

Routování s parametry

Route::get('user/{id}', function($id)
 {
     return 'User '.$id;
 });

Reference

  1. MUGHAL, Aijaz. Laravel Usage Statistics 2024. Digital Marketing News and Insights | Blog – Aun Digital [online]. 2024-04-25 [cit. 2024-05-11]. Dostupné online. (anglicky) 

Externí odkazy

Read other articles:

Ordo Bintang India yang Paling MuliaLencana Komandan Agung Ksatria Ordo Bintang IndiaDianugerahkan oleh Kerajaan InggrisTipeOrdo KesatriaDibentuk1861MottoSurga adalah panduan kitaDianugerahkan kepadaDemi kesenangan kerajaanStatusPenganugerahan terakhir tahun 1947Tidak aktif sejak tahun 2009PendiriRatu VictoriaSovereignRatu Elizabeth IITingkat Komandan Agung Ksatria (GCSI) Komandan Ksatria (KCSI) Pendamping (CSI) Tingkat sebelumnyaKnight CompanionPrioritasTingkat lebih tinggiOrder of the BathT...

 

 

Peta lokasi Lambang 54°39′0″N 25°4′0″E / 54.65000°N 25.06667°E / 54.65000; 25.06667 Istana Tyszkiewicz di Lentvaris Lentvaris (dengarkanⓘ, bahasa Polandia: Landwarów), adalah sebuah kota Lithuania timur, 9 km di timur Trakai, pusat transportasi penting, karena banyak jalan raya dan rel KA yang melintas di sini. Danau Lentvaris terletak dekat kota. Sejarah Pada abad ke-19 keluarga Tyszkiewicz memiliki sebuah istana bergaya Neo-Gothik yang dibangu...

 

 

Koordinat: 51°55′12″N 1°23′25″W / 51.92000°N 1.39028°W / 51.92000; -1.39028 Halaman ini berisi artikel tentang tim Formula Satu yang berkompetisi dengan nama Lotus pada musim 2012–2015. Untuk tim asli yang berkompetisi pada musim 1954–1994, lihat Team Lotus. Untuk tim yang berkompetisi pada musim 1995 sebagai Pacific Team Lotus, lihat Pacific Racing. Untuk tim yang berkompetisi pada musim 2010 sebagai Lotus Racing dan musim 2011 sebagai Team Lotus, liha...

Pour les articles homonymes, voir Saint Félix. Cet article est une ébauche concernant un pape. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Félix III Portrait imaginaire. Basilique Saint-Paul-hors-les-Murs (mosaïque du milieu du XIXe siècle). Biographie Nom de naissance Felix Naissance Vers 440Rome Décès 1er mars 492 Rome Pape de l'Église catholique Élection au pontificat 13 mars 483 Fin du pont...

 

 

العلاقات الأسترالية الإسواتينية أستراليا إسواتيني   أستراليا   إسواتيني تعديل مصدري - تعديل   العلاقات الأسترالية الإسواتينية هي العلاقات الثنائية التي تجمع بين أستراليا وإسواتيني.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية لل�...

 

 

Pour les articles homonymes, voir Brauner. Victor BraunerBiographieNaissance 15 juin 1903Carpates en MoldavieDécès 12 mars 1966 (à 62 ans)18e arrondissement de ParisSépulture Cimetière de MontmartreNationalités française (à partir de 1963)roumaineFormation Université nationale d'art de BucarestActivités Peintre, designer, sculpteur, artiste graphiqueFratrie Harry Brauner (en)Théodore BraunerAutres informationsParti politique Parti communiste roumainMouvements Surréalism...

Scottish broadsheet newspaper The HeraldFront page for 11 January 2020TypeDaily newspaperFormatBroadsheetOwner(s)NewsquestPublisherHerald & Times GroupEditorCatherine SalmondFounded1783 (1783)Political alignmentDevolutionistLanguageEnglishHeadquarters125 Fullarton DriveGlasgowG2 3QBCityGlasgowCountryScotlandCirculation11,364 (as of 2023)[1]Sister newspapersGlasgow TimesHerald on SundayThe NationalISSN0965-9439OCLC number29991088 Websitewww.heraldscotland.com Media of Scot...

 

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

 

Street in Yerevan, Armenia Tamanyan StreetTamanyan StreetNative nameԹամանյան Փողոց (Armenian)Length200 m (660 ft)Width55LocationKentron district, Yerevan Armenia Tamanyan Street (Armenian: Թամանյան Փողոց, Tamanyan poghots) is a pedestrian street in Yerevan, Armenia. It is located in the central Kentron district and links the Yerevan Cascade at the north with the Moscow street at the south. It has a length of 200 metres (660 ft) and a width of 55 m...

此條目可参照英語維基百科相應條目来扩充。 (2021年5月6日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 约翰斯顿环礁Kalama Atoll 美國本土外小島嶼 Johnston Atoll 旗幟颂歌:《星條旗》The Star-Spangled Banner約翰斯頓環礁�...

 

 

Alfonso Capecelatro di Castelpagano, C.O.cardinale di Santa Romana ChiesaRitratto del cardinale Capecelatro  Incarichi ricoperti Arcivescovo metropolita di Capua (1880-1912) Cardinale presbitero dei Santi Nereo e Achilleo (1885-1886) Cardinale presbitero di Santa Maria del Popolo (1886-1912) Bibliotecario di Santa Romana Chiesa (1890-1912)  Nato5 febbraio 1824 a Marsiglia Ordinato presbitero23 maggio 1847 dal cardinale Sisto Riario Sforza Nominato arcivescovo20 agosto 1880 da papa L...

 

 

Навчально-науковий інститут інноваційних освітніх технологій Західноукраїнського національного університету Герб навчально-наукового інституту інноваційних освітніх технологій ЗУНУ Скорочена назва ННІІОТ ЗУНУ Основні дані Засновано 2013 Заклад Західноукраїнський �...

This is a list of Royal Military College of Canada memorials and traditions. Pre-World War I memorial plaque dedicated to Royal Military College of Canada ex-cadets William Grant Stairs, Huntly Brodie Mackay, and William Henry Robinson Skylarks Glider in Royal Military College of Canada Cadet Dining Hall, 2012 Year Skylark - annual class practical joke or prank 1933 A toy cannon made in the college mechanical engineering lab was fired down the hallway of Fort Lasalle. 1960 Declaration of mar...

 

 

The Lord TedderTedder di pantai Italia pada Desember 1943.Lahir(1890-07-11)11 Juli 1890Glengoyne, SkotlandiaMeninggal3 Juni 1967(1967-06-03) (umur 76)Banstead, InggrisPengabdianInggris RayaDinas/cabangAngkatan Bersenjata Inggris (1913–18)Angkatan Udara Kerajaan (1918–50)Lama dinas1913–1951PangkatMarsekal BesarPerang/pertempuranPerang Dunia Pertama Perang Front Barat Palagan Timur Tengah dalam Perang Dunia I Perang Dunia Kedua Kampanye Afrika Utara Invasi Sekutu ke Sisilia Oper...

 

 

Book by the German philosopher Martin Heidegger The Origin of the Work of Art Cover of the 1960 German editionAuthorMartin HeideggerOriginal titleDer Ursprung des KunstwerkesLanguageGermanPublished1950Publication placeGermanyPreceded byThe Question Concerning Technology Followed byWhat Is Called Thinking?  The Origin of the Work of Art (German: Der Ursprung des Kunstwerkes) is an essay by the German philosopher Martin Heidegger. Heidegger drafted the text between 1935...

2020 wildfire in Colorado East Troublesome FireThe East Troublesome Fire producing a large column of smokeDate(s)October 14, 2020 (2020-10-14) –November 30, 2020 (2020-11-30)(48 days)LocationGrand County & Larimer County, Colorado, United StatesCoordinates40°12′04″N 106°14′02″W / 40.201°N 106.234°W / 40.201; -106.234StatisticsBurned area193,812 acres (78,433 ha; 303 sq mi; 784 km2)ImpactsDeaths2Structu...

 

 

American state election 1940 Michigan gubernatorial election ← 1938 November 5, 1940 1942 →   Nominee Murray Van Wagoner Luren Dickinson Party Democratic Republican Popular vote 1,077,065 945,784 Percentage 53.06% 46.59% County resultsVan Wagoner:      50–60%      60–70% Dickinson:      40-50%      50-60%      60-70%    ...

 

 

ペスタロッチ ヨハン・ハインリヒ・ペスタロッチ(Johann Heinrich Pestalozzi イタリア語: [pes.ta.ˈlɔt.tsi] ドイツ語: [pɛstaˈlɔtsi] ( 音声ファイル), 1746年1月12日 - 1827年2月17日)は、スイスの教育実践家、シュタンツ、イヴェルドン孤児院の学長。フランス革命後の混乱の中で、スイスの片田舎で孤児や貧民の子などの教育に従事し、活躍の舞台として、スイス各地に�...

Village in West Azerbaijan province, Iran For other places with a similar name, see Makin. Village in West Azerbaijan, IranMakhin Persian: مخينVillageMakhinCoordinates: 38°27′49″N 44°29′50″E / 38.46361°N 44.49722°E / 38.46361; 44.49722[1]CountryIranProvinceWest AzerbaijanCountyKhoyDistrictQaturRural DistrictQaturPopulation (2016)[2] • Total1,306Time zoneUTC+3:30 (IRST) Makhin (Persian: مخين)[a] is a village i...

 

 

För andra betydelser, se Antofagasta (olika betydelser). Den här artikeln behöver källhänvisningar för att kunna verifieras. (2015-09) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. II Región de Antofagasta Region Huvudstad Antofagasta Provinser Tocopilla El Loa Antofagasta Area   - Total Rankad 2:a 126 049,1 km² Folkmängd  ...