Advanced

Whatcha Working On

Most of the lessons here at Laracasts boil down to rehearsed presentations. The reality, however, is that we all spend a lot of time tinkering, visiting StackOverflow, and debugging error messages.

In this series, each episode will spotlight a small piece of workflow for what I happen to be working on in real life. This might be an open source project, the Laracasts codebase, or something entirely new. As you'll find, we're less interested in A-Z education, and more focused on real-life workflow.

Start Series For Free

Share this series on:

  • 01

    Episode 1 Run Time 24:48

    Laravel Test Helpers for Selenium Free

    The test helpers in Laravel 5.2 provide a beautiful, fluent API for integration testing your applications. However, these tests are triggered in memory, which means you don't get JavaScript execution out of the deal. When such tests are necessary, you'll likely need to use something like Selenium.

    Today, I'm working on a Selenium "driver" that uses the exact same testing API as the one you're already familiar with. Could be cool?

  • 02

    Episode 2 Run Time 21:10

    Elixir Refactoring

    Today, I'm working on a bit of refactoring for the Laravel Elixir codebase. In this lesson, come along, as I experiment with a particular refactor - which will hopefully organize things a bit more cleanly.

    View the commit from this episode here, or see how I eventually merged the compiler classes from this episode into Task subclasses here. I ultimately decided that this was a preferable approach.

  • 03

    Episode 3 Run Time 8:06

    Adding Featured Content

    There's nothing too fancy in this episode. We need to take the "most recent series" section on the Laracasts home page, and turn it into a curated, featured list. Along the way, we'll discuss the value in not over-doing tasks like this. While we could whip up a UI with a bunch of drag and drop goodness, the reality is that all of that takes time. Why not opt for the simplest possible implementation first, and then you can always expand upon it in the future - if and only if you decide it's necessary. As such, we'll simply hardcode a list of series ids that we wish to feature within a config file. Easy!
  • 04

    Episode 4 Run Time 14:43

    Turbolinks with Laravel

    Today, I'm tinkering around with Turbolinks, which was recently - at the time of this writing - extracted to its own library that may be used anywhere. It's pretty sweet! Drop it in, and it instantly begins working. All anchor links clicks will be intercepted, and AJAX requests will be sent in their place. This allows for a signifiant performance boost, as the user only needs to download relevant scripts and stylesheets once on the initial page load.
  • 05

    Episode 5 Run Time 20:18

    Elixir Webpack Plugins

    Today, I'm personally working on a particular GitHub issue that revolves around hooking into Elixir's default Webpack configuration. Want to come along?
  • 06

    Episode 6 Run Time 19:26

    How to Animate an Object Along a Circle With CSS

    Why don't all Laracasts videos focus on PHP and Laravel? Because that's not real life. Sure, sometimes you need to write server-side code. But, at other times, you're tasked with animating an object along a freaking circle. So let's figure out how.. ;)

    View the source for this little example on JSBin.com.

  • 07

    Episode 7 Run Time 12:05

    Working With the Simplecast API

    As part of the Laracasts refresh that I'm currently working on at the time of this recording, I need a dedicated page for my "Laracasts Snippet" podcast. In this episode, as an example, we'll create a brand new project, fetch my podcast feed using Simplecast's API, cache it, and then render it in a view.

    View the source code for this lesson on GitHub.

  • 08

    Episode 8 Run Time 9:20

    A Webpack-Only Elixir

    What I'm working on today is a potential new/separate version of Laravel Elixir that exclusively uses Webpack, rather than Elixir. In this episode, rather than writing code, we'll talk about why I'm working on this, and what the potential benefits are.
  • 09

    Episode 9 Run Time 18:29

    Dynamic Asset Paths Using TDD

    For this new version of Laravel Mix (the evolution of Laravel Elixir) that I'm working on, I need to create a single PHP function that can dynamically calculate the correct path to an asset, such as a script or stylesheet. This should work, regardless of whether hot reloading or file versioning have been enabled/requested. Let's knock it out together, using TDD.
  • 10

    Episode 10 Run Time 35:48

    How I Personally Learn: Dusk Edition Free

    This episode will be a bit different. Come along, as I personally learn how to use Laravel Dusk (Laravel's new acceptance testing package) completely from scratch. While most lessons at Laracasts are edited to be as succinct as possible, this one is a bit more realistic, and reflects how I personally learn a new tool.
  • 11

    Episode 11 Run Time 9:26

    Testing Implementation Details

    It's very easy to fall into one particular testing trap. Are you testing your public interface, or the underlying implementation details? If you've ever noticed that any change to your code requires updates to their respective tests, take a moment and ask yourself why that is.
  • 12

    Episode 12 Run Time 13:21

    An Ad Component

    Today, I'm implementing a small ad-strip below Laracasts videos for guest users who aren't officially subscribed to Laracasts. Hey, it helps pay the bills, okay? Now, I've received basic instructions about the company's JSON API, but haven't implemented a single line of code yet. Come along, as I work through the process! I think we'll need to create a dedicated Vue component.
  • 13

    Episode 13 Run Time 21:46

    Coupon Generation With TDD Free

    In this episode, I'm working on the Laracasts codebase. Specifically, I need a simple way to quickly generate single-use coupon codes, save them to the database, push them to Stripe.com, and then fire off an email to the recipient of the coupon. Let's use TDD to implement this functionality, and then, once we're at green, perform a round of refactoring to clean things up. Ready?
  • 14

    Episode 14 Run Time 11:14

    Make Sure the Dang Thing Works

    Today, I'm finishing up the 1.0 release of Laravel Mix. If you'd like to come along, I need to flesh out a few more end-to-end tests for the project. In many ways, these are far and away the most important tests you can write. Nobody cares that your unit tests pass, if the system doesn't work for the user!

  • 15

    Episode 15 Run Time 8:20

    Vue and Turbolinks Sitting in a Tree

    Vue is fantastic. Turbolinks is, too. So what if we could find a way to use them together seamlessly. Well, out of the box that can be a bit tricky, due to a few reactivity and caching issues. Luckily, though, this problem seems to have been solved. In this episode, come along as I test it out.