• ベストアンサー

関数の組み込み。

PHPでの関数の組み込みの質問です。 自作の関数を集めたPHPファイル"common_function.php"を製作し、 それぞれの処理の頭でこの関数ファイルをinclude_onceを使って 読み込んでいるという形式で処理を行っています。 include_once("../common/common_function.php"); この処理を行わずにこの関数ファイルををデフォルトで読み込む ようにPHPの設定に組みこむ事はできないのでしょうか? よい方法があれば宜しくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • satoh
  • ベストアンサー率77% (17/22)
回答No.1

使ったことはありませんが、php.iniのauto_prepend_fileは如何でしょうか? # 参考URL先を参照してください。

参考URL:
http://www.php.net/manual/ja/ini.core.php#ini.auto-prepend-file
orenge_mint
質問者

お礼

satohさんの言う通りphp.iniのauto_prepend_fileの設定を 行ってみた結果、問題なく共通関数を組込む事ができました。 助言ありがとうございました。

関連するQ&A

  • PHP 設定ファイルとユーザ定義関数

    ある機能を満たすためのライブラリ(lib.php)を作成しました。 このlib.phpはユーザ定義関数の寄せ集めです。 それぞれのユーザ定義関数では、設定ファイル(config.php)に記述されている共通変数を利用します。 このconfig.phpなのですが、ユーザ定義関数ごとにincludeする以外の方法はあるでしょうか? lib.php function one() { $hensu1... $hensu2... ...処理; } function two() { $hensu1... ...処理; } .... config.php $hensu1 = 1; $hensu2 = 2; ... という構成です。 function one,function twoでconfig.phpの変数を利用したいのですが、lib.phpの先頭でinclude "config.php"をしてもfunctionの中では変数のスコープが有効にはならず、 lib.php function one() { include "config.php"; ...処理; } function two() { include "config.php"; ...処理; } としています。 PHP5を使用しています。 function one() { global $hensu1... } としたらよいのでしょうか? どなたかアドバイスいただけますと幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • zendにsmarty3の組込で

    こちらのページを参考に表示にsmartyを入れてみました。 http://www.phppro.jp/school/smarty/vol12/2 ※smartyは3.0.6でzendは1.11.3です indexActionで格納した変数はtplで表示されているので組込は 成功しているかと思うのですが下記のようなエラーが表示されます。 Warning: include_once(Smarty\Internal\Data.php) Warning: include_once(Smarty\Internal\Template.php) ファイルを確認すると確かに該当データがありません。 smarty3なのでフォルダ名がInternalではなくsyspluginsに変わって いる事が原因かと思うのですがどのように対処すればいいでしょうか?

    • ベストアンサー
    • PHP
  • 同機能の、「組み込み関数」と「ユーザ関数」、両者の性能差について。

    いつもお世話になっております。 PHP5.2.5 Apache1.3.37 SQLite3.3.7 PHPには、組み込み関数が予め、膨大な数、用意されているという話なので、 実際には、 有用であるけども出会うことのない組み込み関数 というものもあるように思います。 この場合、 そういった組み込み関数と同機能のユーザ関数 を車輪の再開発してしまうことが考えられます。 そこで、私が知りたいことは、 組み込み関数で提供されている機能を、 ユーザ関数で実現する際、 性能を損なわずに(つまり、処理速度面でも同等に)、 ほぼ等価な関数をユーザ関数で作ることはできるのか、 ということです。 よく使用されるお馴染みの関数の多くは、 それ自体、基本的な機能でのみ構成されていると思われるので、 それをユーザ関数で実現するとなると、 私にも、「それは難しそうだな…」と思えますが、 そうではなく、 かなりマニアックな関数、 つまり、 基本的な組み込み関数を複数組み合わせて作られているような、 そんな組み込み関数も、中にはあるわけで、 それらの中には、よく知られておらず、 車輪の再開発されてしまうものも多いと思います。 (再開発自体を回避する策があるのであれば、それも知りたいと思います) PHPの中の構造について詳しくないので、 既に変なことを言っているかもしれませんし、 以下でも、さらに変なことを言うかもしれませんが、 組み込み関数とは、C言語など、PHPではない言語で作られていたりするのでしょうか? (処理速度をあげる、等の理由から) そうであるならば、 ユーザがPHPを操って作るユーザ関数は、出来る限り作らず、 既存の「組み込み関数」を利用したい、と私は考えます。 よって、「知りたいこと」を要約すると、 ・車輪の再開発を防ぐ方法 ・車輪の再開発されたユーザ関数の、組み込み関数との性能差 ・組み込み関数の成り立ち(C言語由来?) こうなります。 組み込み関数を検索する際の、自分の検索能力を鍛えるべきなのか、 車輪の再開発することになることを想定し、その再開発能力を鍛えるべきなのか、 どなたかに、何らかのアドバイスをして頂けると嬉しく思います。 (そもそも、組み込み関数に適当な関数があるかどうかを、皆さんはどのように検索されているのでしょうね…。 私なんかは、リファレンス本をメインに探していたりしますが。) 以上、どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPの関数の二重定義を防ぐには?

    phpでオリジナルの関数を作成したとき プログラムのミス等で、二度定義されてしまった時 Fatal error: Cannot redeclare というような、エラーが出ますが、include_onceのonceみたいな これを、出さぬよう、定義側で一度しか定義させないように するようにはできないのでしょうか? if($flag){   function hoge(){} } $flag = 1 のようにフラグを立てるしかないのでしょうか?

    • ベストアンサー
    • PHP
  • includeとinclude_onceの使い分け

    まずマニュアルを。 ------------------------------------------------------ PHP: include_once - Manual http://www.php.net/manual/ja/function.include-once.php include_once 命令は、スクリプトの実行時に指定したファイルを読み込み評価します。この動作は、include 命令と似ていますが、ファイルからのコードが既に読み込まれている場合は、再度読み込まれないという重要な違いがあります。その名が示す通り、ファイルは一度しか読み込まれません。 include_once は、スクリプトの実行時に同じファイルが複数回読み込まれ、評価される可能性がある場合に、関数の再定義や 変数値の再代入といった問題を回避するために一回だけ読み込ませるために使用します。 ------------------------------------------------------ …。表面的な機能の違いはわかりました。しかしそれをどう使い分けるのかの説明はなく、分かりませんでした。 よく分からない点は以下です。 ・同じファイルを何度も「include」もしくは「include_once」するケース ・あえて何度も記述しながら実際には1度しか評価してほしくないケース ・何度も記述して、そのつど評価したいケース これらについて例を挙げて教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpプログラムの転送量を少なくする方法

    現在レンタルサーバーでphpのウェブアプリを運営しています。 phpの転送量を削減したいのですが、 良い方法がありましたら、教えて下さい。 phpのファイルサイズが1Mバイトを超えてしまいました。 転送量を少なくしたいのですが、次のようなプログラムは効果があるのでしょうか? <?php $a = ""; if($a == 0){ include_once("function0.php"); function0($a); }else($a == 1){ include_once("function1.php"); function1($a); } ?> 場合分けで分割して、プログラムを読み出すというものです。 あとapcでキャッシュしています。 root権限があるので、サーバー設定でも構いません。 phpの転送量を少なくする方法がありましたら、教えて下さい。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPの関数はどこのファイルで定義されていますか?

    PHPのデフォルトの関数はどこのファイルで定義されていますか?教えて下さい。Call to undefined function: socket_create() というエラーメッセージが出て困っています。

    • ベストアンサー
    • PHP
  • mb_convert_variables関数が見つからない。

    mb_convert_variables関数が見つからない。 環境:PHP Version 5.2.13 ネットからPHPテンプレートクラスライブラリをDLして組み込み開発をしているのですが、 mb_convert_variables()のところでエラーが出てしまいます。 内容は、   Fatal error: Call to undefined function mb_convert_variables() というものです。 PHPマニュアルで確認したらPHP5でも使用可能なようです。 何かiniファイルの設定が必要なのでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • include_pathについて

    php.ini内のinclude_pathをinclude_path=".;C:\php\include"と設定してC:\windows\(不安なのでC:\php\にも)に置いているのですが、 なぜかphpinfo()を開いて確認すると".;C:\php5\pear"となっています。 Loaded Configuration File を見ても C:\Windows\php.ini となっていますし。 require_once "DB.php"を実行したときに以下のエラーが出たので、 db.phpのインストールも済んでいることから、include_pathが正しく設定されていないのが問題だと思うのですが・・・ Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\users.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'DB.php' (include_path='.;C:\php5\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\users.php on line 2 php.ini以外にも設定しなければいけない個所があるのでしょうか?

    • 締切済み
    • PHP
  • include_onceで呼び出したPHPファイル

    PHPでサイトを組んでいるのですが、include_onceで以下のようにPHPの各ファイルを呼び出して実行しているのですがうまくいきません。 <?php //レンタルサーバーのcronを利用して、定期的に走らせるコードです。 include_once "example_a.php"; include_once "example_b.php"; include_once "example_c.php"; ?> 各ファイルは、RSSで読み込んだデータをMySQLに格納するプログラムです。 個別で各ファイルを実行すると正しい結果となりますが上記のようなプログラムでまとめて実行するとexample_a.phpは正しい結果となりますが、example_b.php、example_c.phpは正しく処理されません。 原因として考えられるものがあれば、教えていただきたいと思います。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう