草庐IT

smarty_var

全部标签

php - 我可以让 Smarty 根据优先级从目录中选择模板吗?

我正在制作一个PHPwiki引擎,它对所有指向它的网站使用相同的模板。但是有些网站有自定义模板。我可以让Smarty使用这个自定义模板吗?这是我的目录结构:/web/wiki/templates我怎样才能聪明地使用/web/wiki/templates/wiki.domain.com中的模板首先用于wiki.domain.com,如果模板没有不存在于此目录,则使用/web/wiki/templates中的模板?我可以为Smarty定义多个模板目录,让它先尝试从顶层目录中选择模板吗?如果我能做到这一点,我可以简单地更改模板目录的顺序:/web/wiki/templates/wiki.do

php - 在 {php} 中为 smarty 分配新变量

目前我在一个模板中,需要{php}从模型/数据库中读取一些东西。这现在应该是当前模板中的一个新的smarty变量。我该如何解决这个问题?例如:{php}$var["newSmartyVar"]=model_gimme_data();$currentTemplate->assign($var);{/php}Thevalueis{$newSmartyVar}!这里正确的代码是什么?(是的,不常见且不抽象,但仅用于快速原型(prototype)制作。代码稍后将放入Controller中。) 最佳答案 $this指的是当前smarty实例:

php - 如何使用 get_object_vars 获取属性的层次顺序?

我有一些相互扩展的类,每次都添加更多属性。现在我需要获取一个类的所有属性的列表,但是按照它们被声明的顺序,首先是父类的属性。例如:classfoo{public$a=1;public$c=2;public$d=3;}classfoo2extendsfoo{public$b=4;}$test=newfoo2;var_dump(get_object_vars($test));这给出了:array(4){["b"]=>int(4)["a"]=>int(1)["c"]=>int(2)["d"]=>int(3)}但我想要:array(4){["a"]=>int(1)["c"]=>int(2)["

用于 url 验证的 PHP 正则表达式,filter_var 过于宽松

首先让我们根据我的要求定义一个“URL”。唯一允许的可选协议(protocol)是http://和https://然后是强制性域名,例如stackoverflow.com然后可选择其余的url组件(path、query、hash、...)根据我的要求引用有效和无效网址的列表有效stackoverflow.comstackoverflow.com/questions/askhttps://stackoverflow.com/questions/askhttp://www.amazon.com/Computers-Internet-Books/b/ref=bhp_bb0309A_comin

PHP 的 filter_var,它是一个很好的现代解决方案吗?

filter_var()的可靠性如何?你觉得有用吗?它是验证用户输入的好解决方案吗? 最佳答案 虽然我还没有在任何项目中使用过它,但我已经尝试了一下,我尝试过的所有过滤器似乎都工作得很好——而且它比我目前使用的凌乱的正则表达式更优雅的解决方案采用。我当然认为这是一个非常有用的功能,我将来肯定会使用它。 关于PHP的filter_var,它是一个很好的现代解决方案吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

php - smarty缓存是如何工作的?它怎么知道什么时候缓存?

是什么让smarty决定它拥有的缓存是否足够,或者是否需要重新创建它?$_REQUEST会做吗?或所有全局变量,包括cookie、session等...index.php和index.php?task=home有相同的缓存,cookies和session信息呢?它是如何工作的?我有一个网站,我想最大限度地缓存它,但我什至不知道缓存是如何工作的,而且他们也没有在smarty网站上解释内部结构。对Rodney的回答可能有助于理解我的问题:我很想知道smarty是否将动态代码转换为静态html,如smarty.net/docs/en/language.function.nocache.tpl

如果在函数调用中分配了 var,PHP 将忽略通过引用传递

我有两个功能functionc(&$x){$x=25;echo'ciscalled,x='.$x.PHP_EOL;}functionb(){echo'biscalled'.PHP_EOL;return5;}然后我编写了下面的代码,正如我所期望的那样,它应该将b()的结果放入$o,然后通过引用将$o传递给c()并将其设置为新值。它工作正常:$o=b();c($o);echo'ois'.$o;输出符合预期:biscalledciscalled,x=25ois25但是如果我尝试在这样的函数调用中分配$o的值:c($o=b());echo'ois'.$o;我得到奇怪的输出biscalledci

php - filter_var($url, FILTER_VALIDATE_URL) 在 PHP 5.3.2 中表现怪异

由于某些奇怪的原因,下面的函数表示此url“paradox-productions.net”在http://alpha.shurl.be/上无效在我的本地主机上有效。它是PHP中的错误还是可能导致此问题的原因?谁能证实这一点?可以解决还是我需要在我的服务器上升级PHP?php信息:http://alpha.shurl.be/phpinfo.php功能: 最佳答案 这是PHP5.3.2中的一个已知错误。它认为带有破折号的URL无效。参见https://bugs.php.net/bug.php?id=51258.您的本地PHP必须是不存

php - 使用 Smarty 或 Backbone.js 制作 javascript 模板

我已经开发了一个应用程序8个月了,它一直在使用SmartyforPHP模板。我对Smarty一点问题都没有,我已经开始为网站上的用户添加更多的JavaScript交互。我也在考虑使用backbone.js来模板化JavaScript。但我又想到了一个想法,返回一个smarty模板并将其加载到div中而不是返回一个json并使用backbone.js来格式化结果是否是个坏主意?这会降低应用程序的速度吗?这样做有什么好处(如果有的话)和坏处?任何想法都会很棒,谢谢 最佳答案 对于一个普通的多页面“网站”,用户可以从一个页面导航到另一个页

php - 奇怪的 var_dump 行为

我有以下代码行:var_dump(array());在一个文件中,它输出这样的:array(size=0)empty在第二个文件中,它输出这个:string'array(size=0)empty'(length=119)知道是什么原因导致第二个文件出现这种情况吗?当我查看第二个文件的呈现标记的来源时,我看到了:string'<preclass='xdebug-var-dump'dir='ltr'> <b>array</b><i>(size=0)</i> <i><