Category Archives: PHP

Eclipse PDTでgetter/setterを自動生成

  Javaであれば、Eclipseのコンテキストメニューから「GetterおよびSetterの生成」を実行できるのだが、PDTにはそのような機能はないらしい。 DTO定義する時に不便なので、Eclipseのテンプレート機能で代替する。 Eclipse PDTで、ウィンドウ→設定→PHP→エディター→テンプレートを実行。 「新規」をクリック。 「名前」、「説明」、「パターン」をそれぞれ入力してOK。 「パターン」は、例えば以下のように入力する。 public function get${PropertyName}() { return $$this->${PropertyName}; } public function set${PropertyName}($$${PropertyName}) { $$this->${PropertyName} = $$${PropertyName}; } ${cursor} エディタ上でCtrl+スペースを押下するとテンプレート・プロポーザルが表示されるので、前述のテンプレート(今回の例なら「getter/setter」)を選択する。 getterとsetterが自動入力される。 テンプレート中の”{PropertyName}”の箇所が選択された状態になるので、設定したい文字列を入力し、Enter。 すると、テンプレート中の”{PropertyName}”の箇所が自動的に入力した文字列に置換される。 ちなみに・・ 上記のテンプレート・パターンだと、”{PropertyName}”の文字列がすべて同じになってしまうため、例えば”user”と入力すると、アクセサは”getuser($user)”のように、全部小文字になる。 気持ち悪い。 ファンクション名はキャメルケースにしたいので、パターンを public function get${PropertyName}() { return $$this->${word_selection}; } public function set${PropertyName}($$${word_selection}) { $$this->${word_selection} = $$${word_selection}; } ${cursor} にしてみた。”${word_selection}”は、エディタ上で選択した文字列で自動的に置換するための定義。 エディタ上に小文字で”user”と入力し、文字列を選択。選択した状態でCtrl+スペースを押下し、テンプレートを選択する。 “{PropertyName}”の部分だけ先頭を大文字で”User”と入力すれば、ファンクション名の部分だけキャメルケースにできる。 たぶん、もっといい方法があるに違いない。 プロになるための PHPプログラミング入門 posted with amazlet at 14.04.12 星野 香保子 技術評論社 売り上げランキング: 210,507 Amazon.co.jpで詳細を見る

Posted in PHP | Comments closed

PHP Startup: Unable to load dynamic library

  XAMPP+Oracle+EclipseのPHP開発環境を構築した際、Oracle Instant Client経由でDBに接続しようとしたのだが、以下のエラーが発生し、Apacheが起動しなかった。 PHP Startup: Unable to load dynamic library ‘D:\java\xampp\php\ext\php_oci8.dll’ – %1は有効なWin32アプリケーションではありません。 色々調べてみた結果、XAMPPは32bit版なのに、Oracle Instant Clientは64bit版を使っていたことが原因だった。 Oracle Instant Clientを32bit版にしたところ、エラーは発生しなくなった。   PHPでociを使ってOracleに接続するための環境設定は、以下を参照。 XAMPP+Oracle+EclipseのPHP開発環境構築 http://www.cyberarchitect.net/blog/archives/1001

XAMPP+Oracle+EclipseのPHP開発環境構築

  Facebookアプリを作って遊ぼうと思い立ち、PHPの開発環境を作ることにした。 DBは、勝手知ったるOracleを使ってみる。 OSはWindows 7 Enterprise SP1(64bit)を使って環境構築したので、その時のメモ。 ※Oracleは構築済みの環境を利用。キャラクタセットはAL32UTF8。   1、Pleiadesをダウンロード http://mergedoc.sourceforge.jp/index.html#/pleiades_distros3.7.html pleiades-e3.7-php-jre_20120225.zipをダウンロードし、解凍。 今回はD:\Javaに展開。   2、XAMPPをセットアップ D:\Java\xamppディレクトリ配下のsetup_xampp.batを実行。 D:\Java\xampp\apache\confのhttpd.confを編集。ServerRootを設定。 #ServerRoot “D:/Java/xampp/apache” ServerRoot “D:\Java\xampp\apache” ←追記   3、Oracle Instant Clientをダウンロード http://www.oracle.com/technetwork/jp/topics/winsoft-087812-ja.html 32bit版をダウンロードし、展開。今回はD:\Java\instantclient_11_2に展開。 4、php.iniを編集 D:\Java\xampp\php\php.iniを編集。 キャラクタセットを追記。 default_charset = “UTF-8” extension_dirを以下に変更。 extension_dir = “D:\Java\xampp\php\ext” php_oci8.dll先頭のコメントアウト解除(「;」を削除) extension=php_oci8.dll   5、OSの環境変数を設定 コントロールパネル→システムの左ペインにて、システムの詳細設定をクリック。 詳細設定タブ下部、環境変数をクリック。 システム環境変数に変数名 NLS_LANG 、値 Japanese_Japan.AL32UTF8 を追加。 変数名 Path の値の先頭に、Oracle Instant Clientのディレクトリを追記。(今回は D:\Java\instantclient_11_2; ) OSを再起動 ←ここ重要   6、Apacheを起動 D:\Java\xampp\xampp-control.exeを実行。 XAMPP Control Panel Applicationにて、ApacheをStart。 ブラウザでhttp://localhost/にアクセス。XAMPPのページが表示されることを確認。   7、PHPのサンプルアプリを作成 D:\Java\eclipse\eclipse.exeを実行。 ファイル→新規→PHPプロジェクトにて、プロジェクト名はphpにする。 phpプロジェクトにて、ファイル→新規→PHPファイルを作成、ファイル名はdbaccess.phpにする。 Oracle DBのIPは192.168.1.100、サービス名はHOGEDB、キャラクタセットはAL32UTF8の場合。 スキーマ名はHR、パスワードはhogehogeの場合。 HRスキーマの作成は、ここを参照されたい。 [php] Oracle DB接続テスト Oracle DB接続テスト