summaryrefslogtreecommitdiff
path: root/scripts/ext_skel_ng/php_constant.php
diff options
context:
space:
mode:
authorHartmut Holzgraefe <hholzgra@php.net>2003-02-19 10:07:22 +0000
committerHartmut Holzgraefe <hholzgra@php.net>2003-02-19 10:07:22 +0000
commit1dc3726ff2881f06716340fb74c35dfba094c0af (patch)
treea64885bf135dd1ec40acc82864105cd94cbe7fb8 /scripts/ext_skel_ng/php_constant.php
parent71e6110bc87babf952f93c0d0122c936925dbd22 (diff)
downloadphp-git-1dc3726ff2881f06716340fb74c35dfba094c0af.tar.gz
next generation ext_skel script - initial checkin
Diffstat (limited to 'scripts/ext_skel_ng/php_constant.php')
-rw-r--r--scripts/ext_skel_ng/php_constant.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/scripts/ext_skel_ng/php_constant.php b/scripts/ext_skel_ng/php_constant.php
new file mode 100644
index 0000000000..fd1ac36352
--- /dev/null
+++ b/scripts/ext_skel_ng/php_constant.php
@@ -0,0 +1,38 @@
+<?php
+
+ class php_constant extends php_element {
+ function php_constant($name, $value, $type="string", $desc="") {
+ $this->name = $name;
+ $this->value= $value;
+ $this->type = $type;
+ $this->desc = $desc;
+ }
+
+ function c_code() {
+ switch($this->type) {
+ case "integer":
+ return "REGISTER_LONG_CONSTANT(\"{$this->name}\", {$this->value}, 0);\n";
+
+ case "float":
+ return "REGISTER_DOUBLE_CONSTANT(\"{$this->name}\", {$this->value}, 0);\n";
+
+ case "string":
+ return "REGISTER_STRING_CONSTANT(\"{$this->name}\", \"$value\", ".strlen($this->value).", 0);\n";
+ }
+ }
+
+ function docbook_xml() {
+ return trim("
+<row>
+ <entry>
+ <constant id='constant".strtolower(str_replace("_","-",$this->name))."'>$name</constant>
+ (<link linkend='language.types.integer'>integer</link>)
+ </entry>
+ <entry>{$this->value}</entry>
+ <entry>{$this->desc}</entry>
+</row>
+")."\n";
+ }
+ }
+
+?> \ No newline at end of file