本文整理汇总了PHP中Smarty::clearAllAssign方法的典型用法代码示例。如果您正苦于以下问题:PHP Smarty::clearAllAssign方法的具体用法?PHP Smarty::clearAllAssign怎么用?PHP Smarty::clearAllAssign使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Smarty
的用法示例。
在下文中一共展示了Smarty::clearAllAssign方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Render
/**
* Renders the output
*/
public function Render()
{
if ($this->config->GetValue('cache') == true && $this->config->GetValue('cacheexpire') === true) {
$this->CacheExpire();
}
$log = GitPHP_DebugLog::GetInstance();
if (!$this->tpl->isCached($this->GetTemplate(), $this->GetFullCacheKey())) {
$this->tpl->clearAllAssign();
$log->TimerStart();
$this->LoadCommonData();
$log->TimerStop('Common data');
$log->TimerStart();
$this->LoadData();
$log->TimerStop('Data');
}
if (!$this->preserveWhitespace) {
//$this->tpl->loadFilter('output', 'trimwhitespace');
}
$log->TimerStart();
$this->tpl->display($this->GetTemplate(), $this->GetFullCacheKey());
$log->TimerStop('Render');
$this->tpl->clearAllAssign();
if ($this->projectList) {
$log->Log('MemoryCache', 'Count: ' . $this->projectList->GetMemoryCache()->GetCount());
}
if ($log->GetEnabled()) {
$this->tpl->assign('debuglog', $log);
$this->tpl->display('debug.tpl');
}
}
示例2: clearVars
/**
* Clear all assigned variables
*
* Clears all variables assigned to Zend_View either via {@link assign()} or property
* overloading ({@link __get()}/{@link __set()}).
*
* Both Zend_View_Helper_Action::cloneView() and Zend_View_Helper_Partial::cloneView()
* executes a "$view->clearVars();" line after a "$view = clone $this->view;" . Because
* of how the "clone" operator works internally (object references are also copied, so a
* clone of this object will point to the same Smarty object instance as this, the
* "$view->clearVars();" unsets all the Smarty template variables. To solve this,
* there is the {@link __clone()} method in this class which is called by the "clone"
* operator just after it did it's cloning job.
*
* This sets a flag ($this->_isBeingCloned) for use below to avoid clearing the template
* variables in the cloned object.
*
* If for any reason this doesn't work, neither after amending {@link __clone()}, an
* other "solution" is in the method, but commented out. That will also work, but it is
* relatively slow and, not nice at all. That takes a look on it's backtrace, and if
* finds a function name "cloneView" then does NOT execute Smarty's clearAllAssign().
*
* Or just make this an empty function if neither the above works.
*
* @param void
*/
public function clearVars()
{
//if (in_array('cloneView', OSS_Utils::filterFieldFromResult(OSS_Debug::compact_debug_backtrace(), 'function', false, false)) == false) $this->_smarty->clear_all_assign();
if (!$this->_isBeingCloned) {
$this->_smarty->clearAllAssign();
} else {
$this->_isBeingCloned = false;
}
}
示例3: render
/**
* {@inheritDoc}
*
* @see PhpRenderer::render
*/
public function render($nameOrModel, $values = null)
{
if ($nameOrModel instanceof ModelInterface) {
$model = $nameOrModel;
$nameOrModel = $model->getTemplate();
if (empty($nameOrModel)) {
$msg = '%s: received View Model argument, but template is empty';
throw new Exception\DomainException(sprintf($msg, __METHOD__));
}
$values = $model->getVariables();
if ($values instanceof \ArrayObject) {
$values = $values->getArrayCopy();
}
}
$tpl = $this->resolver->resolve($nameOrModel);
$this->smarty->clearAllAssign();
$this->smarty->assign($values);
if ($this->config->enable_helper_object) {
$this->smarty->assign($this->config->assigning_helper_name, new HelperProxy($this->helpers));
}
$content = $this->smarty->fetch($tpl);
return $content;
}
示例4: Generate
/**
* Generate the application based on the selected tables and options
*/
public function Generate()
{
// check for all required fields
if (empty($_REQUEST["table_name"])) {
throw new Exception("Please select at least one table to generate");
}
$cstring = $this->GetConnectionString();
// initialize the database connection
$handler = new DBEventHandler();
$connection = new DBConnection($cstring, $handler);
$server = new DBServer($connection);
$dbSchema = new DBSchema($server);
$debug = isset($_REQUEST["debug"]) && $_REQUEST["debug"] == "1";
$parameters = array();
$tableNames = $_REQUEST["table_name"];
$packageName = $_REQUEST["package"];
$debug_output = "";
$selectedTables = array();
foreach ($tableNames as $tableName) {
$selectedTables[] = $dbSchema->Tables[$tableName];
}
// see if arbitrary parameters were passed in - in which case they will be passed through to the templates
$tmp = RequestUtil::Get('parameters');
if ($tmp) {
$pairs = explode("\n", str_replace("\r", "", $tmp));
foreach ($pairs as $pair) {
list($key, $val) = explode("=", $pair, 2);
$parameters[$key] = $val;
}
}
// check for required parameters
if (!array_key_exists('max_items_in_topnav', $parameters)) {
$parameters['max_items_in_topnav'] = self::$DEFAULT_MAX_ITEMS_IN_TOPNAV;
}
$zipFile = new zipfile();
$codeRoot = GlobalConfig::$APP_ROOT . '/code/';
$tempRoot = GlobalConfig::$APP_ROOT . '/temp/';
// initialize smarty
$smarty = new Smarty();
$smarty->template_dir = $codeRoot;
$smarty->compile_dir = $tempRoot;
$smarty->config_dir = $tempRoot;
$smarty->cache_dir = $tempRoot;
$smarty->caching = false;
$appname = RequestUtil::Get("appname");
$appRoot = RequestUtil::Get("appRoot");
$includePath = RequestUtil::Get("includePath");
$includePhar = RequestUtil::Get("includePhar");
$enableLongPolling = RequestUtil::Get("enableLongPolling");
$config = new AppConfig($codeRoot . $packageName);
foreach ($config->GetTemplateFiles() as $templateFile) {
if ($templateFile->generate_mode == 3) {
if ($includePhar == '1') {
// proceed, copy the phar file
$templateFile->generate_mode = 2;
} else {
// skip the phar file
continue;
}
}
if ($templateFile->generate_mode == 2) {
// this is a template that is copied without parsing to the project (ie images, static files, etc)
$templateFilename = str_replace(array('{$appname}', '{$appname|lower}', '{$appname|upper}'), array($appname, strtolower($appname), strtoupper($appname)), $templateFile->destination);
$contents = file_get_contents($codeRoot . $templateFile->source);
// this is a direct copy
if ($debug) {
$debug_output .= "\r\n###############################################################\r\n" . "# {$templateFilename}\r\n###############################################################\r\n" . "(contents of " . $codeRoot . $templateFile->source . ")\r\n";
} else {
$zipFile->addFile($contents, $templateFilename);
}
} elseif ($templateFile->generate_mode == 1) {
// single template where one is generated for the entire project instead of one for each selected table
$templateFilename = str_replace(array('{$appRoot}', '{$appRoot|lower}', '{$appRoot|upper}'), array($appRoot, strtolower($appRoot), strtoupper($appRoot)), $templateFile->destination);
$smarty->clearAllAssign();
foreach ($parameters as $key => $val) {
$smarty->assign($key, $val);
}
$smarty->assign("tableNames", $tableNames);
$smarty->assign("templateFilename", $templateFilename);
$smarty->assign("schema", $dbSchema);
$smarty->assign("tables", $dbSchema->Tables);
$smarty->assign("connection", $cstring);
$smarty->assign("appname", $appname);
$smarty->assign("appRoot", $appRoot);
$smarty->assign("includePath", $includePath);
$smarty->assign("includePhar", $includePhar);
$smarty->assign("enableLongPolling", $enableLongPolling);
$smarty->assign("PHREEZE_VERSION", Phreezer::$Version);
$tableInfos = array();
// add all tables to a tableInfos array that can be used for cross-referencing by table name
foreach ($dbSchema->Tables as $table) {
if ($table->GetPrimaryKeyName()) {
$tableName = $table->Name;
$tableInfos[$tableName] = array();
$tableInfos[$tableName]['table'] = $dbSchema->Tables[$tableName];
$tableInfos[$tableName]['singular'] = $_REQUEST[$tableName . "_singular"];
$tableInfos[$tableName]['plural'] = $_REQUEST[$tableName . "_plural"];
//.........这里部分代码省略.........
示例5: clearAll
/**
* @see IRenderEngine::clearAll()
*/
function clearAll()
{
$this->smarty->clearAllAssign();
}
示例6: clearVars
/**
* Clear all assigned variables
*
* Clears all variables assigned to Zend_View either via {@link assign()} or
* property overloading ({@link __get()}/{@link __set()}).
*
* @return void
*/
public function clearVars()
{
$this->_smarty->clearAllAssign();
}
示例7: clearVars
/**
* Zend_View compatibility. Removes all template vars
*
* @see View/Zend_View_Abstract::clearVars()
* @return Ext_View_Smarty
*/
public function clearVars()
{
$this->_smarty->clearAllAssign();
$this->assign('this', $this);
return $this;
}
示例8: clearValues
/**
* Clear all assigned values
*
* @return void
*/
public function clearValues()
{
parent::clearValues();
$this->_smarty->clearAllAssign();
}