現在ではPHPのフレームワークやテンプレートエンジンの発達により、ロジック部分を担当するプログラマーとマークアップを担当するデザイナーの分業化が進み、デザイナーの作成したHTMLをプログラマーがロジックに当てはめる、といった開発の流れとなることがあると思います。
こういった業務フローを円滑に行うために、取り入れている手法やスムーズな連携方法、導入している技術などがありましたら、教えてください。
ネーミングルールの統一というのは基本ですね。
後は、デザイン>ロジックと言うフローでなく、ロジック>デザインと言うフローも実施したりしています。
プログラマが空き時間に、DB値等を取ってこれる様にしておいて、VAR_SELF_HOGEであるとか、VAR_PARTY_HOGEとか作ってしまっておくことで、デザイナーが使いたい値が事前に出来上がっていたりします。 まぁ、使われない値があったりすることもあるわけですが、バージョンアップ時に使うことになったりして、デザイナーの仕事だけで片付いてしまったりします。
また、wikiを使って、デザイナーとプログラマーのコミュニケーションを取るという方法を併用しています。 プロジェクトごとにwikiを立ち上げて、デザイナーの要求、プログラマの成果物の情報等を整理しています。
ネーミングルールも含めた、もう少し広い範囲での標準化が必要です。
たとえば、どの標準を使うか――XHTML 1.0なのか1.1なのか、CSS2 なのか 3 なのか。
また、画面標準はどうするか――1024×768ドットか、1280×960ドットか。
カラー標準はどうするか――Webセーフカラーのみで行くのか、専用のカラーパレットを定義するか。
文字セットは? フォントサイズは? セキュリティ標準は?‥‥
プログラマーは考慮しなくていい部分ではないでしょうか。
テンプレートHTMLを使わずデザイナーがPHPとしてファイルを保存するようにしています。
HTML上に
<?= $a ?>
などの変数を記述しPHPとして保存する方法です。
プログラマーが予めデザイナーに変数を指示することも可能ですし、
後から変数を記述することも可能です。
完成したファイルを両者が容易に扱える環境の構築と、
互に理解を深める切欠となっています。
確かにデザイナーの方にHTML上に変数を記述してもらえると助かるのですが、要素のclass属性を動的に変更したり、デザイナーサイドとしても「完成形で動作の確認をしたりクライアントに確認をしてほしい」という思惑があったりで、なかなか難しいです。
ネーミングルールの統一、これは非常に大切だなと実感しました。
あらかじめワイヤーフレームなどで英名も定義して、HTMLで使用するID属性とDBで使用するテーブルのカラム名を統一したりなどできないと、後々調整に苦労したりなども経験しました。
「ロジック」→「デザイン」のフローは体制的にやや難しいのですが、可能な場合は実行できればと思っています。
プロジェクトごとにwikiは使えると非常に便利ですが、細かな案件だとかの場合にどうなのか、という部分はあります。