のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,851人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】 Smarty 隔離スレ 【テンプレート】

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - string_format + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    401 : nobodyさん - 2009/01/20(火) 18:40:01 ID:??? (-27,-30,-66)
    PHP側で連想配列のキーにピリオドを含む使った

    $foo['bar.baz']='hoge';

    のような変数をSmarty側にassignした場合、
    テンプレ側ではどういう表現をすればアクセスできるの?

    {$foo[bar.baz]}

    はだめだったんだけど、何か他の表現方法あるのかな?
    403 : nobodyさん - 2009/02/03(火) 21:30:12 ID:??? (+23,-30,+0)
    phpからdisplayしようとすると

    Warning: preg_match() [function.preg-match]: Compilation failed: repeated subpattern is too long at offset 18454 in /usr/share/pear/Smarty/libs/Smarty_Compiler.class.php on line 454

    Fatal error: Smarty error: [in main.tpl line 1]: syntax error: unrecognized tag: include file="header.tpl" (Smarty_Compiler.class.php, line 455) in /usr/share/pear/Smarty/libs/Smarty.class.php on line 1092

    こんなエラーが出てしまうんですけども、原因を教えていただけないでしょうか。
    ちなみにmain.tplの中身はこんなのです。

    {{include file="header.tpl"}}
    {{foreach from=$include_files item=file}}
    {{include file="$file"}}
    {{/foreach}}
    {{include file="footer.tpl"}}
    404 : nobodyさん - 2009/02/03(火) 21:32:58 ID:??? (+20,+29,-5)
    なんで二重括弧なの?
    405 : nobodyさん - 2009/02/03(火) 21:41:22 ID:??? (-24,-30,-66)
    >>404

    Smarty.class.phpを継承したクラスも使ってるので、本家との差別化のためです。

    継承したほうは
    $this->left_delimiter = '{{';
    $this->right_delimiter = '}}';
    を設定してあるので大丈夫だと思うんですけども。

    ちなみに括弧ひとつにしても同じエラー出ます。
    406 : 403 - 2009/02/03(火) 21:51:04 ID:??? (-27,-30,-52)
    環境書き忘れました

    CentOS 5.2 Kernel 2.6x
    PHP 5.1.6

    preg_matchでSmartyのタグ探して処理させてるから
    タグ探しに失敗したSmartyがそんな命令ねーよって怒ってるんですかね。
    407 : nobodyさん - 2009/02/03(火) 21:53:11 ID:??? (+14,+16,-3)
    試してみたいから再現できるコード出してくれ
    410 : nobodyさん - 2009/02/04(水) 01:57:17 ID:??? (+22,+29,-15)
    当然ながら私の環境では再現しません
    411 : 403 - 2009/02/04(水) 19:44:57 ID:??? (+32,+29,-49)
    既にSmartyが実働してるサーバからSmarty関連のファイルを引っ張ってきて
    インストールしたら正常に動きました。
    公式の最新バージョンはバグ有りなんですかね?
    何はともあれ、お騒がせしました。
    412 : nobodyさん - 2009/02/04(水) 22:30:27 ID:??? (+27,+29,-9)
    自分の環境で試してくれる回答者放置とか最悪な質問者だな
    413 : 403 - 2009/02/05(木) 07:13:36 ID:??? (+32,+29,-30)
    大変失礼しました。
    わざわざ確認していただき、ありがとうございます。
    お礼?になるか分かりませんが、問題のあった方のSmartyをアップしておきます。
    libsの中身を入れ替えるだけで多分再現できると思います。

    http://www1.axfc.net/uploader/File/so/18050
    414 : nobodyさん - 2009/02/05(木) 08:52:10 ID:??? (+20,+27,+0)
    問題のあったファイルがお礼とかw
    415 : nobodyさん - 2009/03/03(火) 15:33:16 ID:??? (-29,-30,-77)
    値がある場合はstring_formatの%0.1,なかった場合は にしたいんだけど
    {var|default:' '|string_format:'%0.1'}
    だと値が無い場合には全て0.0になってしまうし、
    {var|string_format:'%0.1'|default:' '}
    だと値が無い場合にnoticeが出てしまって両立できないんだけど、
    どうしたらいいかな?
    417 : nobodyさん - 2009/03/05(木) 19:41:11 ID:??? (-27,-30,-149)
    CakePHP1.2にSmartyView入れて使い始めてみたんだけど
    $form->createに$optionsを引数で渡すと出力されないのは指定の仕方が悪いのかま?

    {$form->create('Modelhoge', array('action'=>'Actionhoge'))}

    モデルだけ指定すると出力されるんだが、、
    419 : nobodyさん - 2009/03/12(木) 20:22:12 ID:??? (+25,+29,-31)
    昨日テンプレートエンジンというものを知って調べたが、こんなもん速度と品質犠牲に使う本気で奴バカすぎ。ヒアドキュメントで十分すぎ。
    420 : nobodyさん - 2009/03/13(金) 10:39:43 ID:??? (+14,+26,-2)
    そうだよ?
    421 : nobodyさん - 2009/03/13(金) 10:48:04 ID:??? (+25,+29,-43)
    PHP自体がテンプレートエンジンであり
    速度と品質を犠牲に使うなんて馬鹿すぎと既にCとJavaプログラマに言われていることを
    419は知らないのだった
    422 : nobodyさん - 2009/03/13(金) 11:05:13 ID:??? (+27,+29,-38)
    Smartyってめっちゃ便利やな!
    PHP案件は全部これ使って開発してるぁるょ!
    425 : nobodyさん - 2009/03/16(月) 17:22:30 ID:??? (-5,+1,-2)
    変数名が違うんだろ
    426 : nobodyさん - 2009/03/19(木) 02:15:19 ID:??? (+19,+21,-20)
    そのレベルだとSmartyどころかphp初心者だろ……
    431 : nobodyさん - 2009/04/23(木) 02:55:05 ID:??? (-3,-1,-3)
    430です。すみません、誤爆です・・。質問スレに書きます。
    434 : nobodyさん - 2009/05/03(日) 14:56:11 ID:??? (+27,+29,-5)
    なるほど
    消しても問題なさそうですね?
    ありがとうございます
    438 : nobodyさん - 2009/05/05(火) 21:30:24 ID:??? (+20,+22,-16)
    HTMLファイルだって定義するぐらいはできるんだぜ
    439 : nobodyさん - 2009/05/06(水) 01:41:19 ID:T5mYjMeP (+12,+26,-3)
    >>437-438
    どこの設定を変更したら出来るのですか?
    441 : nobodyさん - 2009/05/09(土) 23:09:48 ID:??? (-12,-15,-19)
    www.smarty.netにつながらないんだけど俺だけ?
    442 : nobodyさん - 2009/05/10(日) 20:05:32 ID:??? (+26,+29,-8)
    >>441
    落ちてるね。こういうサイトはミラーが必要だとおもいまする。
    443 : nobodyさん - 2009/05/12(火) 01:20:58 ID:??? (+22,+29,-1)
    一生落ちてればいいと思う。
    445 : nobodyさん - 2009/05/13(水) 13:46:20 ID:??? (+13,+15,-14)
    クラスのメソッドを指定できる関数をつくればいいんじゃあ
    446 : nobodyさん - 2009/05/13(水) 21:18:42 ID:??? (-6,-30,-103)
    初心者で悪いんだが

    --Hoge.php--------

    class Hoge {
      var piyo;

      function Hoge() {
        $this->piyo = $_POST['some'];

        require_once 'view.tpl';
      }
    }

    --view.tpl---------

    <p><?php echo $this->piyo; ?></p>


    テンプレートとしての機能ってこれじゃ駄目なの?
    447 : nobodyさん - 2009/05/13(水) 21:46:03 ID:??? (+34,+29,-48)
    >>446
    こういうセキュリティホールを量産する奴がいるから
    テンプレートエンジンは必要
    448 : nobodyさん - 2009/05/14(木) 00:07:02 ID:??? (+22,+25,+1)
    >>447

    イミフ
    449 : nobodyさん - 2009/05/14(木) 02:00:08 ID:??? (+27,+29,-36)
    POSTで送られたデータを無加工で出力するなって事だ
    そりゃそうと、普通にメソッドコール出来たと思ったけど
    450 : nobodyさん - 2009/05/14(木) 03:34:09 ID:??? (+33,+26,-107)
    >>446
    それでも問題無い場合もあるよ。
    ケースバイケース。

    複数人(特に外注)を使う場合は、記述方法の統一されたテンプレートエンジンをオススメだけどね・・・
    PHPをテンプレートエンジンとして使う=テンプレートを扱う人にシステム全権限を与える。

    善悪にかかわらず、不正なコードでシステムがクラッシュする可能性が増えるってこった。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - string_format + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について