smarty 如何调用 php类的常量成员
php 内容:
require("libs/Smarty.class.php");
class my_class
{
const PWD = "gogo";
var $username = "深空";
}
$class_obj = new my_class;
echo $class_obj->username.'
';
echo $class_obj::PWD.'
';
$smarty->assign('class_obj', $class_obj);
$smarty->display('eg_4_2.tpl');
?>
tpl内容:
{$class_obj->username}
{$class_obj::PWD}
对于$class_obj->username
在 php 和 tpl 两边使用都正常。。。
对于$class_obj::PWD
在php使用就正常
在tpl使用就报错
请熟悉的指点下,谢谢!
------解决方案--------------------
您需要遵守 smarty 的规则,否则将被 smarty 开除
------解决方案--------------------
http://wenku.baidu.com/view/c2aa98ef551810a6f52486af.html
------解决方案--------------------
试下 my_class::PWD
还不行看这里
http://www.smarty.net/docs/en/advanced.features.static.classes.tpl
------解决方案--------------------
把类名传过去。$smarty->assign('my_class', my_class);
tpl调用:
{php}
echo my_class::PWD;
{/php}
PHP 5.3.0之后才可以用 $class_obj::PWD 调用。之前的版本是不能的。不知道你php版本是多少?
------解决方案--------------------
还在纠结啊,按我那种方法试了吗? 哪里不行?
------解决方案--------------------
不知道你在纠结什么:
- PHP code
<?phpclass C{ const AAA = "This is const<br>";}$obj = new C();$a = C::AAA; $smarty->assign("A",$a); $smarty->assign("str1",$str1); $smarty->assign("str2",$str2); $smarty->display("test.html");?><br><font color="#e78608">------解决方案--------------------</font><br>我是看明白了。但我无能为力。<br><font color="#e78608">------解决方案--------------------</font><br> $smarty->assign("str1",$str1);<br> $smarty->assign("str2",$str2);<br>为测试数据,没用,删掉<br><font color="#e78608">------解决方案--------------------</font><br>理解你的需求, 很有可能smarty还没有收到这方面的需求,<br>所以也没有做出这个功能,你完全可以上他们的网站提下这个需求,<br>或者自己写个plugin<br><br>
------解决方案--------------------
这么无理的需求也提?开发的时候要变通
------解决方案--------------------
还在纠结这个问题吗?
{$class_obj::PWD}
被翻译成了
tpl_vars['class_obj']->value::PWD;?>
虽然
$class_obj = new my_class;
echo $class_obj->username.'
';
echo $class_obj::PWD.'
';
可以得到正确的结果(但他是不严密的)
但这样呢?
$class_obj->x = new my_class;
echo $class_obj->x->username.'
'; //这里能输出 深空
echo $class_obj->x::PWD.'
';//这里就要报错了:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting ',' or ';' in
------解决方案--------------------
我查过手册,只有变量可以那样传值,常量不能这样传值!!
只能这样:
php:$PWD=$class_obj::PWD; $smarty->assign("PWD",$PWD);
tpl:{$PWD}
------解决方案--------------------

phpssionscanStorestrings、numbers、arrays、andobjects.1.strings:textdatalikeusernames.2.numbers:integersorfloatsforcounters.3.arrays:listslikeshoppingcarts.4.objects:complextructuresthataresialized。

tostartaphpsession、outsession_start()atthescript'sbeginning.1)placeitbe foreanyouttosetthesscookie.2)usesionsionsionsionserdatalikelogintatussorshoppingcarts.3)再生セッションインドストップレベントフィックスアタック

セッション再生とは、新しいセッションIDを生成し、セッション固定攻撃の場合にユーザーが機密操作を実行するときに古いIDを無効にすることを指します。実装の手順には次のものが含まれます。1。感度操作を検出、2。新しいセッションIDを生成する、3。古いセッションIDを破壊し、4。ユーザー側のセッション情報を更新します。

PHPセッションは、アプリケーションのパフォーマンスに大きな影響を与えます。最適化方法には以下が含まれます。1。データベースを使用してセッションデータを保存して応答速度を向上させます。 2。セッションデータの使用を削減し、必要な情報のみを保存します。 3.非ブロッキングセッションプロセッサを使用して、同時実行機能を改善します。 4.セッションの有効期限を調整して、ユーザーエクスペリエンスとサーバーの負担のバランスを取ります。 5.永続的なセッションを使用して、データの読み取り時間と書き込み時間を減らします。

phpsesionsareserver-side、whilecookiesareclient-side.1)Sessionsionsionsoredataontheserver、aremoresecure.2)cookiesstoredataontheclient、cookiestoresecure、andlimitedinsizeisize.sesionsionsionivationivationivationivationivationivationivationivate

phpidentifiesauser'ssessionsingsinssessionCookiesIds.1)whensession_start()iscalled、phpgeneratesauniquesidstoredsored incoookienadphpsessidontheuser'sbrowser.2)thisidallowsphptortorieSessiondatadata fromthata

PHPセッションのセキュリティは、次の測定を通じて達成できます。1。session_regenerate_id()を使用して、ユーザーがログインまたは重要な操作である場合にセッションIDを再生します。 2. HTTPSプロトコルを介して送信セッションIDを暗号化します。 3。Session_Save_Path()を使用して、セッションデータを保存し、権限を正しく設定するためのSecure Directoryを指定します。

phpsessionFilesToredInthededirectoryspecifiedBysession.save_path、通常/tmponunix-likesystemsorc:\ windows \ temponwindows.tocustomizethis:1)uesession_save_path()tosetaCustomdirectory、ensuringit'swritadistradistradistradistradistra


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









