• 検索結果がありません。

マスタマシンの Web サーバーの次のフォルダにご使用のサイトのディレクトリ構造および ファイルをコピーまたは移動します。

ドキュメント内 FileMaker Server 18 カスタム Web 公開ガイド (ページ 69-77)

1 HTTP または HTTPS での IIS (Windows):

[

ドライブ

]:¥Program Files¥FileMaker¥FileMaker Server¥HTTPServer¥Conf [

ドライブ

] は FileMaker Server を展開したマスタマシンのドライブです。

1 HTTP での Apache (macOS):

/

ライブラリ

/FileMaker Server/HTTPServer/htdocs 1 HTTPS での Apache (macOS):

/

ライブラリ

/FileMaker Server/HTTPServer/htdocs/httpsRoot

メモ カスタム

SSL

証明書をインポートすると、データベースサーバークライアント接続で

SSL

が使用され、

HTTP

接続が

HTTPS

にルーティングされます。ご使用のカスタム

SSL

証 明書とともに、サイトの

PHP

ファイルを共有するための

HTTPS

ディレクトリを使用してく ださい。

6. データベースのオブジェクトフィールドに実際のファイルではなくファイル参照が保存され ている場合、レコードを作成または編集するときに、その参照されているオブジェクトが

FileMaker Pro Advanced の「Web」フォルダに保存されている必要があります。オブジェク

トを、

Web

サーバーソフトウェアのルートフォルダ内の同じ相対パスの場所にコピーまたは 移動します。

16

ページの「

Web

上でのオブジェクトフィールドの内容の公開について」を参照してくだ さい。

7. サイトまたはプログラムのセキュリティメカニズムが設定されていることを確認します。

8. Web ユーザ用に定義されているものと同じアカウントとアクセス権を使用して、サイトをテ

ストします。

9. サイトを使用可能にしてユーザに通知します。

Web

ユーザが入力する

URL

には次の形式が 使用されます

:

http://<

サーバー

>/<

サイトパス

>

1 <

サーバー

>

FileMaker Server

が存在しているコンピュータです。

1 <

サイトパス

>

は上記手順

5

で使用したディレクトリ構造によって決定される、サイトの ホームページの相対パスです。

メモ

PHP

では

Latin-1 (ISO-8859-1)

エンコードを使用します。

FileMaker Server

Unicode

(UTF-8)

データを返します。

CLI

を使用してサイト用にデフォルトの文字エンコードを指定しま

す。

CLI

ヘルプを参照してください。

PHP

サイトには、

UTF-8

または

ISO-8859-1

のいずれか を指定できますが、

UTF-8

が推奨されます。サイトの

PHP

ファイルの

<HEAD>

セクションにあ る

charset

属性に同じ設定を指定します。

PHP ソリューションの展開と使用の詳細については、第9章「サイトのステージング、テスト、

および監視」を参照してください。

ご使用の

Web

サーバーのアドレスが

192.168.123.101

で、サイトのホームページが

c:¥Inetpub¥wwwroot¥customers¥index.php

Web

サーバー上にある場合、

Web

ユーザ は次のように

URL

を入力します

:

http://192.168.123.101/customers/index.php

FileMaker API for PHP の使用

FileMaker API for PHP

には、

FileMaker

データベースに対するオブジェクト指向インター フェースを提供する

PHP

クラス

(FileMaker

クラス

)

が実装されています。

FileMaker API for PHP

を使用すると、

FileMaker Pro Advanced

データベースに保存されているロジックおよび データの両方に対し、

Web

上にアクセスして公開、または他のアプリケーションにエクスポー トすることができます。

FileMaker API for PHP

は、

FileMaker Pro Advanced

データベース内ですでに使用可能な次の機

能を

PHP

コードで実行できるようにします

:

1

レコードの作成、削除、編集、または複製

1

検索条件の実行

1

フィールドおよびレコードの入力値の制限のチェックの実行

1

レイアウトの使用

1 FileMaker

スクリプトの実行

1

ポータルおよび関連レコードの表示

1

値一覧の使用

この章では、

FileMaker

クラスオブジェクトの使用方法、およびこれらの一般的な機能を

PHP

ソリューションに追加するメソッドを説明します。この章は、

FileMaker API for PHP

全体をカ バーするものではありませんが、主要なオブジェクトおよびメソッドを紹介します。

追加情報の入手場所

FileMaker API for PHP

の詳細については、次のリソースを参照してください。

すでに

PHP

エンジンのインストールおよび構成が終了し、

FileMaker API for PHP

を追加するだ けの場合は、

66

ページの「

FileMaker API for PHP

の手動によるインストール」を参照してくだ さい。

FileMaker API for PHP リファレンス

FileMaker API for PHP

をインストールしている場合は、展開した

FileMaker Server

Web

サー バーコンポーネントでリファレンス情報を参照できます。

1 IIS (Windows):

[

ドライブ

]:¥Program Files¥FileMaker¥FileMaker Server¥Documentation¥PHP API Documentation¥index.html

[

ドライブ

]

は展開した

FileMaker Server

Web

サーバーコンポーネントが格納されているド ライブです。

1 Apache (macOS): /

ライブラリ

/FileMaker Server/Documentation/PHP API Documentation/index.html

FileMaker API for PHP に関するサポート

FileMaker API for PHP

の追加情報については、FileMaker のサポートページを参照してください。

FileMaker クラスの使い方

PHP ソリューションで FileMaker クラスを使用するには、PHP コードに次の文を追加します:

require_once ('FileMaker.php');

FileMaker クラスオブジェクト

FileMaker クラスは FileMaker Pro Advanced のデータベースからデータを取得するのに使用で

きるクラスオブジェクトを定義します。

FileMaker のコマンドオブジェクト

FileMaker

クラスは特定のコマンドのインスタンスを作成し、コマンドの引数を指定するのに

使用する基本コマンドオブジェクトを定義します。コマンドを実行するには、

execute()

メ ソッドを呼び出す必要があります。

FileMaker

クラスは次の特定のコマンドを定義します

:

1 Add

コマンド

1 Compound Find

コマンド

1 Delete

コマンド

1 Duplicate

コマンド

1 Edit

コマンド

1 Find

コマンド、

Find All

コマンド、

Find Any

コマンド

1 Find Request

コマンド

(Compound Find

コマンドに追加される

) 1 Perform Script

コマンド

重要 コマンドには

FileMaker.php

クラスに定義されている戻り値があります。たとえば、

一部のコマンドは

TRUE

などの論理値または

FileMaker_Error

オブジェクトを返します。その 他のコマンドはレイアウトの「対象レコード」全体を含む場合がある

FileMaker_Result

オブ ジェクトを返します。コンピュータのメモリの過負荷の問題を回避するには、使用するコマン ドの要求する戻り値に注意してください。各コマンドの戻り値の詳細については、

71

ページの

FileMaker API for PHP

リファレンス」を参照してください。

クラスオブジェクト オブジェクトを使用して行う処理

FileMaker データベース データベースのプロパティの定義

FileMaker Pro Advanced データベースファイルへの接続 FileMaker API for PHP の情報の取得

コマンド レコード追加、レコード削除、レコード複製、レコード編集、検索条件実行、および スクリプト実行コマンドの作成

レイアウト データベースレイアウトの使用 レコード レコードデータの使用

フィールド フィールドデータの使用 関連セット ポータルレコードの使用

結果 検索条件から返されたレコードの処理 エラー エラーが発生したかどうかの確認

エラーの処理

ほとんどの PHP アプリケーションが実行する必要がある基本的なタスクについては、次を参照 してください:

1 74ページの「レコードの使用」

1 76ページの「FileMaker スクリプトの実行」

1 83ページの「検索条件の実行」

FileMaker API で使用するデータのデコード

PHP アプリケーションが Web サイトからデータを取得している場合、そのデータは URL エン

コードされている可能性があります。

FileMaker API for PHP では、データが URL エンコードさ

れた文字列ではなく、デコードされた文字列であるものとして処理します。通常は、PHP アプ リケーションでデータを取得する場合は urldecode() 関数を呼び出すことをお勧めします。

メモ

FileMaker API for PHP では、アンパサンド (&) 文字を含む文字列を使用することはでき

ません。FileMaker API for PHP に渡す文字列に含まれる特殊文字の前にはエスケープ文字とし てバックスラッシュを使用します。

FileMaker データベースへの接続

FileMaker

クラスはサーバーまたはデータベースに接続するためにインスタンスを作成するデー

タベースオブジェクトを定義します。クラスコンストラクタを使用するか、

setProperty() メ

ソッドを呼び出してオブジェクトのプロパティを定義します。

メモ

hostspec

プロパティは、デフォルトで

http://localhost

という値になります。

PHP エンジンはマスタマシンの Web サーバーコンポーネントとともにインストールされるた

め、hostspec プロパティを指定する必要はありません。

$user = urldecode($_GET['user']);

$event = urldecode($_GET['event']);

サーバーに接続し、データベースの一覧を表示

:

$fm = new FileMaker();

$databases = $fm->listDatabases();

サーバー上の特定のデータベースへ接続

:

$fm = new FileMaker();

$fm->setProperty('database', 'questionnaire');

$fm->setProperty('hostspec', 'http://192.168.100.110');

$fm->setProperty('username', 'web');

$fm->setProperty('password', 'web');

ユーザ名とパスワードのプロパティによって、この接続用のアクセス権セットが決まります。

レコードの使用

FileMaker クラスはレコードを使用するためにインスタンスを作成するレコードオブジェクト

を定義します。レコードオブジェクトのインスタンスは、FileMaker Pro Advanced データベー スの 1 つのレコードを表します。レコードオブジェクトを、Add、Delete、Duplicate、および

Edit コマンドと使用して、レコード内のデータを変更します。検索コマンド (Find、Find All、

Find Any、および Compound Find) は、レコードオブジェクトの配列を返します。

レコードの作成

レコードを作成するには、次の 2 つの方法があります:

1 createRecord() メソッドを使用します (レイアウト名を指定、およびフィールド値の配列

をオプションで指定)。新規レコードオブジェクトでは個別に値を設定することもできます。

createRecord() メソッドは、新規レコードをデータベースに保存しません。レコードを

データベースに保存するには、

commit() メソッドを呼び出します。

FileMaker_Record の commit() メソッドを使用すると、エラーがない場合は $result 変数

に論理値 TRUE が割り当てられ、FileMaker データベースに新しいレコードが作成されます。

エラーが発生した場合は、変数

$result に FileMaker_Error オブジェクトが含まれます。

commit() メソッドの実行後にエラーチェックを行ってください。

1 Add コマンドを使用します。 newAddCommand()

メソッドを使用し、レイアウト名および

レコードデータを持つ配列を指定して FileMaker_Command_Add オブジェクトを作成しま す。レコードをデータベースに保存するには、

execute()

メソッドを呼び出します。

FileMaker_Command の execute() メソッドを使用すると、エラーがない場合は $result

変数に

FileMaker_Result

オブジェクトが含まれます。このオブジェクトには作成したレコー

ドに関するすべての情報が含まれます。

エラーが発生した場合は、変数

$result

FileMaker_Error

オブジェクトが含まれます。

execute() メソッドの実行後にエラーチェックを行ってください。

レコードの複製

Duplicate コマンドを使用して既存のレコードを複製します。 newDuplicateCommand() メ

ソッドを使用し、レイアウト名および複製するレコードのレコード

ID

を指定して、

FileMaker_Command_Duplicate

オブジェクトを作成します。その後、

execute()

メソッドを 呼び出してレコードを複製します。

$rec = $fm->createRecord('Form View', $values);

$result = $rec->commit();

$newAdd = $fm->newAddCommand('Respondent', $respondent_data);

$result = $newAdd->execute();

ドキュメント内 FileMaker Server 18 カスタム Web 公開ガイド (ページ 69-77)