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

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.