ホームページ > バックエンド開発 > PHPチュートリアル > 初心者向けソリューション: Zend フレームワークで新しいクラスを作成する方法

初心者向けソリューション: Zend フレームワークで新しいクラスを作成する方法

WBOY
リリース: 2016-06-23 14:06:45
オリジナル
820 人が閲覧しました

最近、私は友人の会社で PHP ウェブサイトのバックエンドを変更するのを手伝っていました。私は PHP を半分ほど習得したばかりですが、これまで一度もやったことがありません。
ざっと見てみると、Webサイトの構成はおおよそ次のとおりです。
-------------------------------- -------- -------
/application/
./admin/controllers/
./admin/views/
/library/
./App/
./App/Db.php
. /App/Model.php
./App/Db/
./App/Model/

./Zend/
/wwwroot/
...
------------- ------------- -----------------------
/library/App/Model/ ディレクトリには PHP ファイルが保存されます原則として、新しいファイル CreditYd.php を作成し、新しいクラスを作成します。
class App_Model_CreditYd extends App_Model_Abstract
{
関数を省略
}
ただし、App_Model を呼び出します::factory('CreditYd'); コントローラー内でエラーが発生しました。関数関数は次のとおりです:
class App_Model
{
static public function Factory($model)
$className = 'App_Model_'
$classPath = '/App/Model/' 。 . '.php';

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

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

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



ディスカッション(解決策)への返信

あなたの書き方は彼のルールに反しているようですね?しかし、私はこれを使ったことはありません

$model = new $className; の前に

include_once $classPath; を追加します

見てください



ハハ、私は素人ですが、zf には簡単に作成できるツールがあるようですインストール後、cmd zf create xxxx で直接作成できます

このクラスのヘッダー ファイルを参照しましたか?

このクラスのヘッダファイルは参照されていますか?

クラスのヘッダー ファイルとは何ですか? ? ? CreditYd.php のみ、引用先は

3 階の nirvana_newbie さんの返信を引用: このクラスのヘッダー ファイルは引用されていますか?

クラスのヘッダー ファイルとは何ですか? ? ? CreditYd.php のみ、引用する場所
これらのコードを記述した PHP ファイルの先頭で引用するだけです。 include_once 'CreditYd.php';

4 階の yeinuse からの引用: 3 階の nirvana_newbie からの返信: このクラスのヘッダー ファイルを引用しましたか?
クラスのヘッダー ファイルとは何ですか? ? ? CreditYd.php のみ、引用する場所
これらのコードを記述した PHP ファイルの先頭で引用するだけです。 include_once 'CreditYd.php';

しかし、既存のモデルのソースコードは参照されていないようです、それともどこかで参照されていますか?


5 階の nirvana_newbie からの引用: 4 階の yeinuse からの返信: 3 階の nirvana_newbie からの引用: このクラスのヘッダー ファイルを引用しましたか?
クラスのヘッダー ファイルとは何ですか? ? ? CreditYd.php のみ、引用する場所
これらのコードを記述した PHP ファイルの先頭で引用するだけです。 include_once 'CreditYd.php';

しかし、既存のモデルのソースコードは...

一般にオープンソースフレームワークはカプセル化されており、すべてのヘッダーファイルと共通関数が 1 つのファイルに記述されています (include 'utils php' など)。この utils.php には多くのヘッダー ファイルが導入されているため、ページに utils.php を導入するだけで済みます。したがって、モデルのヘッダー ファイルを参照している他のファイルは表示されません。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート