親スクリプトで設定された変数を継承せずに、PHPスクリプト内から別のPHPファイルを含める(または、私の使用では実行する)ことは可能ですか?これは、インクルードを関数でラップすることでほとんど可能ですが、それはずさんな感じがします。
よりエレガントな代替手段はありますか?
親スクリプトで設定された変数を継承せずに、PHPスクリプト内から別のPHPファイルを含める(または、私の使用では実行する)ことは可能ですか?これは、インクルードを関数でラップすることでほとんど可能ですが、それはずさんな感じがします。
よりエレガントな代替手段はありますか?
includeコマンドをinclude関数にラップします。
<?php
//Führt die Cronjobs aus
set_time_limit(30);
/** Alle Dateien mit _cronjob am schluss sollen minütlich ausgeführt werden.*/
$files = scandir(__DIR__ ."/cronjob");
foreach($files as $file) {
if($file == "." || $file == "..") continue;
include_easy(__DIR__ ."/cronjob/". $file);
}
//Damit die variablen nicht überschrieben werden, wird das include über eine funktion gemacht.
function include_easy($pfad) {
include($pfad);
}
残念ながら、この記事の執筆時点では、関数またはメソッドに含めたいものをラップすることが、これを実現する唯一の方法であるように思われます。
ファイル内の変数をプライベート変数を含めて作成します。そうすれば、それらは関数を継承したいファイルにのみ含まれます。これは、問題に取り組むためのはるかにクリーンな方法です。