]> granicus.if.org Git - php/commitdiff
constructor prototype changed
authorHartmut Holzgraefe <hholzgra@php.net>
Sat, 26 Apr 2003 15:42:59 +0000 (15:42 +0000)
committerHartmut Holzgraefe <hholzgra@php.net>
Sat, 26 Apr 2003 15:42:59 +0000 (15:42 +0000)
code and documentation header and footer for constants block
now generated by static class methods

scripts/ext_skel_ng/php_constant.php

index c1db564b735621c1118332d5ad3b601e1781a9af..d3d2e5d4f9e4487dcf6dbcaec119f66976667628 100644 (file)
@@ -1,16 +1,31 @@
 <?php
 
        class php_constant extends php_element {
-               function php_constant($name, $value, $type="string", $desc="") {
-                       $this->name = $name;
-                       $this->value= $value;
-                       $this->type = $type;
+
+               function __construct($attr, $desc) {
+
+                       $this->name = $attr["name"];
+                       if (!$this->is_name($this->name)) {
+                               $this->error[] = "'$attr[name]'is not a valid constant name";
+                       }
+
+                       $this->type = isset($attr["type"]) ? $this->is_type($attr["type"]) : "string";
+                       if (!in_array($this->type, array('int', 'float', 'string'))) {
+                               $this->error[] = "'$attr[type]' is not a valid constant type, only int, float and string";
+                       } 
+
+                       $this->value= $attr["value"];
                        $this->desc = $desc;
                } 
+
+
+               static function c_code_header($name) {
+                       return "";
+               }
                
                function c_code() {
-                       switch($this->type) {
-                       case "integer":
+                       switch ($this->type) {
+                       case "int":
                                return "REGISTER_LONG_CONSTANT(\"{$this->name}\", {$this->value}, 0);\n";
                        
                        case "float":
                        }
                }
 
+               static function c_code_footer() {
+                       return "";
+               }
+
+               
+               
+               static function docbook_xml_header($name) {
+"    <table>
+     <title>$name constants</title>
+      <tgroup cols='3'>
+       <thead>
+        <row>
+         <entry>name</entry>
+         <entry>value</entry>
+         <entry>descrpition</entry>
+        </row>
+       </thead>
+      <tbody>
+";
+               }
+                       
                function docbook_xml() {
                        return trim("
 <row>
 </row>
 ")."\n";
                }
+
+               static function docbook_xml_footer() {
+                       return
+"     </tbody>
+    </tgroup>
+   </table>
+";
+               }
        }
 
 ?>