
No.3
- 回答日時:
$smarty->_tpl_vars['hoge'] = 'nemui';
No.1
- 回答日時:
メンバ変数を外部から直接いじるってのはあまり綺麗な方法ではないですが。
Smartyクラスを継承して、MySmartyを作り
__set() という、マジックメソッドを実装すれば良いです。
例えば。
public function __set($name, $value) {
$this->assign($name, $value);
}
こんな感じ。
ただし上記のコードはあくまでも例です。
$nameが必ず1文字以上の先頭が英字から始まるStringであるかどうかのバリデートなどなど。・・・しないとヤバいです。
そうすら、
$smarty = new MySmarty();
$smarty->index=34567;
というようなアサインも可能です。
ただし、先頭でも言ったようにメンバ変数を直接いじるように作るのは、あまり行儀良くないですけどね。
作り方によってはとてもヤバくなります。
例えば、Smarty内で使ってるメンバ変数を上書きしてしまった場合、潜在的なバグを生みます。
ありがとうございます。
その後EC-CUBEを詳しく見たところ、マジックメソッドは使っておらず、assignobjなどの関数を作り、その中で$thisの中身をassignしていました。
メンバ変数を直接いじる時は気をつけないといけないんですね。勉強になりました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Excel(エクセル) インボイス対応の請求書テンプレートを修正して使いたく考えてます。 添付画像のB30の関数には以下が入 1 2023/08/22 19:31
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/02/18 11:30
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- Android(アンドロイド) ステータスバーのバッテリー残量表示が0%のまま変わらない 2 2022/08/01 20:07
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クラスについて
-
(クラス関連)staticキーワー...
-
PEARの種類
-
PHPでのstatic(静的)メソッド...
-
Smartyの変数について
-
インタフェースと抽象クラスの...
-
クラス、プロトタイプの使いどころ
-
クラスについて
-
ソースファイルの分け方について
-
phpでオブジェクト化に挑戦...
-
phpファイルは細かく分けてたく...
-
連続投稿対策
-
cgi-binでPHP動作しない
-
モバイルサイトのxhtmlでPHPを...
-
FTPコマンドでディレクトリごと...
-
PHPのif文でその処理を途中で抜...
-
phpのrand関数は本当にランダム?
-
mingwにパスを通せたのですが、...
-
AS3外部テキスト読み込み
-
Permission denied in
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「クラス関数」「メンバ関数」...
-
phpのクラスにて別ファイルの変...
-
class定義のphpをファイル分割...
-
クラス
-
外部ファイルのクラスのインス...
-
PHP4、PHP5 1ファイル複数クラ...
-
ラッパークラスって何ですか?
-
phpファイルは細かく分けてたく...
-
「PDOxceptionオブジェクト」?...
-
phpでオブジェクト指向と呼べる...
-
クラスが配布されているサイト
-
'_'(アンダースコア)の使い方...
-
PHP5.2.6でのDOMDocumentのload...
-
クラス内でメソッド呼ぶ際、thi...
-
配列とオブジェクトの違い
-
・オブジェクト指向のメリット...
-
ユーザー定義関数とクラスの違...
-
プログラムにも慣例みたいなも...
-
PHPのCOMを使ってプログラミン...
-
ソースファイルの分け方について
おすすめ情報