2009-06-19 9 views
5

私はZend Frameworkの初心者です。Zend Framework 1.8を学ぶ上での難しさ

Zend Frameworkをダウンロードした後、公式のクイックスタートチュートリアルに沿って、非常に簡単な登録フォームを作成しました。しかしその後、Zend Frameworkのさまざまな要素を学ぶのは非常に難しいです。

多くのチュートリアルでは、ブートストラップファイルにfrontControllerとregisterAutoload()を記述しています。しかし、バージョン1.8のコード(official quickstart tutorialGetting Started with Zend Framework 1.8の両方)で再び見ることはできないようです。多くのチュートリアルには旧バージョンのコードが含まれており、v1.8では非常に異なるようです。

まず、パスワード確認の登録フォームを作成します。私は公式文書を読んで、custom validator for password confirmationを見つけました。クラスをそこに置くだけで、私がそれをどのように使うことができるかは言及していません。私はこのファイルをどこに置くべきか分かりません。私はGoogleでヒントを見つけることができません。 「クラスが見つかりません」というエラーは、常に私を病気にさせます(addPrefixElement、set_include_pathを試しましたが、動作しません)。

ユーザー登録、電子メールの有効化、ログイン、アクセス制御は非常に一般的な作業です。しかし、私は私のマシンで実行できるv1.8のサンプルコードを見つけていません。私はZend Frameworkについて非常に不満です。

誰かに私にいくつかのアドバイスがありますか?

答えて

8

また、zendフレームワークの学習を始めました。私はまた、 を混乱し、ハード学習作る古いチュートリアルの多くを見つけることが、私はZend Frameworkに学んでヘルプを見つけるいくつかのリソースがあります。

  • http://www.zendcasts.com/は - 彼らは、すでにZF1.8上のチュートリアルを持っているブートストラップを使用してのようにZend_Applicationなどに役立つかもしれない

いくつかの有用なブログ:

フォーラム:

クラスが見つからないため、あなたは自動ロードしていないと思いますか?その1. *リリースシリーズを使用して書かれたすべてのコード例では、まだほとんど、またはまったく変更することなく動作するはずZend Frameworkのの

4

部品は、1.8リリースでは、わずかに変更されましたが、すべてが後方互換性がなければなりません。異なっている主な分野は現在、パフォーマンスとそのAPIのいくつかのわずかな違い(PHPの警告であなたは古い方法を使用している場合)に関連するいくつかの改良を持って

  • のZendローダー(register_autoloadに関連する)です。初心者としてはあまり心配する必要はありません。チュートリアルに従ってください。あるいは、include/requireステートメントを使用し続けると、いつもそれらを追加することに悩まされるでしょう!

  • Zendアプリケーションでは、基本的にセットアップと初期化コードを簡単に作成できます。繰り返しになりますが、これを使う必要はなく、フレームワークの組み立て方法に慣れさせるために、手動のブートストラップクラスを喜んで書くことができます。始めるに関して

私は非常にZendのControllerコンポーネント、特にフロントコントローラ部とthis diagramの周りにあなたの頭を取得することをお勧めします。 認証についてはZend Authを参照し、電子メールについてはZend Mailを参照し、アクセス制御についてはZend Aclを参照し、フォームと検証についてはZend Form,Zend ValidateおよびZend Filterを参照してください。フォームと検証コンポーネントは、パスと独自のカスタムバリデータとフォーム要素の追加について説明します。

他の重要な領域はZend Dbです。これにより、データをデータベースに保存することができます。 MVCスタック内のビューレイヤーを表すZend Viewもあります。私の意見では、これらは基本的なZFアプリケーションの主要コンポーネントです。そこから、必要に応じて他のコンポーネントを探索することができます。

Zend Frameworkは、疎結合になるように特別に設計されており、特定のタスクに対して別のプロジェクトとは異なるコンポーネントを使用することは非常に簡単です。場合によっては独自のコンポーネントも作成する必要があります。 Zendコンポーネントよりも使用したいコンポーネントがある場合は、先に進んでください。

正直なところ、初心者の方にはナビゲートが難しいですが、ドキュメントはとても良いです。コアコンポーネントの周りに頭を浮かべれば、すべてのことがはっきりと分かります。

this tutorialもお試しください。これは、多くの基本を説明するのに役立ちます。

0

私はあなたにとても同情しています。私は初心者であり、古い方法と新しい方法との混乱は、ほとんど扱いすぎるほどです。また、主な相違点をいくつか指摘して誰かのためにここを参照してください:すべてのドキュメント

http://crossfunctional.wordpress.com/2009/05/

0

、特にZendのドキュメントは絶対に恐ろしいです。それは、あなたが参照しているスニペットをどこに置くか、どのように一緒に働くかを「知っている」ことを前提としています。もし私がすでにそれらのことを知っていたら、私はその文書を必要としません。あなたがダウンロードして変更できる認証などの完全なサンプルアプリケーションはありません。私はこのフレームワークを勉強しようとすることに、いつも後悔しています。私が見つけることができるすべての例は、明らかに古いバージョンのものです。私は手紙に1.8のために設計されたYouTubeの認証のために1つ続いた。 1.9.xでは動作しません。私の人生のためにそれを働かせることはできません。 Zend Frameworkに完全に不満!

2

私はこれらのビデオチュートリアルをアレックスと呼ばれる男がお勧めします。彼はそれらを最新の状態に保ち、新しいものを常にリリースします。これらはすべてZF 1.8および1.9に関連しています。

彼は(Zendのと私の最初のステップは彼に簡単に感謝でした!)

http://alex-tech-adventures.com/development/zend-framework.html?start=15 をなどACLをカバーしても、詳細なビデオチュートリアル、ログインフォームを持っている - 彼のサイトは把握に少しcomfusingが、時間の価値がありますそれアウト:)

乾杯 ローマ

0

Zend Frameworkには、より複雑なエンティティに比較的アクセスし、簡単なシステムであることからシフトしています。過去2〜3年にわたり数々の急速な発展を遂げてきましたが、古い文書がたくさん残っています。

バージョン1.7.xとの違いは、最新バージョンとの差が大きすぎるために開発者やテスト時間がかかりすぎるためです。

私はZend Frameworkが好きです。なぜなら、それはそれほど深みがあるからですが、初心者のための2つの剣です。

他のユーザーの専門知識を活用して、簡単なフレームワークの例を検索することをおすすめします。 ZF ですが、あなたのニーズに合った最も簡単なケースから試してみる必要があります。

Matthew Weier o'Phinney(「Phly、boy、phly」を検索)は、開発チームのより親しみやすいメンバーの1人であり、彼のウェブサイトに多数の例とアイデアがあると思います。

幸運を祈る!

1

いくつかのヒント:

ここでは、あなたがOOP/OOPのデザインパターンで経験している場合には、ZFを理解することがはるかに簡単であるディスパッチ処理

http://nethands.de/download/zenddispatch_en.pdf

の素敵な図である

私が最初にZFを遭遇したとき、私はOOPの知識がほとんどありませんでした。 ZFは私に、非常に良いことだったOOPを学ばせるように促しました。私はZFがミックスにその「魔法」を追加したとき、私はまだ混乱ZFのクラスをよく理解しているものの

は、ZFの「魔法」と実際のZFアーキテクチャ

区別します。私は「魔法」と言うとき

私は

  • デフォルトのオブジェクトがいずれも指定されていない場合はロードして使用し、
  • のurl-controllernameの-ファイルパス、ファイル名の語尾変化/命名規則のようなものを参照しています。
  • コンフィグ設定・ツー・クラスのインスタンスへのマッピング

ZFは、「はじめにチュートリアルが」あなたはすぐに夢中というビット意味でクラック・ディーラーのようなものです。彼らはあなたが思うように多くの魔法を奏でます。 .oO(このフレームワークはクール!)

あなた自身のことをしようとするとすぐに - 魔法が始まります本当に混乱しています。

だから私の戦術はできるだけ多くのZFマジックを取り除くことです。使用するクラスまたは使用するルーターを指定するオプションがある場合は、それを指定します。 Zendがあなたにそれをさせてはいけません。

奇妙なことが起こったとき、あなたはバグを見つけやすくなります。

また、クラス/パスの場所を指定すると(ZFが魔法のようにパスを変えてスクリプトを見つけることとは異なります)、「どこに置くの?」という質問を心配する必要はありません。どこにそれを置くのですか? - あなたが望むところに物事を置き、ZFを明示的に指し示すだけです。

ZFに慣れてきたら、それを引き継ぎ、あなたのためにいくつかの魔法をやりなおしたいかもしれません。なぜその魔法が便利なのか本当に分かりますか?

Tim Wardle氏が別の答えで言ったように、あなたが本当に必要とするまで、Zendローダーに対するステートメントが必要です。

あなたが週に10のウェブサイトプロジェクトを展開するPHPデザインハウスであれば、ZF Magicは本当に便利です。最初のZFアプリケーションを設計する場合、「再利用性」よりも「複雑さを減らす」ことがデザインの重要な目標です。

コードに

を見ることは明白に思えるかもしれないが、ZFについて学ぶための最善の方法の一つは、コードを見ることです。

また、ZFの魔法が邪魔になることがあります。私はしばしばメソッドの引数を見て、あいまいな「オプション配列」(正確には役立たない)があることを発見するために渡す必要のあるものを発見したいと思うことがあります。しかし、しばらくすると、オプションキーがgetter/setterメソッドとどのように結びついているかを知ることになります。だから、コードを見て、「ZF方法」に慣れてください。

私は 'エルプスです。

+0

私の作品をZFの魔法に書いたところ、フレームワークを「観察する」ZF Magic Infoコンポーネントがあり、最後に「phpinfo()」のようなものを出力できると思った私たちはグァンが何であるかを見ることができます。 - ちょっとした考え –

関連する問題