sMash V1.1.1.1の開発環境構築手順

Posted by Kenta Takahashi on 11月 4th, 2009. Other posts by Kenta Takahashi

このエントリーでは、sMash V1.1.1.1での開発環境の構築手順をご紹介します。
●設定手順
eclipseは導入済みという前提で紹介しますので、eclipseが必要な方はeclipseをダウンロードしてください。バージョンは3.2以上のものを使用して下さい。また、PHPの開発環境の構築するにはeclipseのPHP用のプラグインであるPDTが必要です。PDT導入済みのeclipseを手に入れるには、PDT all in one packageをダウンロードする方法が便利です。

V1.0の環境からのマイグレーションの場合は、以前のバージョンのプラグインをアンインストールします。
・Eclipse 3.4の場合 : Help > Software Updates > Installed Software
・Eclipse 3.2の場合 : Help > Software Updates > Manage Configuration
Project Zero公式サイトから、sMash V1.1.1.1をダウンロードします。
zipファイルを解凍し、解凍してできたzeroフォルダを任意の場所に配置します。
zeroフォルダに移動し、zeroコマンドを実行します。例えば、Windowsの場合はコマンドプロンプトを立ち上げ、以下のコマンドを実行します(<zero_root>はzeroディレクトリを配置した先のzeroディレクトリ内を示す)。
cd <zero_root> ./zero
eclipseを起動し、アップデートサイトの追加ダイアログを表示させます。
・Eclipse 3.5の場合 : Help > Software Updates > “Add site”
・Eclipse 3.4の場合 : Help > Software Updates > Installed Software > “Search for new features to install” > [...]

PHP on sMash – 第16回 PHP/Groovy Bridge

Posted by Kenta Takahashi on 4月 20th, 2009. Other posts by Kenta Takahashi

PHP on sMash 第16回は、Groovy Bridgeです。前回はJava Bridgeを紹介しましたが、v1.1からGroovyのクラスを利用できるようになりました。これによって、既存資産がJavaであっても、Groovyであっても、そのクラスをPHPから利用してコードを書くことができるようになりました。それでは、始めていきましょう。

sMash plug-inがPDT2.0をサポートしました

Posted by Kenta Takahashi on 4月 20th, 2009. Other posts by Kenta Takahashi

こちらも英語Blogで既に告知されていたのですが、eclipseのPHP用プラグインであるPDT2.0を、sMash eclipse plug-inがサポートしました。既にPDT2.0を利用されている場合は、plug-inのアップデートを行ってください。
plug-inのアップデートを行うには、eclipseのメニューから以下の手順を行います。
Help > Software Updates > Available Software タブ > zero.eclipse.phpを展開 > WebSphere sMash for PDT 2.0.x にチェックを入れる > 右上のInstallボタンをクリック
後は画面の指示に従って、Install作業を行います。インストールするフィーチャーを選択する際に、PDT 1.0.xを選択しないように注意して下さい(for PDT 1.0.xと2.0.xを両方インストールしてしまうと、プロジェクト作成時に”sMash PHP application”が2つ表示されてしまいます)。インストールしてしまった場合は、Installed SoftwareからWebSphere sMash PDT Featureを選択し、Uninstallボタンをクリックしてください。
ちなみに、eclipseでの開発環境を0から整える方法は、こちらで紹介しています。PDT all-in-one package自体は、こちらからダウンロードしてください(DebuggerはsMash plug-inに含まれているため、必要ありません)。

sMash a Office

Posted by Kenta Takahashi on 4月 14th, 2009. Other posts by Kenta Takahashi

sMashでは、Apache POIをモジュールとして提供しています。Apache POIは、Microsoft Officeのファイルを操作するAPIを提供するJavaのモジュールです。これを利用することで、sMashで容易にApache POIの利用環境を作ることができます。また、Java Bridgeを利用することで、PHPを用いてMicrosoft Officeのファイルを操作することが可能です。
●利用するための準備
Apache POIは、zero.office.integrationという名前で提供されています。このモジュールへの依存性を、ivy.xmlに追加します。これで準備は完了です。
●Excelファイルを作ってみる
まず最初に、Excelファイルを生成してみましょう。せっかくですので、ここではPHPでやってみましょう。generate.phpとして、次のファイルをpublicフォルダに作成してください(コピー&ペーストするとダブルクォーテーションが全角になるので注意して下さい)。
<?php
 java_import(”java.io.FileOutputStream”);
 java_import(”org.apache.poi.hssf.usermodel.HSSFWorkbook”);
 java_import(”org.apache.poi.poifs.filesystem.POIFSFileSystem”);
 $filedir = zget(”/config/root”).”\\public\\sMash.xls”;
 try{
  //新規ワークブックを作成する
  $wb = new HSSFWorkbook();
  $fileOut = new FileOutputStream($filedir);
   //新規ワークシートを作成する
  $sheet = $wb->createSheet();
  $wb->setSheetName(0, “シート01″, $wb->ENCODING_UTF_16);
  //A1に日本語を書き込む
  $row = $sheet->createRow(0);
  $cell = $row->createCell(0);
  $cell->setEncoding($wb->ENCODING_UTF_16);
  $cell->setCellValue(”sMashでExcelファイルを作りました!”);
//終了処理
  $wb->write($fileOut);
  $fileOut->close();
  echo(”Excelファイルの作成が完了しました!”);
} catch (Exception $e) {
echo $e;
echo(”処理が失敗しました”);
}
?>
作成したら、sMashアプリケーションを起動し、http://localhost:8080/generate.phpにアクセスしてみてください。publicフォルダ内にsMash.xlsファイルが生成されているはずです。
●Excelファイルを読み込んでみる
では、そのExcelファイルを読み込んで、PHPで文字列として表示してみましょう。read.phpとして、次のファイルをpublicフォルダに作成してください(コピー&ペーストするとダブルクォーテーションが全角になるので注意して下さい)。
<?php
 java_import(”java.io.FileInputStream”);
 java_import(”org.apache.poi.hssf.usermodel.HSSFWorkbook”);
 java_import(”org.apache.poi.poifs.filesystem.POIFSFileSystem”);
 $filedir = zget(”/config/root”).”\\public\\sMash.xls”;
 try{
//ファイル読み込み
  $filein = new POIFSFileSystem(new FileInputStream($filedir));
//1つ目のシートの、A1を示すセルのオブジェクトを取得する
$wb = new HSSFWorkbook($filein);
$sheet = $wb->getSheet($wb->getSheetName(0));
  $row = $sheet->getRow(0);
  $cell = $row->getCell(0);
//文字列を取得し、出力
  echo $cell->getStringCellValue();
 }  catch (Exception $e) {
  echo $e;
  echo(”処理が失敗しました”);
 }
?>
作成したら、sMashアプリケーションを起動し、http://localhost:8080/read.phpにアクセスしてみてください。”sMashでExcelファイルを作りました!”と表示されていれば成功です。
●参考情報
他にもApache POIでは、計算式を読み込んだり、セルにコメントを追加したり、そのコメントを読み込んだり、様々なAPIが提供されています。詳細については、Apache POIのWebサイトをご参照下さい。http://poi.apache.org/

PHP on sMash – 第15回 Java bridge -基礎編-

Posted by Kenta Takahashi on 3月 2nd, 2009. Other posts by Kenta Takahashi

PHP on sMash 第15回は、Java bridgeです。sMashでは、PHPからJavaのクラスを容易に利用することができます。そのため、既存のJava資産が存在する場合でも、それを利用して、新たなPHPアプリケーションを作成することができるようになっています。今回は最新版の環境を利用しますので、こちらを参考に開発環境構築を行って下さい。
それでは、始めていきましょう。

PHP on sMash -sMashとPHPで作るRESTful Webアプリケーション- 第14回は、引き続き、PHP拡張についてです。今回も、V1.1の環境を利用しますので、こちらを参考に開発環境構築を行って下さい。
今回もTipsとして、PHP拡張を行う際に使えるいくつかの項目について説明します。今回説明するのは、

php.iniの値を利用する
引数をパースする
エラーを発生させる
PHP関数、拡張PHP関数を実行する
引数、返り値に配列を用いる
PHPの”リソース型”を作成する

の6つです。それでは、始めていきましょう。

PHP on sMash – 第13回 PHP拡張 -Tips 1- (参照渡し他)

Posted by Kenta Takahashi on 2月 17th, 2009. Other posts by Kenta Takahashi

PHP on sMash -sMashとPHPで作るRESTful Webアプリケーション- 第13回は、前回に引き続き、PHP拡張についてです。今回も、V1.1の環境を利用しますので、こちらを参考に開発環境構築を行って下さい。
前回は基本的なPHP拡張を行う方法を説明しましたが、今回はTipsとして、PHP拡張を行う際に使えるいくつかの項目について説明します。今回説明するのは、

参照渡し
JavaからWebブラウザへの出力
JavaからPHPの変数にアクセス

 の3つです。それでは、始めていきましょう。

PHP on sMash – 第12回 PHP拡張 -基礎編-

Posted by Kenta Takahashi on 2月 10th, 2009. Other posts by Kenta Takahashi

PHP on sMash -sMashとPHPで作るRESTful Webアプリケーション- 第12回は、PHP拡張です。今回も、V1.1の環境を利用しますので、こちらを参考に開発環境構築を行って下さい。
それでは、始めていきましょう。

PHP on sMash -sMashとPHPで作るRESTful Webアプリケーション- 第11回は、前回に引き続き、イベント・ハンドラーです。今回も、前回利用した環境を利用しますので、こちらを参考に開発環境構築を行い、第10回の手順を確認して下さい。
それでは、始めていきましょう。

PHP on sMash -sMashとPHPで作るRESTful Webアプリケーション- 第10回は、イベント・ハンドラーです。今回も前回同様、V1.1の環境を利用しますので、こちらを参考に開発環境構築を行ってください。それでは、始めて行きましょう。