問題タブ [zend-framework-modules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
zend-framework2 - ZF2: Controller の Forward プラグインが機能しません。それを機能させる方法は?
現在のコントローラーの他の Action メソッドに ajax リクエストを転送する必要があります。Forward プラグインを使用していますが、機能しません。Forward Plugin の使用方法については、マニュアルに例があります。
私のコード:
コンソールに表示されるエラーは次のとおりです。
私が転送を使用しない場合、すべてが正常に機能し、要求はうまくいきますindexAction
。Forward のみがエラーをスローします。
The Forward Plugin についてのマニュアルから:
Forward プラグインが機能するには、それを呼び出すコントローラーが ServiceLocatorAware である必要があります。そうしないと、プラグインは、要求されたコントローラーの構成および挿入されたインスタンスを取得できません。
マニュアルから、 Available Controllers について:
上記の各インターフェイスを実装することは、冗長性の教訓です。あなたはしばしばそれをしたくないでしょう。そのため、開始するために拡張できる 2 つの抽象的な基本コントローラーを開発しました。
AbstractActionController は、次の各インターフェースを実装します。
Zend\Stdlib\DispatchableInterface Zend\Mvc\InjectApplicationEventInterface Zend\ServiceManager\ServiceLocatorAwareInterface Zend\EventManager\EventManagerAwareInterface
私のFooController
extendsAbstractActionController
は を実装ServiceLocatorAwareInterface
しているので、Forward は機能しなければなりませんが、機能しません。私は何を取りこぼしたか?それを機能させる方法は?
zend-framework2 - ZF2: アプリケーション全体で basePath を同じに設定するにはどうすればよいですか?
マニュアルの例は、特定の特定の場合にのみ basePath を設定する方法を示していますviewModel
。
しかし、私はそれを一箇所のどこかに設定したいのですが、それはviewModel
どのコントローラーで作成したものでも同じです。どうすればいいですか?
zend-framework2 - ZF2: Module クラスのイベントにリスナーをアタッチする方法は?
basePath
特定のリクエストに対して、Mvc のすべてのコンポーネントでa を同じに設定したいと考えています。つまり、これらのメソッドを呼び出すときに同じ結果を得たいということです'/spam/ham/'
。
basePath
私がすでに見つけた最初のケースの設定方法、これが私の質問です。ちなみに、元のマニュアルには、回答から得た情報はありません。
そして今、2番目のもの -basePath
に設定する必要がありますRequest
:
ここで、実際にはhttp://zend-framework-community.634137.n4.nabble.com/Setting-the-base-url-in-ZF2-MVC-td3946284.htmlでまったく機能しないいくつかの答えを見つけました。ここ で述べたStaticEventManager
ように非推奨なので、次のように変更しましたSharedEventManager
:
そして、私modules/Application/configs/module.config.php
は追加します:
しかし、それはうまくいきません。問題は次のとおりです。
1) ランが関数に来ることはありませんregisterBasePath
。しかし、そうしなければなりません。init
関数内のリスナーにイベントを添付しました。
2)私が変更SharedEventManager
するとEventManager
、たまたまregisterBasePath
関数に到達しますが、例外がスローされます:
私は何を間違っていますか?registerBasePath
プログラムの実行が関数に来ないのはなぜですか? これがbasePath
グローバルに設定する唯一の方法である場合、それを正しく行う方法は?
zend-framework - Zend Framework 1ベースのアプリケーションでモジュールをセットアップする正しいアプローチは何ですか?
こんにちは皆さん、私は Zend Framework ベースのアプリケーション内でモジュールを使用する方法について少し混乱しています。アプリケーション内でモジュールがサブアプリケーションとして機能することについて読んだことから、モジュールに入る要素とモジュールに入る要素との間の境界線はどこにありますか?コントローラ内で処理できます。たとえば、ホーム予約アプリケーションのように、次の機能があります。
ハウス管理 料金管理 オンライン予約+予約管理
管理者ユーザー、予約を行う顧客、予約用に設定された家を所有する家主の 3 種類のユーザーがいるとします。モジュールの設定方法は次のようになります。
またはそれは次のようなものでしょうか:
後者の形式は、コントローラーをモジュールに変換するのに少し似ているように思えます。ここでの正しいアプローチは何ですか?
元のリストでは、各モジュールにコントローラーが繰り返されています。たとえば、管理モジュールの houseController - 管理者はすべての家主のすべての家を表示できますが、家主は自分の家のみを表示できます。技術的には、ここでコードの 90% を繰り返していますが、表示できるリストを制限するために ACL を使用できるとは思えないため、これは正しいこととは思えません。このロジックの正しいアプローチは何ですか?
zend-framework2 - zf2のloadModules.postは関数ですか?
zf2でコードをトレースすると、アプリケーションサービスが登録されている場所が見つかりません。これがapplication.phpのコードです
コード「$serviceManager->get('Application')」は、アプリケーションサービスを取得するためのものです。しかし、アプリケーションサービスはどこに登録されましたか?
次に、アプリケーションサービスがZF2 / library / Zend/MoudleManagerのコード行「$this->getEventManager()-> trigger(ModuleEvent :: EVENT_LOAD_MODULES_POST、$ this、$ this-> getEvent())」に関連していることがわかりました。 /MoudleManager.php
もう1つの質問は、「ModuleEvent :: EVENT_LOAD_MODULES_POST、つまりloadModules.postです。トリガー関数の最初のパラメーターは関数名です。loadModules.postも関数ですか?どこで定義されましたか?
前もって感謝します。
php - Zend Framework、モデルからクラス メソッドを返す
フォームのドロップダウンリストですべての変数を使用したいモデルがあります。
このようなものがうまくいくことを望んでいましたが、うまくいきません
これを呼び出すと、次の致命的なエラーが返されます。
致命的なエラー: 未定義関数 getclass_methods() の呼び出し
私が達成したいのは、モデルを更新するときに自動的に更新されるフォーム オプションです (これはかなり頻繁に行われる可能性があります)。
呼び出し時に返されるモデルで配列を作成するという点で、私自身の質問に答えたかもしれません...しかし、これを実行できるメソッドが既にある場合は、非常に高く評価されます。
前もって感謝します。
zend-framework - モジュールベースのアプリケーションのZEND_ACLソリューション
ZFでアプリケーションを開発しています。
私は大きな解決できない問題に直面しました-ZEND_Acl
私が見つけたすべての記事がMODULEベースのアプリケーションに関連していないため、私には解決できません。
最近、モデルでACLを使用することを説明したpacktpubの記事を発見しました
しかし、それは複雑で複雑に見え、私が探していたものではありません。
それはStoreFrontを持っています-そしてすべてがそこに入ります、私の場合、私はすべてをモジュールに分けています。
他の多くのソースやドキュメントでACL実装手法を見てきました。
ACL実装の開発/構築を解決する方法と、どこから始めればよいのか(そして実際にはどのようにすればよいのか)がわかりません。
私のアプリケーションは次のようになります。
ご覧のとおり、adminControllersには管理機能があり、indexControllersにはフロントエンド機能があります。
モジュール内にadminControllersとビューを配置するという考え方は、管理者用に個別のモジュールを作成するのではなく、モジュールの分散アーキテクチャを使用することです。
ここで、アプリケーションにACLを実装したいと思います。
通常、私には管理者(superadmin、Editor、Publisher)がいadminControllers
て、それぞれを除くすべてにアクセスしaction
ます。確かに、ユーザーはadminControllersにアクセスできません。
およびユーザー-訪問者、登録済み、有料なので、階層は次のようになります。
この階層は、アプリケーション間で利用できます。
目標は、各モジュール内に書き込み権限とリソースを書き込むことです。これにより、特定のプロジェクトにモジュールが存在しない場合に、ACLドキュメントにゴミが入るのを防ぐことができます。
私はまだYouTubeでAlexanderRomanenkoのチュートリアルのアプローチをテストしていませんが、ACLを開発するとき、彼はFrontControllerプラグインからACLをロードしています-私の場合のアプローチは何でしょうか?
また、ACLを実装するときは、将来に備えてACL動的アサーションを考慮する必要があります。また、「VISITORS」のような瞬間はコメントを投稿できず、REGISTEREDユーザーはブログで有料記事を見ることができません。
ACLをプロジェクトに統合するのを手伝ってくれるかもしれませんし、HOW TOを見つけて、指示に従うための優れたリソースを知っているかもしれません。
編集
ACLのpreDispatch()を持つコントローラープラグインは、各モジュール(この場合はUSERS)用になります(右?)
モジュール(USERS)のブートストラップでプラグインを自動ロードしようとしました:
しかし、アプリケーション全体でこのプラグインを使用し、エラーが発生するようです。
プラグインが2回読み込まれるためだと思います。しかし、これはモジュール(USERS)自体を除くすべてのページで発生し続けます。
doctrine-orm - createNativeQuery - oci8 は空の配列を返します
非常に単純なエンティティ:
ネイティブクエリを実行しようとしている間
$result は、oracle (oci8 ドライバーおよび pdo) で空の配列を返します。MySQL では、すべて問題ありません。データベースは、Oracle と MySQL の間でまったく同じであり、同じテーブル、同じ列です。
テーブル 'users' は空ではありません。これは、DQL を使用すると機能するためです。ネイティブ クエリで addRootEntityFromClassMetadata() を使用する場合にも機能します。
oci8+addEntityResult()でのみ問題が発生するようです。
何か案が ?
事前に感謝します。
php - Zend 2 を作成して、同じモジュール内のテンプレートのみを検索します
私は(単純化された)2つのモジュールを持っていApplication
ますAdmin
. Admin
私はしばらくの間このモジュールに取り組んでおり、Application
. 両方のモジュールには、 という名前のコントローラーがありUsersController
ます。
の作成を開始し、Application
いくつかのルートとアクションを作成したときに、Admin
モジュールが壊れました。どこでも管理ページを開こうとしたときに発生したエラーは、次のようなものでした
docsによると、テンプレート パスの最初の部分は、呼び出し元のコントローラーの名前空間から取得されます。しかし、ディレクトリを作成して以来、名前空間に関係なく、そこからmodule/Application/view/application/users/
すべてのテンプレートを取得しようとします。Admin\Controller\UsersController
毎回アクションでテンプレート ファイルを強制することなく、Zend に名前空間を再度使用させるにはどうすればよいですか?
(Zend 2.1.3 を使用)
zend-framework2 - Zend Framework 2ユーザーガイドのServiceManagerオブジェクトはどこで初期化されますか?
Zend Framework 2ユーザーガイドのアルバムの例では、モデルは次のように構成されています。
変数$sm
はZend\ServiceManager\ServiceManager
オブジェクトです。しかし、それはどのように/いつ/どこで作成/初期化されますか?
編集:
私が知りたいのは、どのように/どこで$sm
その値を取得するか(そしてServiceManagerオブジェクトになるか)です。