<?php /** * Sets the current Wow flavor * and initializes the Wow engine */ namespace Application; use Application\Core\Wow; Wow::flavor(Wow::COMBINED); Wow::start();
Wow::register(Wow::rx("\\<view\\s+inject\\s*\\>(.+?)\\<\\/view\\>", "i"), "Core\\ViewHandler::find()->\$1"); Wow::register(Wow::rx("\\<view\\s+(?:(?:inject\\s+name=\"(.+?)\")|(?:name=\"(.+?)\"\\s+inject))\\s*\\>(.+?)\\<\\/view\\>", "i"), "Core\\ViewHandler::find('\$1')->\$2"); // // <spoof method="DELETE" /> // Wow::register(Wow::rx("\\<spoof\\s+method=\"([a-zA-Z]+)\"\\s*\\/?\\>", "i"), '<input type="hidden" name="_method" value="$1" />'); // // <formtoken name="..." /> // Wow::register(Wow::rx("\\<formtoken\\s+name=\"(.+?)\"\\s*\\/?\\>", "i"), '<input type="hidden" data-component="token.$1" name="token-$1" value="<?php echo Core\\FormTokenHandler::generate("$1"); ?>" />'); // // <formtoken name="..." /> // Wow::register(Wow::rx("\\<formtoken\\s+(?:(?:persistent\\s+name=\"(.+?)\")|(?:name=\"(.+?)\")\\s+persistent)\\s*\\/?\\>", "i"), '<input type="hidden" data-component="token.$1" name="token-$1" value="<?php echo Core\\FormTokenHandler::persistent("$1"); ?>" />'); } if (Wow::flavor() >= Wow::COMBINED) { // // @echo:$username // Wow::register(Wow::rx("@echo:(.+?);", "i"), "<?php echo \$1; ?>"); // // @php: // // echo 'ok'; // // @endphp // Wow::register(Wow::rx("@php:(.+?)@endphp", "is"), "<?php \$1 ?>"); // // Used to end statements such as if, foreach, ... // @end
use xTend\Workbench\Workbench; /** * Creates a new basic layout */ Workbench::register('^new:layout ([a-zA-Z0-9\\_\\.]+)$', function ($argv) { $name = $argv[1]; $dot_pos = strrpos($name, '.'); if ($dot_pos !== false) { $dir = Core\App::layouts()->directory(substr($name, 0, $dot_pos)); if (!$dir->exists()) { $dir->create(); } } $layout = Core\App::layouts()->file($name . '.wow.php', 2); if (Core\Wow::flavor() == Core\Wow::AT_SIGN) { $layout->write('<!DOCTYPE html> <html> <head> @section:head </head> <body> @section:body </body> </html>'); } else { $layout->write('<!DOCTYPE html> <html> <head> <section name="head" /> </head>