Typed PHP!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi there,

The single most annoying feature about PHP I find is that there are no
optional types for variables. Otherwise, I think PHP is great: great
community, lots of code and contributors etc.

Just out of curiosity, do you think it would be possible and feasible to
design a Typed PHP similar to TypeScript in JavaScript? So, a super set of
PHP that is optionally typed and can be compiled/transpiled to normal PHP?
I think this should be quite possible and possibly a great addition to the
language. It would need to not break the current syntax but provide better
tooling in IDEs and editors. Someone has already had a similar idea:
https://github.com/krakjoe/strict

However, I would propose a technology that transpiles to "normal" PHP. The
types would be solely there for better tooling support and YES, better auto
complete! An extension wouldn't be required. Typed PHP would just be a
super set of normal PHP and all existing code could be re-used just like in
Type Script. You could also have .d.tphp files, similar to TS and annotate
existing libraries for better auto complete. I have come across Type Script
not so long ago and it is really good in my opinion. People can still
develop in the not strictly typed language while others more inclined to
use strict types can use them but do not have to.

Similar to TS you could have .tphp files that compile to readable .php
files without having to re-engineer PHP or write extensions. The benefits
should be obvious: Maximum code re-usability while providing better code
maintenance and tooling.

I think the exact syntax can be discussed and should be to not break
anything while having a terse syntax, that is readable and writable. I
could propose some syntax ideas that would be similar to TS syntax, but
wanted to put the idea out there first. Maybe you will say this is
absolutely crazy and cannot be done, but I challenge this belief.

Kind regards,
Tim

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux