ラベル PEAR の投稿を表示しています。 すべての投稿を表示
ラベル PEAR の投稿を表示しています。 すべての投稿を表示

2013年2月12日火曜日

PHPのフレキシブルで高速でセキュアなテンプレートエンジンtwigを試すの巻

PHPのモダンテンプレートエンジンTwigを使ってみる。 ほぼデファクトのSmartyより、いくらか素敵らしい。

特長

・高速
プレーンな最適化されたPHPコードに変換されるからオーバーヘッドが超少ない!

・セキュア
サンドボックスモードがあって信頼出来ないコードも安全に実行できる  (利用者がテンプレートデザインを変更できる場合とか)

・フレキシブル
柔軟なlexer(?)とパーサで動く。カスタムタグとフィルターとDSLを作ることができる

ウハー!曖昧(・へ・)

インストール

方法が色いろある
http://twig.sensiolabs.org/doc/intro.html#installation

とりあえずいつもどおりPEARで。
こうして、
pear channel-discover pear.twig-project.org


こうすると、
pear install twig/Twig


こうなる。
downloading Twig-1.11.1.tgz ...
Starting to download Twig-1.11.1.tgz (76,492 bytes)
.................done: 76,492 bytes
install ok:
channel://pear.twig-project.org/Twig-1.11.1


これで



こうなって

Hello Fabien!

これで

こうなった。

<!DOCTYPE html>

<html>
    <head>
        <title>:-)</title>
    </head>
    <body>
        HELLO!!
    </body>
</html>


つづくー!

かねこ<(゚ε゚)>

2012年9月18日火曜日

PHP Fog!

開発環境構築はそろそろネタ切れになってきてちょっと飽きちゃたから、たまには他のことやろう。

PHP Fogが気になったので、つかってみます。PHPのクラウドプラットフォーム!

1.登録~SSHキー設定

(省略)

アプリ登録で、とりあえずCustom Appを選択。登録が完了するとHelloWorldがでるようになる。



2.Gitリポジトリからソースコード取得

git cloneする。
# git clone git@git01.phpfog.com:e2kaneko.phpfogapp.com
Cloning into 'e2kaneko.phpfogapp.com'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.


3.ソースコード書き換え

適当に。



4.commit~push

コミットしてプッシュ。お決まり。
# git commit . -m "change message."
[master 3db2846] change message.
 1 file changed, 1 insertion(+), 1 deletion(-)

# git push
Counting objects: 5, done.
Writing objects: 100% (3/3), 271 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:  -----> Deploying to the cloud
To git@git01.phpfog.com:e2kaneko.phpfogapp.com
   c0fb119..3db2846  master -> master


5.確認

さっきプッシュした内容が反映されたことを確認。



て感じでお手軽かどうかイマイチどうかわからない(コミットフックして自動デプロイってすぐ作れるもんね)PHP Fogだけど、スケールアウトしたりスケールアップしたり、リリースバージョン管理したり、すぐサービス起動したり止めたり、そういうクラウドの特徴っぽいところで真価を発揮するんだろうよ、きっと。

AppFogもきになる!

かねこ(b´∀`)

2012年9月17日月曜日

SVNとIRC連携の巻

SVNコミットをIRCに通知してみる。
SVNにはpost-commitがあるから、たぶん楽勝。

環境もなんでもいいんだろうけど、手っ取り早そうなPHPで。

pearライブラリ検索
> pear search IR
Retrieving data...0%
.MATCHED PACKAGES, CHANNEL PEAR.PHP.NET:
=======================================
PACKAGE      STABLE/(LATEST) LOCAL
Net_IRC      0.0.7 (beta)          IRC Client Class
Net_SmartIRC 1.0.2 (stable)  1.0.2 Net_SmartIRC is a PHP class for communication with IRC networks
ネット見たらSmartIRCのほうがよさそう。

かいた。
サーバに置いて、post-commit変更
[root@hoge hooks]# vi post-commit
#!/bin/s
AUTHOR=`svnlook author -r $REV $REPOS`
LOG=`svnlook log -r $REV $REPOS`
CHANGES=`svnlook changed -r $REV $REPOS`
php /home/e2info/developer/svn-irc.php "$AUTHOR" "$LOG" "$CHANGES"

どうかな


できた!!日本語よめないのはめんどくさいからまた今度で。

(*´・ω・)かねこ(・ω・`*)