2019-10-15 14:57:58 -04:00
|
|
|
# PHP Kilo
|
|
|
|
|
2020-01-27 16:11:11 -05:00
|
|
|
[![Build Status](https://jenkins.timshomepage.net/buildStatus/icon?job=timw4mail%2Fphp-kilo%2Fmaster)](https://jenkins.timshomepage.net/job/timw4mail/job/php-kilo/job/master/)
|
2019-12-05 11:04:36 -05:00
|
|
|
|
|
|
|
A reimplementation of the [Kilo](https://viewsourcecode.org/snaptoken/kilo/index.html) tutorial in PHP. Requires PHP 7.4,
|
2019-10-15 14:57:58 -04:00
|
|
|
due to requiring the `FFI` extension.
|
|
|
|
|
|
|
|
## Implementation notes:
|
|
|
|
|
|
|
|
* The `editor` prefix has been removed from all the relevant functions, instead they are methods on the `Editor` class.
|
|
|
|
* Enums are faked with class constants
|
2019-11-13 16:26:19 -05:00
|
|
|
* Composer is used for autoloading
|
2019-10-22 16:16:28 -04:00
|
|
|
* 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.
|
2019-10-15 14:57:58 -04:00
|
|
|
* Generally, if a function exists in PHP, with the same name as the C function, the PHP version will be used.
|