読者です 読者をやめる 読者になる 読者になる

みんなのちからになりたい

コピペでブログラムつくっていきたい

WordPressのテンプレートエンジンにVoltを使う

デザインとロジックが分離してないのがつらい問題

WordPress初心者なのでプロはどうしてるのか知らないんですが、デザイナがテーマじゃなくhtmlとcssでデザイン上げてくるという環境な場合、index.phpとかsingle.phpにロジックぶち込んじゃうとあとでデザインに修正入ったときに地獄になる気がしておそろしい。

今回まさにそんな状況で、もう納品してるので過去の話ではあるんだけども、テンプレートエンジン入れましたという話です。

テンプレートエンジンどれを使うか問題

PHPのテンプレート探すといくつかあるんですが、nodeでejsに慣れてるというのもあり、ejsチックに使えるものを探します。 ちなみにぼくはPHPほとんど使ったこと無いのでもっといいのがあったり見当違いなこと言ってる可能性もあるのでそこは他で補完してください。

そんななかで今回候補に挙げたのがこの2つ。

Blade

laravel.com

LIGで解説されてるので雰囲気はこちらで感じてください。

liginc.co.jp

Volt

Volt: テンプレートエンジン — Phalcon 2.0.8 ドキュメント

今回はVolt使います

一応両方使ってみたんですが、結論として今回はVolt使いました。

理由としては

  • パッと見てなにやってんのかわかる

これにつきます。

Bladeは初見でみると@sectionとか@yieldとかなにやってんのか一発で理解しづらい(別に@sectionとか使わなくても書けますよ一応)のと、@includeとか@extendsしたファイルがコンパイルするとその分だけできるのがなんとなくいやだったという理由です。

Voltはその点、見りゃだいたいなにやってんのかわかるのがのちのちの安心感に繋がるというのが大きかったです。

ただ、VoltはWordPressプラグインがないので、Linuxの場合ソースからビルドするなり何なりして入れる必要があるというめんどくささがあるので、そこをどう考えるかですね。

それを踏まえても、見た目楽そうというのにはぼくは敵わなかったという感じです。

Phalcon(Volt)を入れる

Volt入れるためにはPhalconを入れる必要がある、ということで入れていきます。

インストール

安心してください。ここみれば大体わかります。

qiita.com

今回はPHP5.6 / Apache2.4使ったので微妙に変えてあります。

$ yum install php56u-devel

$ git clone git://github.com/phalcon/cphalcon.git
$ cd cphalcon/build
$ sudo ./install

phalcon.iniの設定

/etc/php.d に 30-phalcon.iniがなかったら作って下記を書きましょう。

extension=phalcon.so

インストールの確認

コマンドぶったたいで動いてるか確認します。

$ service php-fpm stop
$ service php-fpm start
$ service httpd restart
$ php -i |grep Phalcon
Author => Phalcon Team and contributors

使い方

ここみれば一発でわかります。楽ちんですね。

How to use Phalcon template engine ( VOLT ) as standalone - W3bDeveloper.com

includeとかpartialしたい場合はここ見ましょう。

kamoqq.hatenablog.com

結論

管理がめちゃめちゃ楽になったので使いましょう。

つか、デザイナのひとがテーマ作ってくれたらこんなことしなくていいんですけどね...


詳解 WordPress

詳解 WordPress

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版

WordPressによるWebアプリケーション開発

WordPressによるWebアプリケーション開発