A reimplementation of the Kilo tutorial in PHP. Also has some inspiration from the Hecto text editor tutorial. Requires PHP 8 and FFI.
editor prefix has been removed from all the relevant functions, instead they are methods on one of the implementation classes.
- Enums are faked with class constants
- Composer is used for autoloading
- Properties that must be manually updated in the C version (like counts/string length) are implemented with magic methods,
so they are essentially calculated on read.
- Generally, if a function exists in PHP, with the same name as the C function, the PHP version will be used.
- Classes are used to modularize functionality, and reduce the amount of functions with global side effects