PHP on sMash 第16回は、Groovy Bridgeです。前回はJava Bridgeを紹介しましたが、v1.1からGroovyのクラスを利用できるようになりました。これによって、既存資産がJavaであっても、Groovyであっても、そのクラスをPHPから利用してコードを書くことができるようになりました。それでは、始めていきましょう。
こちらも英語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では、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です。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 -sMashとPHPで作るRESTful Webアプリケーション- 第13回は、前回に引き続き、PHP拡張についてです。今回も、V1.1の環境を利用しますので、こちらを参考に開発環境構築を行って下さい。
前回は基本的なPHP拡張を行う方法を説明しましたが、今回はTipsとして、PHP拡張を行う際に使えるいくつかの項目について説明します。今回説明するのは、
参照渡し
JavaからWebブラウザへの出力
JavaからPHPの変数にアクセス
の3つです。それでは、始めていきましょう。
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の環境を利用しますので、こちらを参考に開発環境構築を行ってください。それでは、始めて行きましょう。
PHP on sMash -sMashとPHPで作るRESTful Webアプリケーション- 第9回は、非常に多くのユーザーに利用されているブログツールである、WordPressの実行です。今回からはV1.1の環境を利用しますので、こちらを参考に開発環境構築を行ってください。それでは、始めていきましょう。
