カテゴリー:Zend Frameworkの

Zend Frameworkは、モジュールごとのベースの設定

によって 、金曜日2010年1月1日22:40

私は以下の設定を必要とするこの記事へのフォローを作成した、以下を参照してください。 Zend Frameworkの-モジュールベースのレイアウトを

使用する場合はZend Frameworkを同じアプリケーションから様々な(サブ)サイトを実行している場合に、モジュールとの明白なことをするには、必ずしも同じしたくないレイアウトスクリプトの各部分のために。 私は以下のサイト構造を使用することにしました。

  /アプリケーション
     /コントローラ
         ...
     /モデル
     /モジュール
         /デフォルト
             /コントローラ
             /レイアウト
                 /スクリプト
             /ビュー
                 /スクリプト
         / anotherModule
             ...
     /スクリプト

問題は、モジュール単位でのレイアウトのスクリプトを設定した。 答えは、アクションヘルパーを使用して経由して来た。 モジュール単位でのレイアウトを設定するには、3つの手順を実行します。

  1. application.iniの(または同様の構成のセットアップ):
      admin.resources.layout.layoutPath = APPLICATION_PATH"/モジュール/管理/レイアウト/スクリプト"
     default.resources.layout.layoutPath = APPLICATION_PATH"/モジュール/デフォルト/レイアウト/スクリプト"
     member.resources.layout.layoutPath = APPLICATION_PATH"/モジュール/メンバー/レイアウト/スクリプト"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH"/モジュール/アフィリエイト/レイアウト/スクリプト" 
  2. あなたのアクションのヘルパーを作成します。
      <?PHP
     / **
      *モジュール単位でレイアウトパスを設定します。
      *
      * @著者ロイドワトキン<lloyd@evilprofessor.co.uk>
      * @ 2010年1月1日以降
      * /
    クラスPro_Controller_Action_Helper_SetLayoutPath
         Zend_Controller_Action_Helper_Abstractを拡張
     {
         / **
          *モジュールに基づいてレイアウトパスを設定します。
          * /
        パブリック関数preDispatch()が
         {
        	 $モジュール=の$ this -> getRequest() - > getModuleName();
    
    	    場合($ブートストラップ=の$ this -> getActionController()
    	                        - > getInvokeArg('ストラップ')){
    
    	        設定$ = $ストラップ - >はgetOptions();
    
    	        場合(どうかの判断(の$ config [$モジュール] ['リソース'] ['レイアウト'] ['layoutPath'])){
    	             $ layoutPath =
    	                 設定$ [$モジュール] ['リソース'] ['レイアウト'] ['layoutPath'];
    	            の$ this -> getActionController()
    	                  - >にgetHelper('レイアウト')
    	                  - > setLayoutPath($ layoutPath);
    	         }
        	 }
         }
     } 
  3. そして最後にブートストラップアクションヘルパーを:
      ...
         / **
          *モジュール単位でのレイアウトのスクリプトを設定します
          * /
        保護機能_initLayoutHelper()
    	 {
    	    の$ this ->ブートストラップ('frontController');
    	     $レイアウト= Zend_Controller_Action_HelperBroker::addHelper(
    	        新しいPro_Controller_Action_Helper_SetLayoutPath());
    	 }
     ... 

教義:NOW DATETIMEデフォルト()

によって 、水曜日2009年12月30日18:30

私は、新しいデータベーススキーマを設定するに苦しんできたのZend Frameworkのプロジェクト。 私はね 使用して 使用しようとしてDoctrineの私のデータベースモデルのためにORMを。 私は現在のタイムスタンプを取得する新しいメッセージを追加するときに私は、例えば、それは私が`のdatetime`カラムのデフォルトの日付と時刻を設定できるようにスキーマを設定する必要があります。 私はそれを共有していますので、多くの検索と実験をした後、私は解決策を見つけた。

自分のスキーマにYAMLファイルだけで次の手順を実行します。

メッセージ:
   actAsの:
     Timestampable:
      作成:
        名前:はcreated_at
        タイプ:タイムスタンプ
        形式:YMD H:I:S
      更新日:
        名前:LAST_UPDATED
        タイプ:タイムスタンプ
        形式:YMD H:I:S
  カラム:
     ID:
      タイプ:整数
      一次:真
      自動インクリメント:真
    名前:文字列(255)
    メールアドレス:文字列(300)
    メッセージ:文字列(2000)

一方、あなたが`updated_at`カラムをしたくない場合は、次を使用することができます。

メッセージ:
   actAsの:
     Timestampable:
      作成:
        名前:はcreated_at
        タイプ:タイムスタンプ
        形式:YMD H:I:S
      更新日:
        障害者:真
  カラム:
     ID:
      タイプ:整数
      一次:真
      自動インクリメント:真
    名前:文字列(255)
    メールアドレス:文字列(300)
    メッセージ:文字列(2000)

Zend Frameworkの:基礎-レビュー

によって 、土曜日2009年11月28日22:42

私の雇用主が最近利用する私たち開発者のグループのために支払われたZend Frameworkを:基礎コースを、ここで私は他人のためのコースで私の考えや意見を要約しておきます。 時間を節約するために探している人には、ここでは私の要約です:

を見て時間を持っていなかった開発者のためのZend Frameworkの重要な領域にあなたを紹介し、続くために十分な情報を与えるフレームワークの全体像を提供しています:このコース(基礎編Zend Frameworkを)。 フレームワークを見て時間を費やしているし、1つまたは2つのチュートリアルに従っている人のためにこのコースは非常に越えて提供されていません。

背景

私がしてきたPHP 5から6歳前後の開発者、および過去6ヶ月の間にコンポーネントベースでのZend Frameworkで作業を開始して。 私が開発した、および/ ​​または小Zend Frameworkのカップルで開発してきたMVC正直なsites.Â、私はビューのコーディングの観点から他のフレームワークへの曝露の膨大な量を持っていないが、いくつかの費やしている時間はプロジェクトのウェブサイトを研究しthem.Âにそれが非常にエキサイティングであり、そのが行く場所で巨大な可能性があると思われるフレームワークとZend Frameworkを取り巻くコミュニティを評価する。

コー​​スについて

コー​​スは(途中で10分休憩)9二時間のWebExセッションを介して配信されます。 時間はいつでも議論とZendが提供するスライドのセットを通過費やされている。 あなたは、インストラクターと話をするマイクを使用することができますが、私は誰かがチャットウィンドウよりも多くのものを使用して見ていない正直に言うと。 さらに、VMWareのUbuntuマシンには、サンプルコードとプロジェクトは、Zend Studioの試用版をセットアップしたことを提供されています。 どちらかの統合されたVoIPソリューション人以上の参加者にコースのリーダーは交渉するか、数字で多くの世界的なダイヤルのいずれかを使用してダイヤルすることができます。

もちろん中に材料がサンプルゲストブックアプリケーションに向かう前に、フレームワークの概要とMVCパターンで構成されています。 議論は、ブートストラップ、Zend_Application、DBテーブル、データベースアクセス、フォーム、フィルタ、ACLは、基本的にあなたがするツールを与えることで実行されているすべての時間までの基本的なサイトを得るために必要とするだろうすべてのトピックをカバーするなど、など、検証を実証行くと(これは時間の多くのウェブサイトを参照してください"をする金額をしなかったが)フレームワークで、より高度な取得。

時間は、いくつかの例をコーディングする、そして"ゲストブック"と、単純な"ウィキ"アプリケーションを開発するために与えられます。 個人的に私は、コードまたは各アプリケーションを提供し、本質的には本当に良い学習体験を提供しなかったと一緒にコピーしたものを開発するために私達に求めないと感じた。 私は同様のアプリケーションを開発することが好ましいが、同一ではないであろう。 を参照するためにガイドを配置できるという利点を使用したサンプルアプリケーションに。 またデモンストレーターでスクラッチからアプリケーションを構築することの可能性があるため、フレームワークのよりよい理解を与え、 その理由方法についてのより多くの質問につながったという、すべての後にはコースの後に詳細を調べることができます。

最後の講義は、講師からの助け/指針でウィキのアプリケーションで作業してから成っていた。 もちろんフィードバックが取られた後、それはZendが明らかにもちろん私たちのバージョンはかなり新しいいた実際には、非常に真剣にフィードバックがかかることにコースを数回強調した。 それはこれが起こっているかどうかを確認するために興味深いものになるので、会社の他の開発者の一部は、すぐにコースを取っされます。

もちろんスタイルは、フィードバックおよび参加者と講師の間でのコラボレーションのために許可され、非公式のだった。 コー​​スリーダーは友好的だった、親しみやすい(メールアドレスは質問のために共有された)、およびスライドからの彼のプレゼンテーションをしながらする不安定なビットがフレームワークに完全に有能なようだった。 彼は明らかにかなりのコースを教えることを教えられる人より定期的にフレームワークを使用する人だった、私はその点で"現実世界"の経験が好き。

全体的なフィーリング

ある意味では私は、もちろん時間の無駄を発見した他のもので、それは非常に便利でした。 うまくいけば、私は明らかに全体に渡って自分の理由を得るでしょう、そして多分(このような環境はほとんどない私を知っている!)思想または有益なフィードバックのためにいくつかの食品を提供しています。

自分のためにこのコースは低すぎるレベルを狙っていた。 クイックスタートガイドを経たこと、アクションのロブアレンのZend Frameworkを読んで、少しは私が本当にあまり何も取得していないフレームワークで働いていた。 私は、クイックスタートの終わりからピックアップし、追加のスキルを開発するためのコースが好きだ。

とはいえ、コースのタイトルは明らかに状態が"Zend Framework: 基本 " 行い、その面でのコースはそれが何を定めたものを実現しています。 フレームワークに見て時間をかけることのない開発チームの他のメンバーは、熱意をもって各セッションを終えて、本当に見て良かったと質問をしていました。

すべてが失われていなかった、それはフレームワークの基本的な詳細を確認する時間を過ごすと、私は100%ではない分野でいくつか質問を聞いて得るために良かった。 ):また、私は毎日座って、枠組みと将来のプロジェクト、私は(?あなたの会社がそれに同意することを想像することができます)の場合に実行することができていないのと何かを使ってコーディングを考えるようになったという時間でした。 最後になりましたがまた、あなたがコースを(電子メールではあるが)出席と言うことはZendのから素敵な証明書を取得します。

Zend Frameworkの認証

これはコースの中に心に来る保つ一つの疑問だった、それは認証のために私を準備ですか? 素早く、簡単には響きなしです。 コー​​スのインストラクターは、認定のためにあなたが本当に日常生活をフレームワークを使用して、非常に快適であり、その使い方や方法論に自信を感じる必要があることを追加のアドバイスとその上で非常にはっきりしていた。

まとめ

私が上記の書いたことすべてを考えると、私は2つの簡単な箇条書きのすべてを要約しておきます。

  • Zend Frameworkの新機能:このコースは、あなたが期待するとおりのこと、それはあなたのフレームワークと、構築することができるから基本的には良い接地についての素晴らしい紹介を与えます。 コー​​スは、開発者の間でフレームワークのための関心と熱意を生成するように思われる。
  • Zend Frameworkを使用:それはもちろん、より良い別の場所で費やされて可能性を取るために私は時間、労力を感じた非常に基本のいくつか、そして資金を支えるためにいいものでしたが。 それは次のレベルに開発者を取るために新たな高いレベルのコースを作成SEEA Zendに良いでしょう- 。少なくとも認証とそれ以降の標準にそのために私はすぐにサインアップするだろう。

Zend Frameworkを使用してDBにログインします。

によって 、火曜日2009年4月14日21:06

私はサイトを作って使用して実行する管理したZend Frameworkの 、すべてが放火魔/ FirePHPにうまくログインしているので、次のステップは、DBにログインすることでした。 私はまた、ユーザーエージェント、日付と時間、取得し、変数を投稿するなどのフレームワークを使用していくつかの追加情報をログに記録したいと考えていました。 のでマニュアルを拡張するために少しはここに私がやったことです:

// Set up logging to DB
$db = Zend_Registry ::get('dbAdapters');
$db = $db['general'];

定義$ a = array('優先'=>'優先度'、columnMapping
'メッセージ'=>'メッセージ'、
"日時は、'=>'タイムスタンプ'、
=>'項目user_agent'user_agentの"、
"get_vars'=>'get_vars"、
"post_vars'=>'post_vars"、
"サイト"=>"サイト"
);

$ writerDb =新しいZend_Log_Writer_Db($ dbは、"error_logging"、$ columnMapping);
$ロガー=新しいZend_Logは($ writerDb);

$ロガー - > setEventItem('日時'、日付("YMD H:私:s'の));
$ロガー - > setEventItem('user_agentの"、$ _SERVER ['HTTP_USER_AGENT']);
$ロガー - > setEventItem('get_vars"、しますprint_r($ _GET、真の));
$ロガー - > setEventItem('post_vars"、しますprint_r($ _POST、真));
$ロガー - > setEventItem("サイト"、サイト);

$ logger -> info('通知メッセージ');

ここで、$ columnMappingで配列のキーは、私の列名です。 "優先度"と"メッセージ"によって理解されているZend_Log_Writersが、追加のフィールドは私にいくつかの追加情報を提供するために追加されました。

明らかにこれは、最初に他の作家のいずれかを使用して作業をロギングしていることを前提としています。)













パノラマのテーマ別 Themocracy

9訪問者今オンライン
6人のゲスト、2ボット、0メンバー
最大の訪問者今日:2時02分午前UTCで16
今月:2011年1月9日2時02時16 UTC午前
今年:28-03-2011 22:40 UTCで130
すべての時間:28-03-2011 22:40 UTCで130