PHP5's C extension API has changed substantially so you need to use -php7 to specify you want PHP7 compatible wrappers. Fixes https://github.com/swig/swig/issues/571
49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
|
|
# This file illustrates the low-level C++ interface
|
|
# created by SWIG. In this case, all of our C++ classes
|
|
# get converted into function calls.
|
|
|
|
require("example.php");
|
|
|
|
# ----- Object creation -----
|
|
|
|
print "Creating some objects:\n";
|
|
$c = new Circle(10);
|
|
print " Created circle \$c\n";
|
|
$s = new Square(10);
|
|
print " Created square \$s\n";
|
|
|
|
# ----- Create the ShapeContainer ----
|
|
|
|
$container = new ShapeContainer();
|
|
|
|
$container->addShape($c);
|
|
$container->addShape($s);
|
|
|
|
# ----- Access a static member -----
|
|
|
|
print "\nA total of " . Shape::nshapes() . " shapes were created\n";
|
|
|
|
# ----- Delete by the old references -----
|
|
# This should not truely delete the shapes because they are now owned
|
|
# by the ShapeContainer.
|
|
|
|
print "Delete the old references.";
|
|
|
|
# Note: this invokes the virtual destructor
|
|
$c = NULL;
|
|
$s = NULL;
|
|
|
|
print "\nA total of " . Shape::nshapes() . " shapes remain\n";
|
|
|
|
# ----- Delete by the container -----
|
|
# This should truely delete the shapes
|
|
|
|
print "Delete the container.";
|
|
$container = NULL;
|
|
print "\nA total of " . Shape::nshapes() . " shapes remain\n";
|
|
|
|
print "Goodbye\n";
|
|
|
|
?>
|