アーカイブ

‘php’ タグのついている投稿

Lua+PHP=オイシイ?

2009 年 2 月 13 日

Lua言語はとても軽量なスクリプト言語です。

javascriptと文法の構造が似ているため、入りやすいのも特徴です。

しかも、他の言語との連携が取りやすいので、C言語などのコンパイラ言語に組み込めば、

処理時間がよほど厳密に規定されていない限り、大抵の処理をスクリプト言語に

置き換えることができ、開発効率が格段に上がります。

そこで、ちょっとしたアイデアがあり、PHPと連携を取ってみることにしました。

(スクリプト言語であるPHPと連携を取る必要があるかどうかの疑問は後回し)

1.PHPに、PECL_Genをインストールし、pecl-genコマンドが使えるようにします。

2.spec.xmlを作成し、pecl-genコマンドでPECL用コード一式を自動生成します。

3.phpize, configure, makeなど決められたとおりに実行し、コンパイルします。

4.make instalでPECLフォルダにインストールされます。

簡単なコードで、PHPからLuaを実行できるようになりました。

何に使うかは、また次回。

admin プログラム小技 ,

dojo tabContainer内のコンテンツのロード方法

2009 年 2 月 6 日

dojoのtabContainerは実装は簡単ですが、子供となるContentPaneの中にiframeなどがあると、

表示がうまくいかないことがあります。

表示されているContentPaneでないとうまく動作しないことが原因です。

よって複雑なページをタブ化する場合以下のようにするとうまく動作します。

1.タブコンテナにselectChildイベントハンドラをコネクト

2.ContentPaneを作るときにはcontentは空にしてタブコンテナに追加

3.selectChildイベントハンドラが呼ばれたときに、表示するContentPaneのcontentを設定(この中にiframeが含まれる)

これで外部のdojoページでもタブ化できます。

参考)タブコンテナにselectChildイベントハンドラを設定する方法

<div dojoType=”dijit.layout.TabContainer” id=”tab”>
<script type=”dojo/connect” event=”selectChild” args=”contentPane”>
var url = 適当なURL;
if(contentPane.contentLoaded != true) {
var contents = ‘<iframe src=”‘+url+’” frameborder=”0″ style=”width:100%; height:100%;” scrolling=”no”/>’;
contentPane.setContent(contents);
contentPane.setAttribute(“contentLoaded”, true);
}
</script>
</div>

admin dojo, プログラム小技 ,