File index.php

Last commit: Thu Dec 26 13:56:25 2024 +0100	Jan Dankert	New: Example page
1 <html> 2 <head> 3 <title>Test page - Phariable</title> 4 </head> 5 <body> 6 7 <?php 8 9 use phariable\VariableResolver; 10 11 require ('autoload.php'); 12 13 function showExample( $name,$text,$data,$ns,$nsData,$marker,$open,$close,$defSep,$nsSep) 14 { 15 $resolver = new VariableResolver(); 16 ?> 17 <h1><?php echo $name ?></h1> 18 <h2>Code</h2> 19 <pre> 20 21 $resolver = new VariableResolver(); 22 $resolver->addDefaultResolver( <?php echo var_export($data) ?> ); 23 <?php if ( $ns ) { ?>$resolver->addResolver('<?php echo $ns ?>',<?php echo var_export($nsData) ?>); 24 <?php } ?> 25 <?php if ($resolver->marker!=$marker){?>$resolver->marker = '<?php echo $marker ?>'; 26 <?php } ?> 27 <?php if ($resolver->open!=$open){?>$resolver->open = '<?php echo $open ?>'; 28 <?php } ?> 29 <?php if ($resolver->close!=$close){?>$resolver->close = '<?php echo $close ?>'; 30 <?php } ?> 31 <?php if ($resolver->namespaceSeparator!=$nsSep){?>$resolver->namespaceSeparator = '<?php echo $nsSep ?>'; 32 <?php } ?> 33 <?php if ($resolver->defaultSeparator!=$defSep){?>$resolver->defaultSeparator = '<?php echo $defSep ?>'; 34 <?php } ?> 35 echo $resolver->resolveVariables( '<?php echo htmlentities($text) ?>' ); 36 37 </pre> 38 39 <h2>Result</h2> 40 <em><?php 41 $resolver->addDefaultResolver( $data ); 42 if ( $ns ) { 43 $resolver->addResolver($ns,$nsData); 44 } 45 $resolver->open = $open; 46 $resolver->close = $close; 47 $resolver->marker = $marker; 48 $resolver->defaultSeparator = $defSep; 49 $resolver->namespaceSeparator = $nsSep; 50 $result = $resolver->resolveVariables( $text ); 51 52 echo htmlentities($result); 53 54 ?></em> 55 <?php } 56 57 showExample( 58 'Simple Example', 59 "Hello, my Name is \${name}.", 60 ['name'=>'Jan'], 61 null, 62 null, 63 '$', 64 '{', 65 '}', 66 ':', 67 '.' 68 ); 69 70 showExample( 71 'Simple Example with default values', 72 "Hello, my Name is \${name:unknown}.", 73 ['othername'=>'Jan'], 74 null, 75 null, 76 '$', 77 '{', 78 '}', 79 ':', 80 '.' 81 ); 82 83 showExample( 84 'Example with custom separator characters', 85 'Hello, my Name is %(name?unknown).', 86 ['name'=>'Jan'], 87 null, 88 null, 89 '%', 90 '(', 91 ')', 92 '?', 93 '>' 94 ); 95 96 showExample( 97 'Example with namespaces', 98 "Hello, my Name is \${name} and today is \${date.weekday}.", 99 ['name'=>'Jan'], 100 'date', 101 ['weekday'=>date('l')], 102 '$', 103 '{', 104 '}', 105 ':', 106 '.' 107 ); 108 109 showExample( 110 'Complex Example with nested variables', 111 "Hello, my Name is \${user_\${userid}}.", 112 ['userid'=>'jan','user_jan'=>'Jan',], 113 null, 114 null, 115 '$', 116 '{', 117 '}', 118 ':', 119 '.' 120 ); 121 ; 122 123 124 ?> 125 126 </body> 127 </html>
Download index.php
History Thu, 26 Dec 2024 13:56:25 +0100 Jan Dankert New: Example page