8053 beefd0184a 2022-08-08 ct_chen 2 years ago
..
TSRM beefd0184a 2022-08-08 ct_chen 2 years ago
Zend beefd0184a 2022-08-08 ct_chen 2 years ago
appveyor beefd0184a 2022-08-08 ct_chen 2 years ago
build beefd0184a 2022-08-08 ct_chen 2 years ago
ext beefd0184a 2022-08-08 ct_chen 2 years ago
main beefd0184a 2022-08-08 ct_chen 2 years ago
pear beefd0184a 2022-08-08 ct_chen 2 years ago
release beefd0184a 2022-08-08 ct_chen 2 years ago
sapi beefd0184a 2022-08-08 ct_chen 2 years ago
scripts beefd0184a 2022-08-08 ct_chen 2 years ago
tests beefd0184a 2022-08-08 ct_chen 2 years ago
travis beefd0184a 2022-08-08 ct_chen 2 years ago
win32 beefd0184a 2022-08-08 ct_chen 2 years ago
.appveyor.yml beefd0184a 2022-08-08 ct_chen 2 years ago
.editorconfig beefd0184a 2022-08-08 ct_chen 2 years ago
.gdbinit beefd0184a 2022-08-08 ct_chen 2 years ago
.gitattributes beefd0184a 2022-08-08 ct_chen 2 years ago
.gitignore beefd0184a 2022-08-08 ct_chen 2 years ago
.travis.yml beefd0184a 2022-08-08 ct_chen 2 years ago
CODING_STANDARDS beefd0184a 2022-08-08 ct_chen 2 years ago
CONTRIBUTING.md beefd0184a 2022-08-08 ct_chen 2 years ago
CREDITS beefd0184a 2022-08-08 ct_chen 2 years ago
EXTENSIONS beefd0184a 2022-08-08 ct_chen 2 years ago
INSTALL beefd0184a 2022-08-08 ct_chen 2 years ago
LICENSE beefd0184a 2022-08-08 ct_chen 2 years ago
Makefile.frag beefd0184a 2022-08-08 ct_chen 2 years ago
Makefile.gcov beefd0184a 2022-08-08 ct_chen 2 years ago
Makefile.global beefd0184a 2022-08-08 ct_chen 2 years ago
NEWS beefd0184a 2022-08-08 ct_chen 2 years ago
README.EXT_SKEL beefd0184a 2022-08-08 ct_chen 2 years ago
README.GIT-RULES beefd0184a 2022-08-08 ct_chen 2 years ago
README.MAILINGLIST_RULES beefd0184a 2022-08-08 ct_chen 2 years ago
README.NEW-OUTPUT-API beefd0184a 2022-08-08 ct_chen 2 years ago
README.PARAMETER_PARSING_API beefd0184a 2022-08-08 ct_chen 2 years ago
README.REDIST.BINS beefd0184a 2022-08-08 ct_chen 2 years ago
README.RELEASE_PROCESS beefd0184a 2022-08-08 ct_chen 2 years ago
README.SELF-CONTAINED-EXTENSIONS beefd0184a 2022-08-08 ct_chen 2 years ago
README.STREAMS beefd0184a 2022-08-08 ct_chen 2 years ago
README.SUBMITTING_PATCH beefd0184a 2022-08-08 ct_chen 2 years ago
README.TESTING beefd0184a 2022-08-08 ct_chen 2 years ago
README.UNIX-BUILD-SYSTEM beefd0184a 2022-08-08 ct_chen 2 years ago
README.WIN32-BUILD-SYSTEM beefd0184a 2022-08-08 ct_chen 2 years ago
README.input_filter beefd0184a 2022-08-08 ct_chen 2 years ago
README.md beefd0184a 2022-08-08 ct_chen 2 years ago
UPGRADING beefd0184a 2022-08-08 ct_chen 2 years ago
UPGRADING.INTERNALS beefd0184a 2022-08-08 ct_chen 2 years ago
acinclude.m4 beefd0184a 2022-08-08 ct_chen 2 years ago
buildconf beefd0184a 2022-08-08 ct_chen 2 years ago
buildconf.bat beefd0184a 2022-08-08 ct_chen 2 years ago
configure.ac beefd0184a 2022-08-08 ct_chen 2 years ago
footer beefd0184a 2022-08-08 ct_chen 2 years ago
genfiles beefd0184a 2022-08-08 ct_chen 2 years ago
header beefd0184a 2022-08-08 ct_chen 2 years ago
ltmain.sh beefd0184a 2022-08-08 ct_chen 2 years ago
makedist beefd0184a 2022-08-08 ct_chen 2 years ago
php.gif beefd0184a 2022-08-08 ct_chen 2 years ago
php.ini-development beefd0184a 2022-08-08 ct_chen 2 years ago
php.ini-production beefd0184a 2022-08-08 ct_chen 2 years ago
php7.spec.in beefd0184a 2022-08-08 ct_chen 2 years ago
run-tests.php beefd0184a 2022-08-08 ct_chen 2 years ago
server-tests-config.php beefd0184a 2022-08-08 ct_chen 2 years ago
server-tests.php beefd0184a 2022-08-08 ct_chen 2 years ago
snapshot beefd0184a 2022-08-08 ct_chen 2 years ago
vcsclean beefd0184a 2022-08-08 ct_chen 2 years ago

README.EXT_SKEL

WHAT IT IS

It's a tool for automatically creating the basic framework for a PHP extension.

HOW TO USE IT

Very simple. First, change to the ext/ directory of the PHP sources. Then
run the following

php ext_skel.php --ext extension_name

and everything you need will be placed in directory ext/extension_name.

If you don't need to test the existence of any external header files,
libraries or functions in them, the extension is ready to be compiled in
PHP. To compile the extension, run the following:

./buildconf; ./configure --enable-extension_name; make

The definition of PHP_extension_NAME_VERSION will be present in the
php_extension_name.h and injected into the zend_extension_entry definition. This
is required by the PECL website for the version string conformity checks
against package.xml

SOURCE AND HEADER FILE NAME

The ext_skel.php script generates 'extension_name.c' and 'php_extension_name.h'
as the main source and header files. Keep these names.

extension functions (User functions) must be named

extension_name_function()

When you need to expose extension functions to other extensions, expose functions
strictly needed by others. Exposed internal function must be named

php_extension_name_function()

See also CODING_STANDARDS.

OTHER OPTIONS

Run php ext_skel.php --help to see the available options.