I'm trying to implement a simple templates engine with PHP. Everything works pretty nice except my form generator. I'm trying to render different form inputs based on the field type I get from backend. This is what I have got so far. It crashes with message
Parse error: syntax error, unexpected 'case' (T_CASE) in /var/www/cap/App/Template/form.php on line 34
.
case 'text': ?>` is my line 34.
It crashes no matter how I arrange the order of case
statements - always at the begining of second case
.
<table class="showTable">
<?php foreach ($vars['fields'] as $name => $f) { ?>
<tr>
<td class="label"><?php echo $f['fancy']; ?></td>
<td>
<?php if(isset($f['readonly']) && $f['readonly'] === true) { ?>
<?php echo $vars['entity']->$name; ?>
<?php } else {
switch($f['type']) {
case 'string': ?>
<input type="text"
name="entity[<?php echo $name; ?>]"
<?php if(isset($f['required']) && $f['required'] === true) {?> required<?php} ?>
value="<?php echo $vars['entity']->$name; ?>" />
<?php break;
case 'text': ?>
<textarea name="entity[<?php echo $name; ?>]"
<?php if(isset($f['required']) && $f['required'] === true) {?> required<?php} ?>>
<?php echo $vars['entity']->$name; ?>
</textarea>
<?php break;
case 'float': ?>
<input type="number" step="0.01"
name="entity[<?php echo $name; ?>]"
<?php if(isset($f['required']) && $f['required'] === true) {?> required<?php} ?>
value="<?php echo $vars['entity']->$name; ?>" />
<?php break;
case 'integer': ?>
<input type="number" step="1"
name="entity[<?php echo $name; ?>]"
<?php if(isset($f['required']) && $f['required'] === true) {?> required<?php} ?>
value="<?php echo $vars['entity']->$name; ?>" />
<?php break;
}
} ?>
</td>
</tr>
<?php } ?>
</table>