2

私はindex.php他のphpファイルからページのバイトをロードするを持っています。上部には、db接続を処理するPHPクラスを含むindex.phpすべてのrequire_onceステートメントがあり、そのクラスのオブジェクトもインスタンス化します。

<?php 
    require_once 'libs/DatabaseHandler.php';

    $dbh = new DatabaseHandler('localhost', 'root', '*******', 'pride2012');

    require_once 'pages/01_includes.php';
    require_once 'pages/02_menu.php';
    require_once 'pages/03_slider.php';
    require_once 'pages/04_news.php';   
?> 

db管理クラスを使用するページビットはですが、データベース関連の操作を開始する前にオブジェクトが存在することを確認するには、ロード04_news.php前にオブジェクトを構築するだけで十分ですか?04_news.php

4

3 に答える 3

2

オブジェクトがオブジェクトであり、DatabaseHandlerのインスタンスである場合、オブジェクトが終了するかどうかを試すことができます。

http://php.net/manual/en/function.is-object.php

http://php.net/manual/en/internals2.opcodes.instanceof.php

于 2012-06-04T15:19:27.587 に答える
2

操作の前にオブジェクトを定義するだけで十分です。

または、組み込みの__autoload( )メソッドを使用して、必要に応じてクラスを動的にロードすることもできます。

詳細については、PHP.net:クラスの自動読み込みをご覧ください。

于 2012-06-04T15:21:06.130 に答える
0

04_news.phpが単独で呼び出されることはなく、index.phpによっても呼び出されないことが確実な場合は、それで十分です。

DatabaseHandlerをシングルトンhttp://en.wikipedia.org/wiki/Singleton_patternとして実装することもできます。

于 2012-06-04T15:22:49.093 に答える