A comprehensive guide to Rust, specially crafted for PHP developers.

This video course covers everything you need to know to master Rust, from the basics of the language to full-fledged applications and libraries.

See the course outline

The Full Monty

Special pre-order discount **

$139

$249

(excl. VAT and additional charges)

You get:

  • Source code for all projects
  • Access to all future module & content updates
  • Membership to private Discord community
  • Stream and download all videos *
Pre-order now

* Download available with full launch Early 2024.
** Pre-order availability limited.

The why

Why should you learn Rust? What makes it so special?

Rust isn't just another programming language. It actually brings a whole host of features and advantages to the table, compared to other languages.

Here's a list of a few things that make Rust special:

1. Memory Safety

Rust has a powerful ownership system that ensures memory safety at compile time. This means that you don't have to worry about potential memory leaks or using memory after it's been freed, as the compiler can catch these issues before you even run your code.

2. Zero-cost abstractions

In the PHP world, how you write your code can have an impact on how the code performs. For example, using a class for a single static method can be less performant than just using a regular function. Rust overcomes this problem by providing zero-cost abstractions. You won't pay a performance penalty for using a generic struct over a concrete one, for example.

3. Modern language, modern syntax, modern features

In the world of programming, Rust is still the new kid on the block. By looking at pitfalls of other languages, Rust has been able to learn from them and provide a modern language and avoid the same mistakes. Language features such as generics, pattern matching, tagged unions, just to name a few, are all incredibly powerful and available in Rust.

Beyond that?

Plenty of ecosystems, including PHP, have seen a rise in Rust's popularity.

Our cousins in the JavaScript world love building new tools in Rust. The performance and developer experience benefits that it brings to the table are a huge draw for developers.

Rust-based tools such as Tauri allow you to build desktop applications using web technologies. The NativePHP project is working on adding Tauri support — having solid Rust skills will most definitely increase your chance of success with these tools.

Want to write a PHP extension but don't want to faff around with boring ol' C? You can use Rust, thanks to some excellent packages and libraries from members of both communities!

The what

Have I piqued your interest? Let's take a closer look at what you'll learn in this course. *

Introduction An introduction to the course, setting the foundation for the rest of the modules.
  1. What is Rust?
  2. Installing Rust
  3. Creating your first project
The Basics Covers the very basics of the language, including primitive types, variables, control flow and more.
  1. Variables & Mutability
  2. References
  3. Numeric Data Types
  4. The "unit" type
  5. Strings and characters
  6. String vs &str
  7. Arrays
  8. Slices
  9. Tuples
  10. Vectors
  11. Control Flow
Functions Functions are the building blocks of any application. This module covers how to define them and use them.
  1. Defining a function
  2. Implicit vs explicit returns
  3. Closures
Custom Data Structures Variables are great, but sometimes you want to structure data in a more meaningful way.
  1. Structs
  2. Enumerations
  3. Tagged Unions
  4. Methods
Generics Generics are a powerful feature of Rust that allow you to write code that can be used with multiple types.
  1. What are generics?
  2. Generic functions
  3. Generic structs and enums
Null Safety & Error Handling Rust has a unique approach to handling optional values and errors. This module takes a deep-dive into how it all works.
  1. Optional values
  2. Option vs null
  3. Result types
  4. Error propagation
  5. Error values vs exceptions
Pattern Matching A special language feature that lets you match against the structure of types.
  1. Matching values
  2. Matching structs and enums
  3. Matching ranges
  4. Bindings
  5. if..let and while..let expressions
  6. let..else expressions
Traits A common confusion point for developers new to Rust, traits are a powerful feature that allow you to abstract common behaviour away from concrete types.
  1. Composition vs Inheritance
  2. Writing your first trait
  3. Type-hinting traits
  4. Traits in the standard library
  5. Downcasting
Ownership and Lifetimes Now that you've nailed the basics, let's take a deep dive into Rust's memory management, ownership, and lifetime system.
  1. What even is memory?
  2. Traditional, manual memory management
  3. Garbage collection in PHP
  4. Ownership
  5. Lifetimes
Modules and Code Separation You don't want to write all of your code in a single file.
  1. Your first module
  2. Visibility
  3. Inline modules
Macros A powerful feature that allows you to write code that writes code.
  1. Metaprogramming 101
  2. First-party macros
  3. Declarative macros vs procedural macros
  4. Implement your own println! macro
Testing Testing is a first-party feature of Rust, and is built right into the language.
  1. Unit testing
  2. Integration tests
Package Management Hand-rolling your own solutions isn't always the best idea. This module covers how to use Cargo to install and manage third-party dependencies.
  1. What is a "crate"?
  2. Installing crates with Cargo
  3. What are "features"?

* Course modules are still under development and subject to change. New modules will be added over time.

Pricing

Special pre-order discount **

Three packages to choose from, depending on your budget and needs.

Standard

$79

$149

(excl. VAT and additional charges)

You get:

  • Access to all launch modules
  • Membership to private Discord community
  • Stream videos
Pre-order now

Premium

$99

$199

(excl. VAT and additional charges)

You get:

  • Access to all future module & content updates
  • Membership to private Discord community
  • Stream and download all videos *
Pre-order now

The Full Monty

$139

$249

(excl. VAT and additional charges)

You get:

  • Source code for all projects
  • Access to all future module & content updates
  • Membership to private Discord community
  • Stream and download all videos *
Pre-order now

* Download available with full launch Early 2024.

** Pre-order availability limited.

FAQs

Answers to questions you might have, or might find useful.

Once you have purchased the course, you will be sent an email with a link to the course dashboard.

If at any point you lose this email, you can get a new link sent to you by visiting the login page and hitting Request access link. *

* The dashboard is not yet available and will be available once early access opens.

The length of each video depends on the content being covered.

Some videos are as short as 3 minutes, while others are longer and can be up to 20 minutes. It all depends on the topic and how in-depth it needs to be.

As this course is tailored towards PHP developers, the videos draw comparisons between the two languages to help you understand the concepts.

The videos are a mixture of slides and live coding, with the majority of the content being live coding.

Yes! If you purchase the Full Monty package, you can download the videos and watch them offline*.

If you purchase one of the other packages, you will still be able to download the videos but only after the cooling-off period of 30 days**.

* Downloading will be available after full launch in Early 2024.
** The cooling-off period starts from the date of purchase and is only applicable to the Basic and Standard packages.

The full course is expected to launch in Early 2024.

Right now, the focus is on nailing the content and making sure it's as good as it can be.

If you already have a bit of experience from Rust you still might find this course useful, especially if you want to see how to build real-world applications and programs.

Absolutely. If you request a refund within 30 days of purchase, I'll refund you in full.

All payments are processed securely through Lemon Squeezy.

Payment details are not stored on this website.