PHP Parser
php-generics
PHP Parser | php-generics | |
---|---|---|
11 | 7 | |
16,835 | 205 | |
- | - | |
8.3 | 3.9 | |
12 days ago | 24 days ago | |
PHP | PHP | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
PHP Parser
- PHP-Parser: A PHP parser written in PHP
-
Diff Speeding - Rector and sebastian/diff speed improvements through profiling
Interesting. One of the reasons I stopped considering Rector is because of how memory, CPU, and time intensive it is for a non-trivial project. Instead I've been using Nikita's PHP Parser directly and getting much better results even though it isn't multi-threaded out of the box.
-
PHP Skeleton for Bison
nikic/PHP-Parser uses a Bison equivalent for PHP parsing. See the grammar file https://github.com/nikic/PHP-Parser/blob/4.x/grammar/php7.y.
-
Alternative for nette/tokenizer?
Maybe nikic/PHP-Parser is an alternative. If you only need to tokenizer part, PHP has an extension too.
-
How PHP engine builds AST
nikic/PHP-Parser
-
Parsing with PHP, Bison and re2c
Code parsing. Many linters and code builders use php-parser. It uses YACC (analog Bison) to build AST.
-
Readonly classes RFC accepted
The PR in PHP-Parser is already on the way ↓ https://github.com/nikic/PHP-Parser/pull/834
-
[Question] Trying to understand, how does the PHP Parser work when it sees HTML?
I see there is the https://github.com/nikic/PHP-Parser
-
I was annoyed by some of PHP's syntax, so I decided to make a PHP transpiler (still in beta!)
It's good idea. But something strange. Php was made as language which embedded to HTML. And how will it work without open and close tags? Instead of parsing and replacing source code as string you might use parser e.g https://github.com/nikic/PHP-Parser
-
Tree-sitter: an incremental parsing system for programming tools
I wish there was a more universal format for parsers, but I just don't think there enough people who know their stuff.
Take PHP, a language that a lot of people use: the tree-sitter-php extension doesn't support features added in 2019, let alone features added towards the end of 2020.
If you want an up-to-date PHP parser, there's really only one open-source parser[0] that's accurate enough to be used on PHP codebases old and new, and it's written in PHP. Then if you want to parse in a robust fashion you have to adopt a number of hacks to get everything working.
I hadn't encountered LSIF before – can GitHub be configured to use those maps?
[0] https://github.com/nikic/PHP-Parser
php-generics
-
How come there is no such thing as an equivalent to TypeScript in PHP?
Hi. I'm the author of the library which brings generics into PHP like TypeScript https://github.com/mrsuh/php-generics. Libraries like this have a few big problems to start using them freely:
-
Parsing with PHP, Bison and re2c
I used this knowledge to create the PHP generics library.
-
Comparing PHP Collections
Hi! I don't think so. Is used this library to translate generics syntax into regular PHP syntax. It's not equal to real PHP generics (like Hack did). IDE doesn't support PHP generic syntax yet. You can read about it here.
If you are only using simple collections you can use array - it is very fast and requires little memory. PHP doesn't support generic syntax and IDE can't make hints about the type of objects in a collection (yet), but if you want PHP to do type checks at runtime you can test the php-generics library.
-
PHP type erasure generics
A few months ago I created a PHP generics library with monomorphic generics. Today I released version 1.2.0 with type erase generics.
-
Generics implementation approaches
This approach has a big memory effect. PHP doesn't support native generics, but you can test monomorphized generics with my library.
-
PHP Generics. Right here. Right now
} ``` Library: https://github.com/mrsuh/php-generics Example repo: https://github.com/mrsuh/php-generics-example Have a nice day!
What are some alternatives?
PHPStan - PHP Static Analysis Tool - discover bugs in your code without running it!
php-generics-rfc - Mirror of https://wiki.php.net/rfc/generics for easier collaboration
PHP Code Sniffer - PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
php-var-sizeof - Function for getting size of any PHP variable in bytes
PHP CS Fixer - A tool to automatically fix PHP Coding Standards issues
shim - Shim version of PHP CS Fixer
PHPCPD - Copy/Paste Detector (CPD) for PHP code.
php-collections-comparison - https://dev.to/mrsuh/comparing-php-collections-5cca
Better Reflection - :crystal_ball: Better Reflection is a reflection API that aims to improve and provide more features than PHP's built-in reflection API.
ruby - The Ruby Programming Language
PHP Mess Detector - PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.
php-generics-example