diff options
author | JasperVanEck <jaspergkurtz@gmail.com> | 2013-11-28 11:31:23 +0100 |
---|---|---|
committer | JasperVanEck <jaspergkurtz@gmail.com> | 2013-11-28 11:31:23 +0100 |
commit | 0fdfc4ced15ed29c407ad95cb0e1224711c1919d (patch) | |
tree | 1c288b5591407f496d735daf15461ff117cd8355 /Examples/Extension | |
parent | d8a1c0e46c39bce675d6322cd0bfa0f1f5ba3166 (diff) |
Added extension and functionvoid exmaple
Diffstat (limited to 'Examples/Extension')
-rw-r--r-- | Examples/Extension/Makefile | 21 | ||||
-rw-r--r-- | Examples/Extension/extension.cpp | 27 | ||||
-rw-r--r-- | Examples/Extension/extension.php | 10 |
3 files changed, 58 insertions, 0 deletions
diff --git a/Examples/Extension/Makefile b/Examples/Extension/Makefile new file mode 100644 index 0000000..3815a68 --- /dev/null +++ b/Examples/Extension/Makefile @@ -0,0 +1,21 @@ +CPP = g++ +RM = rm -f +CPP_FLAGS = -Wall -c -I. -O2 -std=c++11 + +LD = g++ +LD_FLAGS = -Wall -shared -O2 +RESULT = extension.so + +SOURCES = $(wildcard *.cpp) +OBJECTS = $(SOURCES:%.cpp=%.o) + +all: ${OBJECTS} ${RESULT} + +${RESULT}: ${OBJECTS} + ${LD} ${LD_FLAGS} -o $@ ${OBJECTS} -lphpcpp + +clean: + ${RM} *.obj *~* ${OBJECTS} ${RESULT} + +${OBJECTS}: + ${CPP} ${CPP_FLAGS} -fpic -o $@ ${@:%.o=%.cpp} diff --git a/Examples/Extension/extension.cpp b/Examples/Extension/extension.cpp new file mode 100644 index 0000000..99b88ea --- /dev/null +++ b/Examples/Extension/extension.cpp @@ -0,0 +1,27 @@ +/** + * extension.cpp + * @Author Jasper van Eck + * + * An example file to show the working of an extension. + */ +// library include +#include <phpcpp.h> + +/** + * Namespace to use + */ +using namespace std; + +// Symbols are exported according to the "C" language +extern "C" +{ + // export the "get_module" function that will be called by the Zend engine + PHPCPP_EXPORT void *get_module() + { + // create extension + static Php::Extension extension("my_simple_extension","1.0"); + + // return the extension module + return extension.module(); + } +} diff --git a/Examples/Extension/extension.php b/Examples/Extension/extension.php new file mode 100644 index 0000000..141efe6 --- /dev/null +++ b/Examples/Extension/extension.php @@ -0,0 +1,10 @@ +<?php +/* + * extension.php + * @Author Jasper van Eck + * + * An example file to show the working of an extension. + */ + +// print all the extensions currently loaded.\ +print_r(get_loaded_extensions()); |