ステップバイステップ:
読み込み中:
require_once('forms.php');
require_once('members.php');
require_once('messages.php');
に指定された自動ロード スクリプトで処理する必要がありますspl_autoload_register
。
spl_autoload_register(function($class){ require($class.'.php');});
規範を尊重し、オートローダーとして使用することは、非常に優れた方法です。使用を許可するには、少なくとも PHP 5.3 があることを確認してくださいPSR-0
composer
PSR-0
PSR-0とは?
PHPFIG は、すべての php フレームワークに簡単に組み込むことができる標準モジュールを作成することを推奨しています。コードを標準的な方法で自動ロードできるようにするために従うべきルールのリストを作成します。そのため、ディレクトリ アーキテクチャと同期して名前空間を使用します。
Composer は、PSR-0 に依存してクラスを自動ロードする強力なツールです。さらに、PSR-0 を尊重するすべてのコンポーネントをロードする依存関係ツリーを作成する機能があります。たとえば、すべての Symfony2 バンドルを Symfony 自体から独立してロードできます。バンドルが依存する Symfony コンポーネントをロードするだけです (たとえば、HTTPFundationまたは YamlComponent)。あなたのプロジェクトが Symfony Yaml コンポーネントに依存している場合、 という設定ファイルで、セクションcomposer.json
に追加します。require
'Symfony\Component\Yaml': *;
使用するたびphp composer.phar update
に最新バージョンが取得され、プロジェクトに組み込まれます。
依存関係とサイクルについて:
グローバルを使用しないでください。維持するのは苦痛です。絶望的な場合にのみ使用する必要があります。あなたの場合、代入を 2 つに分割することで、構造のサイクルを断ち切ることができます。
class members() {
function __construct($forms)
{
$this->forms = $forms;
$form->setMembers($this);// here is the trick
}
}
class forms(){
public function __construct($members = null){
$this->members = $members;
}
public function setMembers(Members $m){
$this->members = $members;
}
}