ラベル プログラミング の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示

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年10月14日日曜日

Groovy!! (MOP: Meta Object Protocolの巻)

Groovyのすべてのクラスは暗黙的にgroovy.lang.GroovyObjectインタフェースを実装していて、GroovyObjectインタフェースにはMOP用のメソッドが定義されている。

こんな感じ。シンプル。
invokeMothod
set/getProperty
set/getMetaClass
→groovy.lang.MetaClass imprements MetaObject

コード例


まとめ
grooby++

かねこ\(^o^)/

2012年9月30日日曜日

Groovy!! ミックスイン(Minxin)の巻

GroovyはMixinがつかえる。
Mixin名前かっこいい!


多重継承の使いどころ全然思いつかない(ニューハーフとか?)
けど、コード書いてみよう。


言語仕様は使いやすくて読みやすい。
ただし、読みやすさは同一スコープでクラス初期化してる場合だけで、DIとかの場合は定義だけ見ても継承関係わかんなくなっちゃうからダメかも。でもGroovyでDIなんか書かないからいいか。
要は適材適所?でも適所がわからん(><)

ついでに参考
Mixin は Symbolics 社のオブジェクト指向システム Flavors で初めて登場し、LISPマシン で用いられたオブジェクト指向への試みであった。この名称は、マサチューセッツ州 Somerville にあった Steve's Ice Cream Parlor からヒントを得て考え出されたものであった[1]。このアイスクリーム店の店長は(バニラやチョコレートなどの)基本となる味を混ぜ、追加の具材(ナッツ、クッキー、キャンディなど)と組み合わせたものを提供し、それを"Mix-in"と呼んで店の登録商標としていた[2]。
Mixin - Wikipedia

けつろん
 名前かっこいい!

かねこ((´∀`))

2012年9月29日土曜日

Groovy!! クロージャ(Closure)の巻

Groovyはクロージャ(Closure)が使える。
クロージャが使えると、RubyとかjQueryでよくやるあの感じ(笑)のコーディングが出来る!

説明ができないので、コード書きます。

スコープ
クロージャはブロックの外側の変数にアクセスすることができる。


レキシカルスコープ
クロージャが呼び出された場所ではなく、クロージャが宣言されている場所からみたスコープが有効


変数の束縛
クロージャ内で宣言した変数のスコープはクロージャ内のみとなる


本領発揮
必殺!この記法で書くことができると、イテレーションの条件と実際の処理を分離することができる。


どんどんつかおうクロージャ!

かねこ( ゚ ρ ゚ )