1

カスタム ディレクトリがあり/www/phpstuffますinclude_path。このphpstuffディレクトリの中にフォルダがありますi18n。サーバー側レベルの.moファイルが含まれています。

Zend_Translateコンストラクターの 2 番目のパラメーターでディレクトリを指定できますが、実際にはできません。

Zend_Translate( 'gettext', 'i18n/', 'en' );

このスクリプトが呼び出されるディレクトリから読み取ろうとしますが、/www/phpstuff/i18n明示的に指定する必要がないようにするために使用できるトリックはありますか? 私が使用しているこのフレームワークは、さまざまなプラットフォームで使用されるため、絶対パスよりも include_path でディレクトリを指定する方が簡単です。

私が思い付くことができる唯一の回避策は、インクルード パスを手動で読み取り、区切り記号で分割し、ディレクトリのいずれかが「gettext」という名前であるかどうかを確認し、最初に見つかったディレクトリの絶対パスを取得して設定することです。

4

1 に答える 1

1

アプリケーションパスをどこかに定義する必要があります。絶対パスを設定したくない場合は、相対パスを設定する必要があります。たとえば、次の dir 構造を使用します。

/application/
/application/i18n/
/public_html/
/public_html/index.php

この場合のアプリケーション パスは次のようになります。

define('APPLICATION_PATH', '../application');

そして、次のように使用できます。

Zend_Translate( 'gettext', APPLICATION_PATH . '/i18n', 'en' );

それが役立つことを願っています。

于 2009-12-10T12:58:52.250 に答える