public function loadFragmentAsString($name = NULL, $folder = NULL, $data = NULL) { $args = func_get_args(); $data = NULL; if (array_key_exists(2, $args)) { $data = $args[2]; if (empty($data)) { return FALSE; } } String::mustBeNotEmpty($name, "Fragment name must be a non empty string"); if (!String::isString($folder)) { $folder = $this->_controller; } $name = trim($name); $fw = DI::get('config')->framework; if (!isset($fw->fragments) || empty($fw->fragments)) { throw new \Exception("Don't know how to load fragments, no path was specified in configuration"); } $ds = DIRECTORY_SEPARATOR; $fragment = sprintf('%s%s%s%s', Kernel::getAppDir(), $ds, $fw->fragments, $ds); $fragment = sprintf('%s%s%s%s', $fragment, $folder, $ds, $name); $fragment = new \apf\core\File($fragment); $this->assignConfigVars(); ob_start(); if ($this->fragmentDebug) { echo "<div class=\"__apf_fragment_debug\">"; } require $fragment; if ($this->fragmentDebug) { echo "</div>"; } $content = ob_get_contents(); ob_end_clean(); return $content; }