スコープに含まれていない変数を使用すると、PHPTAL は例外をスローします。PHPTAL を適切なデフォルトに戻す方法はありますか。たとえば、ブール コンテキストで false に評価したり、文字列コンテキストで空白に評価したりする方法はありますか?
user8599
質問する
1054 次
2 に答える
5
| nothing
「 」を TALES 式に追加したり、式で使用isset()
したりできphp:
ます。
<p tal:attributes="class php:isset(class)?class:NULL"
tal:content="variable | nothing" />
特定の変数に依存するより大きなコードがある場合は、exists:
修飾子を使用します。
<div tal:condition="exists:variable">
…
</div>
任意の変数の存在を偽造したい場合は、それを行うことができますが、お勧めしません (タイプミスが隠されます)。
class FakeAll extends stdClass
{
function __get($var){return "";}
function __isset($var){return true;}
}
$p = new PHPTAL();
$p->getContext()->setGlobal(new FakeAll());
于 2009-03-29T00:03:23.423 に答える
0
短いバージョンも:
<input type="text" name="id" value="${data/formvalues/id|nothing}" />
于 2013-07-02T14:03:31.937 に答える