require_once(_SMARTY_LIBS_DIR."Smarty.class.php");


上記phpの記述の意味と用途について教えてください。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2006/05/18 19:10:13
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:inokuni No.2

回答回数1343ベストアンサー獲得回数21

ポイント27pt

http://jp2.php.net/require_once

require_once()文は、スクリプトの実行中に指定された ファイルを読み込み、評価します。この振る舞いはrequire() 文と似ていて、唯一の違いは既にコードが読み込まれている場合には再度読み込まれる ことがないことです。


おそらく、この関数の前に _SMARTY_LIBS_DIR という値が宣言されているはずです。

http://jp2.php.net/define

define("_SMARTY_LIBS_DIR", "/home/httpd/lib/smarty/");

のような記述を探してみてください。("/home/httpd/lib/smarty/"は、例)


総じて、

require_once(_SMARTY_LIBS_DIR."Smarty.class.php");

という記述では、「_SMARTY_LIBS_DIR」という値で宣言されたディレクトリ内の

「Smarty.class.php」というファイルを

既に読み込んでいれば読み込まず、

まだ読み込んでいなければ読み込むという意味になります。

その他の回答2件)

id:Kumappus No.1

回答回数3784ベストアンサー獲得回数185

ポイント27pt

http://jp2.php.net/manual/ja/function.require-once.php

http://jp2.php.net/manual/ja/function.require.php

_SMARTY_LIBS_DIR."Smarty.class.php"というファイルを一度だけ読み込んで評価します。下のrequire()が呼び出されるたびにファイルの読み込み、評価を行うのとは異なり一度だけです。

例えば

_SMARTY_LIBS_DIRの内容が"/usr/local/share/smarty/libs/"だとすると . は文字列の結合なので

"/usr/local/share/smarty/libs/Smarty.class.php"というファイルが読み込まれます。

id:inokuni No.2

回答回数1343ベストアンサー獲得回数21ここでベストアンサー

ポイント27pt

http://jp2.php.net/require_once

require_once()文は、スクリプトの実行中に指定された ファイルを読み込み、評価します。この振る舞いはrequire() 文と似ていて、唯一の違いは既にコードが読み込まれている場合には再度読み込まれる ことがないことです。


おそらく、この関数の前に _SMARTY_LIBS_DIR という値が宣言されているはずです。

http://jp2.php.net/define

define("_SMARTY_LIBS_DIR", "/home/httpd/lib/smarty/");

のような記述を探してみてください。("/home/httpd/lib/smarty/"は、例)


総じて、

require_once(_SMARTY_LIBS_DIR."Smarty.class.php");

という記述では、「_SMARTY_LIBS_DIR」という値で宣言されたディレクトリ内の

「Smarty.class.php」というファイルを

既に読み込んでいれば読み込まず、

まだ読み込んでいなければ読み込むという意味になります。

id:vector_xenon No.3

回答回数113ベストアンサー獲得回数4

ポイント26pt

http://php.s3.to/man/function.require-once.html


【意味】

1回だけこのファイルを読み込んで


【用途】

1回だけこのファイルの読み込みが絶対に必要


昔はincludeとrequireで根本的な意味の違いがありましたが、現在はエラーの際の処理方法と、コーディング規約での違いしかありません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません