xref: /php-src/docs/source/index.rst (revision 1bef8615)
1##############
2 php-src docs
3##############
4
5.. toctree::
6   :caption: Introduction
7   :hidden:
8
9   introduction/high-level-overview
10   introduction/ides/index
11
12.. toctree::
13   :caption: Core
14   :hidden:
15
16   core/data-structures/index
17
18Welcome to the php-src documentation!
19
20.. warning::
21
22   This documentation is work in progress.
23
24   At this point in time, there are other guides that provide a more complete picture of the PHP
25   project. Check the `CONTRIBUTING.md
26   <https://github.com/php/php-src/blob/master/CONTRIBUTING.md#technical-resources>`__ file for a
27   list of technical resources.
28
29php-src is the canonical implementation of the interpreter for the PHP programming language, as well
30as various extensions that provide common functionality. This documentation is intended to help you
31understand how the interpreter works, how you can build and test changes, and how you can create
32extensions yourself.
33
34This documentation is not intended to be comprehensive, but is meant to explain core concepts that
35are not easy to grasp by reading code alone. It describes best practices, and will frequently omit
36APIs that are discouraged for general use.
37
38******************
39 How to get help?
40******************
41
42Getting started with a new and complicated project like php-src can be overwhelming. While there's
43no way around reading lots and lots of code, asking questions of somebody with experience can save a
44lot of time. Luckily, many core developers are eager to help. Here are some ways you can get in
45touch.
46
47-  `Discord <https://phpc.chat>`__ (``#php-internals`` channel)
48-  `R11 on StackOverflow <https://chat.stackoverflow.com/rooms/11/php>`__
49
50***************
51 Prerequisites
52***************
53
54The php-src interpreter is written in C, and so are most of the bundled extensions. While extensions
55may also be written in C++, ext-intl is currently the only bundled extension to do so. It is
56advisable that you have *some* knowledge of C before jumping into php-src.
57
58It is also advisable to get familiar with the semantics of PHP itself, so that you may better
59differentiate between bugs and expected behavior, and model new language features.
60