In this tutorial we are going to dive deep into PHP's Internals. It is appropriate for people that know PHP as a language well, but are interested into finding out what goes inside in-depth.

We will start by looking at how the language parser and scanner work, which convert scripts into an Abstract Syntax Tree. When then look at how PHP internal byte code is generated from this AST, and how the engine runs byte code.

After the introduction, we will working together on extending the PHP core with a new feature.

As a treat, we'll also have a look at the OPcache extension, and see which optimisations it does to generated byte code.

Reasonable knowledge of C (or similar languages) is required to make the most of this tutorial.

Comments

Please login to leave a comment

Peter McDonald at 12:28 on 8 Nov 2019

A great introductin into PHP internals. Alot to take in but good start to allow me to investigate further.

A really interesting insight into how PHP works. It was fun to change the behaviour of the language, and seems like contributing to PHP is more accessible to me.

I think it wasn't that clear that we should have already compiled PHP, so it took everyone a while to get all the dependencies installed. Maybe you could add the list of dependencies to the prerequisites of the workshop?

Ryan Mauger at 08:02 on 11 Nov 2019

Excellent introduction to how PHP parses your code, and how changes to that behaviour can be made.
I learned a ton of useful information from this workshop.
Perhaps a docker or virtual machine that people could use to jump in with may be a good way to ensure those who are not so well prepared can get up and running faster would be a good idea.