Skip to content

Commit d82e96c

Browse files
committed
[skip ci] Link technical resources in CONTRIBUTING.md
Co-authored-by: KapitanOczywisty Closes GH-11155
1 parent 41cda46 commit d82e96c

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

CONTRIBUTING.md

+25
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ had several contributions accepted, commit privileges are often quickly granted.
1414
* [Pull requests](#pull-requests)
1515
* [Filing bugs](#filing-bugs)
1616
* [Feature requests](#feature-requests)
17+
* [Technical resources](#technical-resources)
1718
* [Writing tests](#writing-tests)
1819
* [Writing documentation](#writing-documentation)
1920
* [Getting help](#getting-help)
@@ -85,6 +86,30 @@ You may also want to read
8586
[The Mysterious PHP RFC Process](https://blogs.oracle.com/opal/post/the-mysterious-php-rfc-process-and-how-you-can-change-the-web)
8687
for additional notes on the best way to approach submitting an RFC.
8788

89+
## Technical resources
90+
91+
There are a number of technical resources on php-src. Unfortunately, they are
92+
scattered across different websites, and often outdated. Nonetheless, they can
93+
provide a good starting point for learning about the fundamentals of the code
94+
base.
95+
96+
* https://www.phpinternalsbook.com/
97+
* https://www.npopov.com/
98+
* [Internal value representation](https://www.npopov.com/2015/05/05/Internal-value-representation-in-PHP-7-part-1.html), [part 2](https://www.npopov.com/2015/06/19/Internal-value-representation-in-PHP-7-part-2.html)
99+
* [HashTable implementation](https://www.npopov.com/2014/12/22/PHPs-new-hashtable-implementation.html)
100+
* [Zend Virtual Machine](https://www.npopov.com/2017/04/14/PHP-7-Virtual-machine.html)
101+
* [How opcache works](https://www.npopov.com/2021/10/13/How-opcache-works.html)
102+
* [The opcache optimizer](https://www.npopov.com/2022/05/22/The-opcache-optimizer.html)
103+
* https://wiki.php.net/internals
104+
* [Objects](https://wiki.php.net/internals/engine/objects)
105+
* https://qa.php.net/
106+
* [Writing tests](https://qa.php.net/write-test.php)
107+
* [Running tests](https://qa.php.net/running-tests.php)
108+
* [PHPT structure](https://qa.php.net/phpt_details.php)
109+
* https://phpinternals.net/
110+
* [Implementing new operator](https://phpinternals.net/articles/implementing_a_range_operator_into_php), [part 2](https://phpinternals.net/articles/a_reimplementation_of_the_range_operator)
111+
* [Opcode extending](https://phpinternals.net/articles/implementing_new_language_constructs_via_opcode_extending)
112+
88113
## Writing tests
89114

90115
We love getting new tests! PHP is a huge project and improving test coverage is

0 commit comments

Comments
 (0)