PHP to Go

This no-fluff video course will give you everything you need to write software in Go as a PHP developer.

Go is a fantastic compiled language that is fast, memory efficient and has an amazing interface for dealing with concurrency. As a PHP developer who feels spoiled by the amazing developer experience PHP offers, you'll love Go.

What you'll get

Course Description

We'll start with a crash course that covers the basics. Throughout this part, we'll take small PHP programs and convert them to Go. I find this to be the fastest way to learn a new language.

Then, we will dive right into concurrency in Go. That's the most exciting part about the language. I guarantee that you'll have at least a dozen of AHA moments there.

After that, we will explore Go's built-in high performance web server. This is an essential part of your learning journey.

Finally, we'll work on several projects to put what we've learned into practice.

Reasons for you

Why Learn Go?

While PHP can be used to build almost anything, a compiled language allows you to manage resources more efficiently.

PHP improves the developer experience by concealing complexity behind a set of subjective abstractions. These abstractions are one-size-fits-all, which means they consider only the most common use cases while ignoring others.

I've been a PHP supporter for over a decade. After a sufficient amount of time spent working on high-traffic apps, I realized that a combination of PHP and a compiled language strikes the right balance between developer experience and performance.

My philosophy is that a web app should be built in PHP (or Ruby) and should make use of the powerful frameworks and libraries available in their ecosystems. After enough time has passed, we extract specific endpoints and handle them with a tool that gives us more control over resources.

This tool is Go in my opinion. It has the same user-friendly interface as PHP, but it gives us more control when we need to further optimize things.

Furthermore, because our apps are compiled, we can run them on almost any server without incurring too much server management overhead. Whether it's a web app or something else, we just upload one binary and we're done.

Finally, but not least. Learning a compiled language teaches you about many topics that were previously hidden behind abstractions. This adds valuable skills to your skill set and allows you to advance as a software engineer.

What's included

Course Content

I'm publishing tutorials as I'm progressing on the course. New sections are constantly being added. This course is structured into a series of bite-sized, easy-to-follow videos.

1. Getting Started (1h 27m)
1. Introduction
2. Before we start
3. Installing Go tools
4. Our first program
5. Declarations & types
6. Working with variables
7. Arrays
8. Slices
9. Adding to a slice
2:47
10. Reslicing
5:18
11. Removing from a slice
2:54
12. Maps
6:08
13. Checking for existence
2:58
14. Mixing Types
4:32
15. Map Internals
1:35
16. Structs
4:50
17. Custom types in Go
4:36
18. Type recursion
5:29
19. If statements
4:02
20. Switch statements
3:10
21. Loops
4:33
22. Loop variables
3:22
23. Building binaries
2:55
2. Digging deeper (1h 49m)
24. Methods
3:35
25. Value vs. pointer receivers
4:01
26. On pointer receivers
2:49
27. Methods on primitives
4:03
28. Functions
10:11
29. Option Structs
4:12
30. Multiple return values
4:37
31. Call by value
6:54
32. Blocks and shadows
4:19
33. Defer
8:37
34. Error handling
5:47
35. Returning our own errors
6:01
36. Error contexts
3:08
37. Generics
6:20
38. Object-oriented programming
8:20
39. Polymorphism
6:58
40. Interfaces & pointers
7:19
41. Constructors
7:15
42. Encapsulation
4:30
3. Concurrency (1h 27m)
43. Introduction to concurrency
7:12
44. Goroutines
7:35
45. Mutex
5:36
46. Channels
9:51
47. Unidirectional channels
7:23
48. Buffered channels
8:51
49. Iterating over channels
4:27
50. Select statements
4:26
51. Goroutine leaks
4:33
52. Periodic tasks
5:16
53. Timers
5:33
54. Error handling
7:18
55. The context package
8:02
56. Servers
Soon
57. Context values
Soon
4. Projects
Get it now

Early Bird Access

Enroll now while I'm building the course and get an early bird discount.

Individual
$109 $139
Learn anytime, at your own pace.
Team of
$289 $378
$479 $609
$889 $1148
$1309 $1680
$1899 $2450
Bring your team members and learn together.
Know more

Frequently Asked Questions

Is this course for me?

If you're a PHP developer who wants to learn a powerful compiled language that is developer friendly, then yes. This course doesn't require prior knowledge of any specific PHP framework.

Are updates included?

Yes! When you enroll, you get life-time access to current and future lessons.

Do you offer discounts?

If you are a student, unemployed or just can't afford it, send me an email.

Hello,

I'm Mohamed Said

I'm the author of Laravel Queues in Action, VP of Engineering, and former Laravel core team member.

Menu

Log in to access your purchases.

Log in

Check the courses I have published.


You can reach me on Twitter @themsaid or email [email protected].