public function execute() { //this is what happens when a view is executed $path = $this->_filePath; if ($this->_isWow) { $path = Wow::view($this->_filePath, App::layouts(), App::modules()); if ($this->_version !== false) { $dot_pos = strrpos($path, '.', -5); $path = substr($path, 0, $dot_pos) . '.v' . $this->_version . '.php'; } } FileManager::include($path); }
// Wow::register(Wow::rx('@controller:\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "<?php echo Core\\ControllerHandler::find()::\$1; ?>"); Wow::register(Wow::rx('@icontroller:\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "Core\\ControllerHandler::find()::\$1"); // // @controller_Pages.HomeController:method() // Wow::register(Wow::rx('@controller_(.+?):\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "<?php echo Core\\ControllerHandler::find('\$1')::\$2; ?>"); Wow::register(Wow::rx('@icontroller_(.+?):\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "Core\\ControllerHandler::find('\$1')::\$2"); // // @view:method() // Wow::register(Wow::rx('@view:\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "<?php echo Core\\ViewHandler::find()->\$1; ?>"); Wow::register(Wow::rx('@iview:\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "Core\\ViewHandler::find()->\$1"); // // @view_index:method() // Wow::register(Wow::rx('@view_(' . Wow::PHP_NAME_RX . '):\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "<?php echo Core\\ViewHandler::find('\$1')->\$2; ?>"); Wow::register(Wow::rx('@iview_(' . Wow::PHP_NAME_RX . '):\\$?(' . Wow::PHP_NAME_RX . '\\(.*?\\)|' . Wow::PHP_NAME_RX . ')', "i"), "Core\\ViewHandler::find('\$1')->\$2"); // // @spoof_method:DELETE // Wow::register(Wow::rx("@spoof_method:([a-zA-Z]+)", "i"), '<input type="hidden" name="_method" value="$1" />'); // // @formtoken:name // Wow::register(Wow::rx('@formtoken:([a-zA-Z0-9\\_\\-]+)', "i"), '<input type="hidden" name="token-$1" value="<?php echo Core\\FormTokenHandler::generate("$1"); ?>" />'); // // @formtoken_persistent:name // Wow::register(Wow::rx('@formtoken_persistent:([a-zA-Z0-9\\_\\-]+)', "i"), '<input type="hidden" name="token-$1" value="<?php echo Core\\FormTokenHandler::persistent("$1"); ?>" />'); }
<?php /** * Sets the current Wow flavor * and initializes the Wow engine */ namespace Application; use Application\Core\Wow; Wow::flavor(Wow::COMBINED); Wow::start();
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>