CINXE.COM

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width"> <meta property="og:site_name" content="Laracasts"> <link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96" /> <link rel="icon" type="image/svg+xml" href="/favicons/favicon.svg" /> <link rel="shortcut icon" href="/favicons/favicon.ico" /> <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png" /> <meta name="apple-mobile-web-app-title" content="Laracasts" /> <link rel="manifest" href="/favicons/site.webmanifest" /> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="theme-color" content="#182a41"> <link rel="alternate" type="application/atom+xml" title="Laracasts" href="/feed"> <link rel="preconnect" href="https://challenges.cloudflare.com"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&family=Kanit:wght@500;700&display=swap" rel="stylesheet" > <script src="https://cdn.usefathom.com/script.js" data-spa="auto" data-site="QUIECCHD" defer></script> <script src="https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit" async defer></script> <link rel="preload" as="style" href="https://laracasts.com/build/assets/css/components-BI92MAo4.css" /><link rel="preload" as="style" href="https://laracasts.com/build/assets/css/charts-1G75bg4J.css" /><link rel="preload" as="style" href="https://laracasts.com/build/assets/css/app-Cln-Z5Al.css" /><link rel="modulepreload" href="https://laracasts.com/build/assets/js/app-v7bWaKId.js" /><link rel="modulepreload" href="https://laracasts.com/build/assets/js/components-D9zWMaG1.js" /><link rel="modulepreload" href="https://laracasts.com/build/assets/js/framework-UlXaWXXq.js" /><link rel="modulepreload" href="https://laracasts.com/build/assets/js/vendors-CD8iU_x1.js" /><link rel="modulepreload" href="https://laracasts.com/build/assets/js/utils-N5dDfE1i.js" /><link rel="modulepreload" href="https://laracasts.com/build/assets/js/charts-C7f2XTzA.js" /><link rel="stylesheet" href="https://laracasts.com/build/assets/css/components-BI92MAo4.css" data-navigate-track="reload" /><link rel="stylesheet" href="https://laracasts.com/build/assets/css/charts-1G75bg4J.css" data-navigate-track="reload" /><link rel="stylesheet" href="https://laracasts.com/build/assets/css/app-Cln-Z5Al.css" data-navigate-track="reload" /><script type="module" src="https://laracasts.com/build/assets/js/app-v7bWaKId.js" data-navigate-track="reload"></script> <script> window.addEventListener('load', () => window.setTimeout(() => { const makeLink = (asset) => { const link = document.createElement('link') Object.keys(asset).forEach((attribute) => { link.setAttribute(attribute, asset[attribute]) }) return link } const loadNext = (assets, count) => window.setTimeout(() => { if (count > assets.length) { count = assets.length if (count === 0) { return } } const fragment = new DocumentFragment while (count > 0) { const link = makeLink(assets.shift()) fragment.append(link) count-- if (assets.length) { link.onload = () => loadNext(assets, 1) link.onerror = () => loadNext(assets, 1) } } document.head.append(fragment) }) loadNext(JSON.parse('[{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ValidCheckbox-JULP_nmm.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/editor-C8_hr02Z.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ReportedUsers-i45UzEAF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Layout-ieTzoIDE.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/Layout-jxeDgoB6.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SettingsLayout-C-UTnCpl.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/BaseLayout-wmimShpF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/BaseLayout-efOgRX7h.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Modals-CTy6F11f.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/FormButton-B2auyso_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-BW9VywYV.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/Index-CGWNJQvs.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-Cy2L35mX.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-yUoaRE2I.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-C0OOv6-9.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-CrDJaR8s.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-o3H8TdCZ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/EpisodeDisallowedCard-7GdkR4cg.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LessonComment-DA9m-sFy.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ReportSpamButton-r6WlZSuS.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/useClipboard-C56RudtE.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LessonComments-aeEMuMyk.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ReplyModal-DQRKSTBe.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConvertsMarkdown-DYvu9vzu.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-ZxyokcVv.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Discussion.vue_vue_type_script_setup_true_lang-zP-UilHY.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoDescriptionCard.vue_vue_type_script_setup_true_lang-B9HKK3pY.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardStats.vue_vue_type_script_setup_true_lang-U6ffIW4k.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardButtons.vue_vue_type_script_setup_true_lang-DM5m3CoH.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardPreviousButton.vue_vue_type_script_setup_true_lang-Dy8IJg0y.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardNextButton.vue_vue_type_script_setup_true_lang-MbQkhklx.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardButtons-BsofiLuV.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardNextButton-CqSM9K45.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardPreviousButton-L_FrKIfs.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoCardStats-Crogihkl.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/VideoDescriptionCard-Bjq3WVdm.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_AdCard-CvQdIZgb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Discussion-CtG2LZZ6.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_EpisodeListHeader-CcjrHP6w.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Panel-CH3ZMc-S.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Requirement-CvfXkPFc.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_VideoCard-BMaqQ2hb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Error-B9iyJQPw.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/Error-BdefgJFN.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-DrtEWxEZ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConversationListCarbonAd-CaPuyKnC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/ConversationListCarbonAd-DKU-bAaM.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConversationListRecommendedSeries-DCmSgMu7.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConversationMetrics-D6J3zfR_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConversationMetrics.vue_vue_type_script_setup_true_lang-mxPoTgPR.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConversationStats-zTeWnENB.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/ConversationStats-BUgV9SGJ.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-Dmf06nlz.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/RandomPromotionCard.vue_vue_type_script_setup_true_lang-DiiYFQeO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PromotionCardLink.vue_vue_type_script_setup_true_lang-DT6FdqgO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ConversationListPromotionCard-Uy5PIJj3.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/GiftCertificateCard-CVs0iCJC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PromotionCard-BqGufUV-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PromotionCardArrow-C-9WrnXU.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PromotionCardDescription-p0pAhmjW.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PromotionCardHeading-DntSmjfL.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PromotionCardLink-OxKpARLW.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/RandomPromotionCard-CH-5Iyh5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ShopCard-WiSpC_Um.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SignupCard-DT5JizRM.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-BIGl0XH7.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_ConversationListItem-Hu9NqpaR.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_ConversationsList-whErnU2g.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Admirers-BdH_UyFm.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Following-DBbixQAJ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-BiDn6jrY.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Layout-Djd5AY3S.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ForumLayout-D2saOdMr.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-DwqVN4m4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardHeader.vue_vue_type_script_setup_true_lang-DyNWST-R.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardStat.vue_vue_type_script_setup_true_lang-DDBZbkST.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardTableRow.vue_vue_type_script_setup_true_lang-Dn8BnVmQ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardHeader-BWnZl7-V.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardLinks-DkHE24Ka.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardStat-DqGvY9So.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LeaderboardCardTableRow-pqOhrUlw.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_LeaderboardCard-DivB3uup.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_LeaderboardSection-BardXSq8.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Friends-CJM7PtQ3.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/CompletePurchase-BahIngcR.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Date-C0WBNgeE.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-CmoDNtI5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/MobileProgressTracker-B7dit-cU.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PlanCard-Dujvbpvp.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ProgressBar-BcewSf6C.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ProgressTracker-BYmo5Mq9.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Redeem-Dsw3_2zN.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ReviewCard-CPGSb_JO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-DBaZMSez.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Step-BF7jqmE4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Home-CjMKf8dw.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeExams.vue_vue_type_script_setup_true_lang-o0Pa0m0g.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeBannerInstructors.vue_vue_type_script_setup_true_lang-BVK86yA_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeBanner-CWs6YCmS.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeBannerBackground-BjFu9C31.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeBannerInstructors-CRW2Xkb4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeBannerLinks-BtRjMqEs.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeBannerVideo-BGe7_RFa.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeCreatorSeries-DfN74Xze.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeExams-DX2yWwtn.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeFeaturedSeries-uaxRo3pJ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeInstructors-DQUGfKbC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/_HomeInstructors-DZjyO6UA.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeSampleVideo-D5PISol5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeTestimonials-DdUnDdHG.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_HomeTopics-DnbO9qZP.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-Dg8D1HKX.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/LibrarySection-Dg71q75w.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-bqS1kHd4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-CVeDCrYK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-DlGGVluM.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PodcastEpisodeCard-DWO8k-cv.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/PodcastNumber-JzywznHq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-BzxiKxry.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-CxvtRiWq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-R2AXF1dt.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Vector-wEZCjRhe.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/AuthorCard-DUmfGExA.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-Dujf8vT5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesCreatorSeriesDetails-BvwRKv94.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesDetails-CWXdcp_Y.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesHeader-DuFveXqo.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesHeader.vue_vue_type_script_setup_true_lang-BY5MwW9C.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesHeaderMeta.vue_vue_type_script_setup_true_lang-BCLufIBa.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesHeaderMeta-Bso0n8nI.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesPathFlow-TZT4cy9H.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesTranslations-CfyLFAR6.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/SeriesTranslations.vue_vue_type_script_setup_true_lang-BySePmZs.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-sAbBL4az.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index--QYnX0WD.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Photo-CSHaAnjq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Preferences-CvYexn4i.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_UpdateAccountPreferences.vue_vue_type_script_setup_true_lang-jMdX83aQ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Profile-CrP3pIW8.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_DeleteAccount-CQ140eFd.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_LeaveTeam-DrzBI50B.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_UpdateAccountDetails-Dmo-B27C.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_UpdateAccountPreferences-CPBXRqVY.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_UpdateProfileDetails-BfgMpQGO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_UpdateProfilePhoto-CEtm9tM5.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Goodbye-CkYnRzwM.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/Goodbye-BZCJOBds.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Banner-u7SjdvYW.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-B8zxxxLS.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-D7aepomW.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_ManageNotifications-B735a_L-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-BLi17iH-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Contact-DNsawiMF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Accordion-Da2DOvQb.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/Contact-C4nk-o_j.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Faq-CSO-JYhq.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/BannerSection-DDPAAxr9.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/BannerSection.vue_vue_type_script_setup_true_lang-Cm-IA5T1.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-CJ1fxsZ1.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/InstructorsSection.vue_vue_type_script_setup_true_lang-Bq7P9ymj.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/InstructorsSection-GWITDcZ2.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Privacy-xLllNLqK.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/ReferralTerms-CKrgw2h4.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Terms-gIeWSFr_.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Instructor-Bzlo85oL.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Partnerships--oaH9kVO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/UI-QZhgeVnM.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Banner-DnqcfUvg.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Faq-DdwoxvM9.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_FaqItem-3frcs2uZ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/_FaqItem-B5GPntMo.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-D6Zpj6BN.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Create-CRfQbXej.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Banner-CzDHGKuC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Index-BkYOYJZN.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Point-Bchg0GhQ.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Points-zkVBNgzN.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-DWAL7yP1.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/TeamStore-BbfIlG7Y.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_ActivityFeed-BRdsjsj0.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_AddDeveloperModal-d9E82U4w.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_AssignmentInputCreate-VTFHeqh3.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_AssignmentMemberSelect-BsuSSKgj.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_AssignmentsCard-CAsM6GLN.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_AssignmentsList-C6df6pKB.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_EditableTeamName-Dkv9Xj4q.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_Leaderboard-C6EYgDmT.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_MemberCard-nkBfaNxw.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_StatsAndMembers-D4o_qx_F.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Banner-Bwd0Yeg-.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Show-B6aYUilU.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/WeekInReview-DL6K-pM0.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_FunStats-z1916TLF.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_NewContent-DcNa_ZDO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_NewPodcast-D84AjxDl.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_TrendingConversations-DvxeZSHC.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/Recaptcha-CXNUigO0.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_EpisodeListHeader.vue_vue_type_script_setup_true_lang-BhwyNpA3.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/EpisodeStore-DHwJ7jTn.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_EpisodeList-LcwoXxvO.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/EpisodeChapters-PEqXoFzW.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/EpisodeListChapter-XNNyw-9A.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/EpisodeListItem-MK07x1Dv.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/EpisodeListItem-D9GewDIr.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/CondensedEpisodeListItem-D1B8ClaP.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022as\u0022:\u0022style\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/css\\\/CondensedEpisodeListItem-DSHST0MT.css\u0022,\u0022fetchpriority\u0022:\u0022low\u0022},{\u0022rel\u0022:\u0022prefetch\u0022,\u0022href\u0022:\u0022https:\\\/\\\/laracasts.com\\\/build\\\/assets\\\/js\\\/_EpisodeListSeriesCard-OwlcGz7z.js\u0022,\u0022fetchpriority\u0022:\u0022low\u0022}]'), 3) })) </script></head> <body class="leading-normal" style="min-height: 100vh; min-height: -webkit-fill-available;"> <div id="app" data-page="{&quot;component&quot;:&quot;Series\/Show&quot;,&quot;props&quot;:{&quot;errors&quot;:{},&quot;forum&quot;:{&quot;leaders&quot;:[{&quot;username&quot;:&quot;Snapey&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/snapey&quot;,&quot;points&quot;:&quot;3,720,585&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@Snapey&quot;},{&quot;username&quot;:&quot;tykus&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/tykus&quot;,&quot;points&quot;:&quot;2,885,500&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@tykus&quot;},{&quot;username&quot;:&quot;Sinnbeck&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/Sinnbeck&quot;,&quot;points&quot;:&quot;2,850,720&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@Sinnbeck&quot;},{&quot;username&quot;:&quot;bobbybouwmann&quot;,&quot;avatar&quot;:&quot;https:\/\/laracasts.s3.us-east-1.amazonaws.com\/avatars\/bobby-bouwmann.jpg&quot;,&quot;points&quot;:&quot;2,175,945&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@bobbybouwmann&quot;},{&quot;username&quot;:&quot;martinbean&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/martinbean&quot;,&quot;points&quot;:&quot;1,621,425&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@martinbean&quot;},{&quot;username&quot;:&quot;MichalOravec&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/michaloravec&quot;,&quot;points&quot;:&quot;1,510,440&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@MichalOravec&quot;},{&quot;username&quot;:&quot;Nakov&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/nakov0301&quot;,&quot;points&quot;:&quot;1,379,850&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@Nakov&quot;},{&quot;username&quot;:&quot;jlrdw&quot;,&quot;avatar&quot;:&quot;https:\/\/laracasts.nyc3.digitaloceanspaces.com\/members\/avatars\/21880.png?v=806&quot;,&quot;points&quot;:&quot;1,377,590&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@jlrdw&quot;},{&quot;username&quot;:&quot;tisuchi&quot;,&quot;avatar&quot;:&quot;https:\/\/laracasts.nyc3.digitaloceanspaces.com\/members\/avatars\/13270.jpg?v=379&quot;,&quot;points&quot;:&quot;1,251,465&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@tisuchi&quot;},{&quot;username&quot;:&quot;Tray2&quot;,&quot;avatar&quot;:&quot;\/\/unavatar.io\/github\/Tray2&quot;,&quot;points&quot;:&quot;1,226,500&quot;,&quot;link&quot;:&quot;https:\/\/laracasts.com\/@Tray2&quot;}]},&quot;auth&quot;:{&quot;signedIn&quot;:false,&quot;user&quot;:null},&quot;bookmarks&quot;:[],&quot;flash&quot;:{&quot;success&quot;:null,&quot;error&quot;:null,&quot;overlay&quot;:null},&quot;app&quot;:{&quot;expired&quot;:false,&quot;env&quot;:&quot;production&quot;,&quot;status&quot;:{&quot;newBits&quot;:false,&quot;newPodcasts&quot;:false,&quot;lastUpdated&quot;:&quot;4 days ago&quot;}},&quot;announcement&quot;:{&quot;message&quot;:&quot;April Sale! All subscriptions are 30% off this week only.&quot;,&quot;link&quot;:&quot;\/join?coupon=SFQNOI6t0xEds91QhGzDwNGhjbS6DW&quot;,&quot;shouldDisplay&quot;:true,&quot;sale&quot;:{&quot;coupon&quot;:&quot;SFQNOI6t0xEds91QhGzDwNGhjbS6DW&quot;}},&quot;recaptchaKey&quot;:&quot;0x4AAAAAAACQcLxtW0lUz22W&quot;,&quot;series&quot;:{&quot;id&quot;:22,&quot;title&quot;:&quot;Envoyer&quot;,&quot;body&quot;:&quot;&lt;div&gt;&lt;a href=\&quot;http:\/\/envoyer.io\&quot;&gt;Envoyer&lt;\/a&gt; deploys your PHP applications with zero downtime. Just push your code, and let Envoyer deliver your application to one or many servers without interrupting a single customer. In this series, we&#039;ll discuss each feature of Envoyer, demonstrating how to use them with a sample project.&lt;\/div&gt;&quot;,&quot;translations&quot;:null,&quot;path&quot;:&quot;\/series\/envoyer&quot;,&quot;strippedBody&quot;:&quot;Envoyer deploys your PHP applications with zero downtime. Just push your code, and let Envoyer deliver your application to one or many servers without interrupting a single customer. In this series, we&#039;ll discuss each feature of Envoyer, demonstrating how to use them with a sample project.&quot;,&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/\/envoyer.png&quot;,&quot;large_thumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/series\/thumbnails\/social-cards\/envoyer.png?v=2&quot;,&quot;svgThumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/svg\/envoyer.svg&quot;,&quot;slug&quot;:&quot;envoyer&quot;,&quot;episodeCount&quot;:10,&quot;difficultyLevel&quot;:&quot;Intermediate&quot;,&quot;customUrl&quot;:null,&quot;version&quot;:null,&quot;complete&quot;:1,&quot;archived&quot;:0,&quot;replacedBy&quot;:null,&quot;runTime&quot;:&quot;36m&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;author&quot;:{&quot;id&quot;:335,&quot;username&quot;:&quot;TaylorOtwell&quot;,&quot;avatar&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/avatars\/taylorotwell.jpg&quot;,&quot;experience&quot;:{&quot;points&quot;:&quot;22,550&quot;,&quot;level&quot;:5,&quot;elite&quot;:0},&quot;reported&quot;:null,&quot;staff&quot;:false,&quot;subscribed&quot;:true,&quot;ai&quot;:false,&quot;elite&quot;:0,&quot;leaderboardPosition&quot;:null,&quot;profile&quot;:{&quot;full_name&quot;:&quot;Taylor Otwell&quot;,&quot;bio&quot;:&quot;I founded and created Laravel for the happiness of all sentient beings, especially developers. Space pilgrim. &quot;,&quot;twitter&quot;:&quot;taylorotwell&quot;,&quot;github&quot;:&quot;taylorotwell&quot;,&quot;website&quot;:&quot;https:\/\/laravel.com&quot;,&quot;employment&quot;:&quot;Laravel&quot;,&quot;job_title&quot;:&quot;Owner&quot;,&quot;location&quot;:&quot;&quot;,&quot;flag&quot;:&quot;us&quot;,&quot;available_for_hire&quot;:0},&quot;dateSegments&quot;:{&quot;created_diff&quot;:&quot;11 years ago&quot;},&quot;settings&quot;:{&quot;show_profile&quot;:true},&quot;links&quot;:{&quot;profile&quot;:&quot;https:\/\/laracasts.com\/@TaylorOtwell&quot;}},&quot;hasChapters&quot;:false,&quot;chapters&quot;:[{&quot;heading&quot;:null,&quot;number&quot;:1,&quot;count&quot;:10,&quot;completed&quot;:false,&quot;episodes&quot;:[{&quot;id&quot;:461,&quot;chapter&quot;:1,&quot;title&quot;:&quot;The First Deployment&quot;,&quot;body&quot;:&quot;&lt;p&gt;Welcome. In this video, I&#039;ll introduce you to Envoyer; a brand new way to deploy PHP and Laravel applications with zero downtime.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Welcome. In this video, I&#039;ll introduce you to Envoyer; a brand new way to deploy PHP and...&quot;,&quot;source_code&quot;:null,&quot;position&quot;:1,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:332,&quot;lengthForHumans&quot;:&quot;5m 32s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-1.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/461&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257278&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/461\/bookmark&quot;}},{&quot;id&quot;:462,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Server Directory Structure&quot;,&quot;body&quot;:&quot;&lt;p&gt;In this video, we&#039;ll talk a bit more about what Envoyer does behind the scenes, when we deploy our applications.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;In this video, we&#039;ll talk a bit more about what Envoyer does behind the scenes, when we...&quot;,&quot;source_code&quot;:null,&quot;position&quot;:2,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:181,&quot;lengthForHumans&quot;:&quot;3m 01s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-2.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/462&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257376&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/462\/bookmark&quot;}},{&quot;id&quot;:463,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Health Checks and Rollbacks&quot;,&quot;body&quot;:&quot;&lt;p&gt;Let&#039;s discuss deployment health and rollbacks with Envoyer in this episode.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Let&#039;s discuss deployment health and rollbacks with Envoyer in this episode.&quot;,&quot;source_code&quot;:null,&quot;position&quot;:3,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:140,&quot;lengthForHumans&quot;:&quot;2m 20s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-3.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/463&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257377&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/463\/bookmark&quot;}},{&quot;id&quot;:464,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Deployment Hooks&quot;,&quot;body&quot;:&quot;&lt;p&gt;Now, let&#039;s talk about deployment hooks in Envoyer. You&#039;ll learn about the default hooks, and even how to add new custom ones.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Now, let&#039;s talk about deployment hooks in Envoyer. You&#039;ll learn about the default hooks, and even how...&quot;,&quot;source_code&quot;:null,&quot;position&quot;:4,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:250,&quot;lengthForHumans&quot;:&quot;4m 10s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-4.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/464&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257378&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/464\/bookmark&quot;}},{&quot;id&quot;:465,&quot;chapter&quot;:1,&quot;title&quot;:&quot;When Deployment Scripts Break&quot;,&quot;body&quot;:&quot;&lt;p&gt;What happens when something goes wrong with your server deployments? Well, as you&#039;ll learn, Envoyer will cancel the deployment, and your application will remain unaffected.&lt;\/p&gt;\n&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;What happens when something goes wrong with your server deployments? Well, as you&#039;ll learn, Envoyer will cancel...&quot;,&quot;source_code&quot;:null,&quot;position&quot;:5,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:181,&quot;lengthForHumans&quot;:&quot;3m 01s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-5.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/465&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257381&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/465\/bookmark&quot;}},{&quot;id&quot;:466,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Multi-Server Deployment&quot;,&quot;body&quot;:&quot;&lt;p&gt;In this video, let&#039;s discuss Envoyer&#039;s multi-server deployment capabilities.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;In this video, let&#039;s discuss Envoyer&#039;s multi-server deployment capabilities.&quot;,&quot;source_code&quot;:null,&quot;position&quot;:6,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:252,&quot;lengthForHumans&quot;:&quot;4m 12s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-6.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/466&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257383&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/466\/bookmark&quot;}},{&quot;id&quot;:467,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Notifications&quot;,&quot;body&quot;:&quot;&lt;p&gt;In this lesson, we&#039;ll review Envoyer&#039;s notification capabilities, such as the ability to update Slack upon deployment.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;In this lesson, we&#039;ll review Envoyer&#039;s notification capabilities, such as the ability to update Slack upon deployment.&quot;,&quot;source_code&quot;:null,&quot;position&quot;:7,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:124,&quot;lengthForHumans&quot;:&quot;2m 04s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-7.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/467&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257574&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/467\/bookmark&quot;}},{&quot;id&quot;:468,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Heartbeats&quot;,&quot;body&quot;:&quot;&lt;p&gt;Heartbeats offer a great way to monitor cron jobs for your applications. For example, they can inform you if, for some reason, they&#039;ve stopped running. Let me show you.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Heartbeats offer a great way to monitor cron jobs for your applications. For example, they can inform...&quot;,&quot;source_code&quot;:null,&quot;position&quot;:8,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:309,&quot;lengthForHumans&quot;:&quot;5m 09s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-8.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/468&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257576&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/468\/bookmark&quot;}},{&quot;id&quot;:469,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Environment Management&quot;,&quot;body&quot;:&quot;&lt;p&gt;Let&#039;s review environment management with Envoyer in this episode. If you have multiple servers, managing your environment file can prove to be somewhat cumbersome. Luckily, with Envoyer, the whole process is much simpler!&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Let&#039;s review environment management with Envoyer in this episode. If you have multiple servers, managing your environment...&quot;,&quot;source_code&quot;:null,&quot;position&quot;:9,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:252,&quot;lengthForHumans&quot;:&quot;4m 12s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-9.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/469&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257577&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/469\/bookmark&quot;}},{&quot;id&quot;:470,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Collaborators&quot;,&quot;body&quot;:&quot;&lt;p&gt;Collaborators are not required to have paid accounts, in order to collaborate with a particular project owner. In this lesson, I&#039;ll give you the specifics.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Collaborators are not required to have paid accounts, in order to collaborate with a particular project owner....&quot;,&quot;source_code&quot;:null,&quot;position&quot;:10,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:142,&quot;lengthForHumans&quot;:&quot;2m 22s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-10.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/470&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257575&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/470\/bookmark&quot;}}]}],&quot;topics&quot;:[{&quot;name&quot;:&quot;Laravel&quot;,&quot;episode_count&quot;:1034,&quot;series_count&quot;:77,&quot;path&quot;:&quot;https:\/\/laracasts.com\/topics\/laravel&quot;,&quot;thumbnail&quot;:&quot;laravel-logo.svg&quot;},{&quot;name&quot;:&quot;Envoyer&quot;,&quot;episode_count&quot;:10,&quot;series_count&quot;:1,&quot;path&quot;:&quot;https:\/\/laracasts.com\/topics\/envoyer&quot;,&quot;thumbnail&quot;:&quot;envoyer-logo.svg&quot;}],&quot;isLarabit&quot;:0,&quot;isCreatorSeries&quot;:0,&quot;progress&quot;:{&quot;started&quot;:false,&quot;completionPercentage&quot;:0,&quot;episodesCompleted&quot;:0,&quot;completed&quot;:false,&quot;nextEpisodePosition&quot;:1},&quot;lastUpdated&quot;:&quot;Nov 11, 2015&quot;,&quot;links&quot;:{&quot;continue&quot;:&quot;\/series\/envoyer\/episodes\/1&quot;,&quot;bookmark&quot;:&quot;\/series\/envoyer\/bookmark&quot;},&quot;og&quot;:{&quot;card&quot;:&quot;summary_large_image&quot;}},&quot;latestEpisode&quot;:{&quot;id&quot;:470,&quot;chapter&quot;:1,&quot;title&quot;:&quot;Collaborators&quot;,&quot;body&quot;:&quot;&lt;p&gt;Collaborators are not required to have paid accounts, in order to collaborate with a particular project owner. In this lesson, I&#039;ll give you the specifics.&lt;\/p&gt;&quot;,&quot;excerpt&quot;:&quot;Collaborators are not required to have paid accounts, in order to collaborate with a particular project owner....&quot;,&quot;source_code&quot;:null,&quot;position&quot;:10,&quot;dateSegments&quot;:{&quot;published&quot;:&quot;March 16, 2015&quot;,&quot;publishedAlt&quot;:&quot;Mar 16th, 2015&quot;,&quot;publishedDiff&quot;:&quot;10 years ago&quot;,&quot;whenAvailableForHumans&quot;:&quot;10 years&quot;},&quot;length&quot;:142,&quot;lengthForHumans&quot;:&quot;2m 22s&quot;,&quot;largeThumbnail&quot;:&quot;https:\/\/laracasts.s3.amazonaws.com\/videos\/thumbnails\/youtube\/envoyer-10.png&quot;,&quot;isNew&quot;:false,&quot;free&quot;:true,&quot;isScheduled&quot;:false,&quot;path&quot;:&quot;\/episodes\/470&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;series&quot;:{&quot;title&quot;:&quot;Envoyer&quot;,&quot;taxonomy&quot;:{&quot;name&quot;:&quot;Tooling&quot;,&quot;path&quot;:&quot;https:\/\/laracasts.com\/browse\/tooling&quot;},&quot;thumbnail&quot;:&quot;https:\/\/images.laracasts.com\/series\/thumbnails\/png\/envoyer.png&quot;,&quot;path&quot;:&quot;\/series\/envoyer&quot;},&quot;exam&quot;:null,&quot;viewingStatus&quot;:{&quot;scheduled&quot;:false,&quot;watchable&quot;:true,&quot;requiresReactivation&quot;:null,&quot;requiresBillingDetails&quot;:false,&quot;isCompleted&quot;:null},&quot;vimeoId&quot;:&quot;122257575&quot;,&quot;links&quot;:{&quot;bookmark&quot;:&quot;\/episodes\/470\/bookmark&quot;}},&quot;progress&quot;:{&quot;lastEpisodePositionCompleted&quot;:null},&quot;shareMessage&quot;:&quot;I%27m+watching+%22Envoyer%22+at+Laracasts%21+https%3A%2F%2Flaracasts.com%2Fseries%2Fenvoyer&quot;,&quot;previousUrl&quot;:&quot;https:\/\/laracasts.com\/series&quot;,&quot;path&quot;:null},&quot;url&quot;:&quot;\/series\/envoyer&quot;,&quot;version&quot;:&quot;53fb31a06755ad60bfa03f37ab338951&quot;,&quot;clearHistory&quot;:false,&quot;encryptHistory&quot;:false}"></div> </body> </html>