ホームページ  >  記事  >  バックエンド開発  >  初心者向けの解決策: Zend フレームワークで新しいクラスを作成するにはどうすればよいですか?

初心者向けの解決策: Zend フレームワークで新しいクラスを作成するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 12:47:54737ブラウズ

初心者向けの解決策: Zend フレームワークで新しいクラスを作成する方法
最近、私は友人の会社で PHP Web サイトのバックエンドを変更するのを手伝っていました。私は PHP をまだ半分しか習得していませんが、これまで一度もやったことがありません。
ざっと見てみると、Webサイトの構造はおおよそ次のとおりです。
--------------------------------------------------
/アプリケーション/
./admin/controllers/
./admin/views/
/ライブラリ/
./アプリ/
./App/Db.php
./App/Model.php
./App/Db/
./アプリ/モデル/

./ゼンド/
/wwwroot/
...
--------------------------------------------------
/library/App/Model/ ディレクトリには既存の CLASS オブジェクトの PHP ファイルが保存されているため、同じ原理を使用して新しいファイル CreditYd.php をインストールし、新しいクラスを作成しました。 class App_Model_CreditYd extends App_Model_Abstract
{
関数を省略
}
ただし、コントローラーで App_Model::factory('CreditYd'); を呼び出すときにエラーが発生しました。関数関数は次のとおりです:
クラス App_Model
{
静的パブリック関数ファクトリー($model)
{
$className = 'App_Model_' .$model;
$classPath = _LIB_DIR_ . '/App/Model/' .

if (!file_exists($classPath)) {
throw new Exception('Class Not Fonud');
} else {


$model = new $className;
//error_log("[新しいクラス名]rn", 3, _LIB_DIR_ . '/App/error.log');

if ($model instanceof App_Model_Abstract) {
$model を返す;
} else {
throw new Exception('Error');
}
}
}
}
------------------
エラー行は
$model = new $className; にあります。オブジェクトが見つかりませんか? ? Zend を使ったことがないので、オブジェクトの作り方がわかりません。C 言語のようにインクルードして作成する必要がありますか?
専門家に答えを聞いてください! ! ! !

フレーム ゼンド PHP
-----解決策--------------------------------あなたの書き方は彼のルールに不適切なようですね。でもこれも使ったことないです

$model = new $className; の前に
を追加します。 include_once $classPath;
見てみましょう



-----解決策--------------------------------笑、私は素人です zf にはコントローラー モデルを簡単に作成できるツールがあるようです。インストール後、cmd zf create xxxx

で直接作成できます。 ------------------------- -------このクラスのヘッダファイルは参照されていますか?

------解決策---------
引用: 引用: このクラスのヘッダー ファイルは引用されていますか?
クラスのヘッダファイルとは何ですか? ? ? CreditYd.php のみ、引用箇所
このコードを記述した PHP ファイルの先頭で引用してください。 include_once 'CreditYd.php';

-----解決策---------
Quote:Quote:Quote:Quote:このクラスのヘッダー ファイルは引用されていますか?
クラスのヘッダファイルとは何ですか? ? ? CreditYd.php のみ、引用箇所
このコードを記述した PHP ファイルの先頭で引用してください。 include_once 'CreditYd.php';
しかし、既存のモデルのソースコードは次のようです...
一般に、オープンソース フレームワークはカプセル化されており、すべてのヘッダー ファイルと共通関数が 1 つのファイルに書き込まれます。たとえば、「utils.php」をインクルードすると、多くのヘッダー ファイルが utils.php に導入されるため、ページ内では utils.php をインポートするだけです。したがって、モデルのヘッダー ファイルを参照している他のファイルは表示されません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。