プロが教える店舗&オフィスのセキュリティ対策術

phpによるWEB制作で
現在 デザイナーが作ったデザインを1枚のHTMLファイルに
コーディングまでしてもらって
それを、プログラマーがバラバラに分解、インクルード、データベースとの組み込みなどを
加えていくという工程を行っています。

以前からプログラマーとデザイナーが作業を分担しやすいという
Smartyというものに興味があったのですが、
Smartyも、デザインをパーツごとにわけて変数化するということですよね?

インクルード化や、phpの変数に納めるのと どう違うのか
また、動的ページは条件によって1枚のページがいろいろ変化するわけですから
結局デザイナーにもある程度のプログラムを意識した作成が求められるように思えます。

Smartyを導入すると、どのような利点があるのでしょうか。

A 回答 (2件)

No.1の方がおっしゃる様に、MVCの概念をご理解された方が良いかと思います。



私はロジックサイドを担当しており、私共の作業の工程を簡単にご説明しますと・・・


>インクルード化や、phpの変数に納めるのとどう違うのか

Smartyを用いることにより、「デザイン」と「ロジック」を分離出来るわけですから、
私が作成した変数やテンプレートファイル名の一覧をデザイナーに渡します。

例)

▼変数について

・ユーザ名を表示させるには→{$name}
・有効期限を表示させるには→{$date}
・年齢を表示させるには→{$ag}

▼テンプレートファイル名について

・ログインページは→ login.tpl
・ログイン後のトップページは→ login_top.tpl
・AAAのページは→ aaa.tpl

といった具合に作成して、デザイナーに伝え、後は好きな場所に変数を設置してくれと
頼みます。
デザイナーが作業をしている間、私は他の作業に移れます。
要するにお互い同時進行で作業が進められるというわけです。

この例は、会員システムを例に挙げたのでこの様になったのですが、ブログシステムや
掲示板システムなども基本は同じです。

ただ気をつけなければいけないのは、テンプレートファイルの設置場所です。
何も措置を施していなければ、「 http://www.ドメイン/○○○.tpl 」とアクセスされると
テンプレートファイル内が丸見えになってしまいますので、セキュリティの強化のため
他人からアクセス出来ない階層に設置することをお勧めします。
(public_htmlより上の階層等)

あと、やむを得ずテンプレートファイルに直接PHPソースを書かないといけないケースが
出てくると思いますが、あまり宜しくは無いですが最悪直接PHPソースを書き込むことができます。
ただそのソースの箇所をインクルードして別ファイルとして呼び出せば、HTMLソース自体が
極端に長くなることはありませんので便利です。

とにかく実践してみると、色々な発想が広がり質問者様のプログラミングスキルが一段と
アップするかと思います。
Smarty依存症になるかもしれませんよ(笑)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
使うにしろ使わないにしろ
Smartyは知っておいたほうがよさそうですね。
Smartyを含めてMVCモデルが詳しく
載っている本を探してみます。

お礼日時:2011/05/26 15:20

・プログラム本体とデザインを切り離せる。


・デザイナからhtmlを受け取ったらプログラム本体に組み込む必要が無い
テンプレートとして登録して必要な変数をセットするだけで良い。
・デザインが変更になったときに楽に変更かできる。
まぁSmartyを実際に使ってみないとSmartyがどれだけ便利か理解できないかもね。

それと質問者はMVCの概念をそもそも学んだ方が良いね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
MVCを詳しく説明している本を一冊買ってみることにします。

お礼日時:2011/05/26 15:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!