diff options
Diffstat (limited to 'Examples')
-rw-r--r-- | Examples/Exceptions/30-phpcpp.ini | 4 | ||||
-rw-r--r-- | Examples/Exceptions/Makefile | 32 | ||||
-rw-r--r-- | Examples/Exceptions/exception.cpp | 48 | ||||
-rw-r--r-- | Examples/Exceptions/exception.php | 17 | ||||
-rw-r--r-- | Examples/Extension/extension.cpp | 2 | ||||
-rw-r--r-- | Examples/Extension/extension.php | 4 | ||||
-rw-r--r-- | Examples/FunctionNoParameters/functionnoparameters.cpp | 2 | ||||
-rw-r--r-- | Examples/FunctionNoParameters/functionnoparameters.php | 2 | ||||
-rw-r--r-- | Examples/FunctionReturnValue/functionreturnvalue.cpp | 2 | ||||
-rw-r--r-- | Examples/FunctionReturnValue/functionreturnvalue.php | 2 | ||||
-rw-r--r-- | Examples/FunctionVoid/functionvoid.cpp | 2 | ||||
-rw-r--r-- | Examples/FunctionVoid/functionvoid.php | 2 | ||||
-rw-r--r-- | Examples/FunctionWithParameters/functionwithparameters.cpp | 2 | ||||
-rw-r--r-- | Examples/FunctionWithParameters/functionwithparameters.php | 2 |
14 files changed, 112 insertions, 11 deletions
diff --git a/Examples/Exceptions/30-phpcpp.ini b/Examples/Exceptions/30-phpcpp.ini new file mode 100644 index 0000000..3126aa7 --- /dev/null +++ b/Examples/Exceptions/30-phpcpp.ini @@ -0,0 +1,4 @@ +; configuration for phpcpp module +; priority=30 +extension=exception.so + diff --git a/Examples/Exceptions/Makefile b/Examples/Exceptions/Makefile new file mode 100644 index 0000000..d0c44fc --- /dev/null +++ b/Examples/Exceptions/Makefile @@ -0,0 +1,32 @@ +CPP = g++ +RM = rm -f +CPP_FLAGS = -Wall -c -I. -O2 -std=c++11 + +PREFIX = /usr +#Edit these lines to correspond with your own directories +LIBRARY_DIR = ${PREFIX}/lib/php5/20121212 +PHP_CONFIG_DIR = /etc/php5/cli/conf.d + +LD = g++ +LD_FLAGS = -Wall -shared -O2 +RESULT = exception.so + +PHPINIFILE = 30-phpcpp.ini + +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} + +install: + cp -f ${RESULT} ${LIBRARY_DIR} + cp -f ${PHPINIFILE} ${PHP_CONFIG_DIR} diff --git a/Examples/Exceptions/exception.cpp b/Examples/Exceptions/exception.cpp new file mode 100644 index 0000000..9ccd3f7 --- /dev/null +++ b/Examples/Exceptions/exception.cpp @@ -0,0 +1,48 @@ +/** + * exception.cpp + * @author Jasper van Eck<jasper.vaneck@copernica.com> + * + * An example file to show the working of a function which throws an exception. + * + * Exceptions haven't been implemented yet. + * Therefore this example is not yet a working one. + */ + +/** + * Libraries used. + */ +#include <phpcpp.h> + +/** + * Namespace to use + */ +using namespace std; + +/** + * my_throw_exception_function() + * Throws an exception. + * @return Php::Value + */ +Php::Value my_throw_exception_function() +{ + throw Php::Exception("I threw an exception in my_throw_exception_function()"); + return "42"; +} + + +// 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_function_throw_exception","1.0"); + + // add function to extension + extension.add("my_throw_exception_function", my_throw_exception_function); + + // return the extension module + return extension.module(); + } +} diff --git a/Examples/Exceptions/exception.php b/Examples/Exceptions/exception.php new file mode 100644 index 0000000..0fffff7 --- /dev/null +++ b/Examples/Exceptions/exception.php @@ -0,0 +1,17 @@ +<?php +/* + * exception.cpp + * @author Jasper van Eck<jasper.vaneck@copernica.com> + * + * An example file to show the working of a function which throws an exception. + * + * Exceptions haven't been implemented yet. + * Therefore this example is not yet a working one. + */ + +/* + * Run a function which throws an exception. + */ + +echo "Function which throws an exception; my_throw_exception_function()\n" +echo my_throw_exception_function() . "\n"; diff --git a/Examples/Extension/extension.cpp b/Examples/Extension/extension.cpp index 99b88ea..9f7f495 100644 --- a/Examples/Extension/extension.cpp +++ b/Examples/Extension/extension.cpp @@ -1,6 +1,6 @@ /** * extension.cpp - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of an extension. */ diff --git a/Examples/Extension/extension.php b/Examples/Extension/extension.php index 141efe6..3941c8c 100644 --- a/Examples/Extension/extension.php +++ b/Examples/Extension/extension.php @@ -1,10 +1,10 @@ <?php /* * extension.php - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of an extension. */ -// print all the extensions currently loaded.\ +// print all the extensions currently loaded. print_r(get_loaded_extensions()); diff --git a/Examples/FunctionNoParameters/functionnoparameters.cpp b/Examples/FunctionNoParameters/functionnoparameters.cpp index 2908ca5..da645fd 100644 --- a/Examples/FunctionNoParameters/functionnoparameters.cpp +++ b/Examples/FunctionNoParameters/functionnoparameters.cpp @@ -1,6 +1,6 @@ /** * functionnoparameters.cpp - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a function call without parameters. */ diff --git a/Examples/FunctionNoParameters/functionnoparameters.php b/Examples/FunctionNoParameters/functionnoparameters.php index 0d07b67..efaafc3 100644 --- a/Examples/FunctionNoParameters/functionnoparameters.php +++ b/Examples/FunctionNoParameters/functionnoparameters.php @@ -1,7 +1,7 @@ <?php /* * functionnoparameters.php - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a function call without parameters. */ diff --git a/Examples/FunctionReturnValue/functionreturnvalue.cpp b/Examples/FunctionReturnValue/functionreturnvalue.cpp index d26f86a..890a15f 100644 --- a/Examples/FunctionReturnValue/functionreturnvalue.cpp +++ b/Examples/FunctionReturnValue/functionreturnvalue.cpp @@ -1,6 +1,6 @@ /** * functionreturnvalue.cpp - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a function call with a return value. */ diff --git a/Examples/FunctionReturnValue/functionreturnvalue.php b/Examples/FunctionReturnValue/functionreturnvalue.php index 722a4fe..ba8f52b 100644 --- a/Examples/FunctionReturnValue/functionreturnvalue.php +++ b/Examples/FunctionReturnValue/functionreturnvalue.php @@ -1,7 +1,7 @@ <?php /* * functionreturnvalue.php - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a function call with a return value. */ diff --git a/Examples/FunctionVoid/functionvoid.cpp b/Examples/FunctionVoid/functionvoid.cpp index 3d0e85d..f4386ea 100644 --- a/Examples/FunctionVoid/functionvoid.cpp +++ b/Examples/FunctionVoid/functionvoid.cpp @@ -1,6 +1,6 @@ /** * functionvoid.cpp - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a void function call. */ diff --git a/Examples/FunctionVoid/functionvoid.php b/Examples/FunctionVoid/functionvoid.php index cc1840b..e6fbb67 100644 --- a/Examples/FunctionVoid/functionvoid.php +++ b/Examples/FunctionVoid/functionvoid.php @@ -1,7 +1,7 @@ <?php /* * functionvoid.php - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a void function call. */ diff --git a/Examples/FunctionWithParameters/functionwithparameters.cpp b/Examples/FunctionWithParameters/functionwithparameters.cpp index d7c1326..01db0f6 100644 --- a/Examples/FunctionWithParameters/functionwithparameters.cpp +++ b/Examples/FunctionWithParameters/functionwithparameters.cpp @@ -1,6 +1,6 @@ /** * functionwithparameters.cpp - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a function call with parameters. */ diff --git a/Examples/FunctionWithParameters/functionwithparameters.php b/Examples/FunctionWithParameters/functionwithparameters.php index 04a0cb6..b1eff25 100644 --- a/Examples/FunctionWithParameters/functionwithparameters.php +++ b/Examples/FunctionWithParameters/functionwithparameters.php @@ -1,7 +1,7 @@ <?php /* * functionwithparameters.php - * @Author Jasper van Eck + * @author Jasper van Eck<jasper.vaneck@copernica.com> * * An example file to show the working of a function call with parameters, defined and undefined. */ |