問題タブ [codeigniter-hmvc]
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.
php - code igniter Modular Extensions - MX_Router::_set_default_controller() へのアクセス レベルは public である必要があります (クラス CI_Router のように)
人気の Modular Extensions - HMVC がインストールされています。
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
codeigniter 2.2.2でセットアップしますが、すべてが正常に機能するはずのときに、このエラーが発生します
MX_Router::_set_default_controller() へのアクセス レベルは、C:..\application\third_party\MX\Router.php の 241 行で public (クラス CI_Router と同様) でなければなりません
codeigniter - codeigniter HMVC + Smarty: テンプレートからモジュール ビュー ルーチンを呼び出せますか
HMVC module extension
とSmarty
を使い始めたところCodeigniter
です。HMVC では、ビューからモジュール関数を呼び出して特定のビューを生成できます (私の場合、ユーザーがログインしていない場合のログイン用のモーダル ダイアログ)。
Smarty テンプレートを使い始める前は、これらすべてがうまく機能しているように見えました。私の質問は -
テンプレートから直接phpルーチンを呼び出してビューを生成するのは良い習慣ですか?
HMVCをそのまま維持する他の選択肢はありますか?
これを行う 1 つの方法は、login_dialog.tpl などの特定のテンプレートを作成し、ユーザーのログイン ステータスに基づいてベース テンプレートに直接含めることです。しかし、それは HMVC の目的に反しているように感じます。モジュールを使用してビューを生成し、それらを直接インクルードしないでください。私は間違っているかもしれません。代替案を提案してください..
php - Codeigniter : 通常のコントローラーで問題ありません。HMVC コントローラーが機能しない (ページが見つかりません)
つまり、ローカル プロジェクトでは何かが完全に機能するのに、本番環境にデプロイされるとすべてが壊れてしまうという厄介な問題です。
この場合、通常の codeigniter コントローラー(アプリケーション/コントローラーにある) によって生成されたすべてのページにアクセスできます。ただし、HMVC モジュールにアクセスしようとすると、codeigniter 404 エラーが発生します。
通常のコントローラの状況はまだ問題ありません:
たとえば、関数 page() を含む application/controllers/C1.php に通常のコントローラー C1 がある場合、問題なく www.mysite.com/C1/page にアクセスできます。
HMVC コントローラーへのアクセスに関する問題:
ただし、application/modules/C2/controllers/C2.php にあるコントローラー C2 にアクセスしたい場合は、URL www.mysite.com/C2/page から 404 エラーが発生します。
そして、ajaxを介して通常のコントローラにアクセスする際の問題:
通常の CI コントローラーを参照するパスを使用して ajax 呼び出しを実行すると、2 つ目の問題が発生します。ajax 呼び出しで使用されているパスが認識されていないようで、500 エラーが発生します。ただし、URL バーで同じパスを直接呼び出すと、正しい関数が実行されるようです。Codeigniter base_url() が ajax に対して適切に機能しないで見つかったソリューションを適用することにより、以前に同様の問題を解決しました。ただし、これが同じ問題であるかどうかはまだ特定していません。
ローダーの問題のように感じますが、私は専門家ではありません!
ローダーの問題だったとしても、ローカルでは機能するのに本番環境では機能しないのはなぜですか?
このようなことに遭遇したことはありませんか?この問題に取り組む方法についてのアイデアはありますか?
**編集 3: ** 以前の 2 つの編集は不要になったため削除しました。
デバッグモードを有効にしていくつかのログを追加した後、最終的に答えと思われるものを見つけました。
簡単に言えば、私のローカル コードイグナイター バージョンは Windows で実行され、何らかの理由で、コントローラーに到達しようとすると、ケースは無視されます。したがって、 File.phpとfile.phpは同じものと見なされます。
ただし、本番サーバーは Linux を実行しているため、2 つの異なるファイル名が同じファイルを参照しているとは見なされません。だから私はfile.phpを要求し、サーバーは「そのようなファイルはありません」と答えます。実際に必要なファイルはF ile.php だからです。
提出する必要があります。明日、さらにチェックを行った後、適切な回答を提案します。
ありがとう、
ロイック。
hmvc - codeigniter 3.0 で HMVC を実装するには?
現在、codeigniter
バージョン 3.0 を使用しています。HMVC構造を実装する方法を知りたいのですが、誰か助けてもらえますか?
php - Codeigniter HMVC -> MY_Form_validation.php ファイルからカスタム バリデータを呼び出す
HMVCでカスタム フォーム バリデータを作成し、検証目的で HMVC 構造のMY_Form_validation.php file
いずれかで実行する方法。module/controller
注:-コールバックバリデーターの実行に問題はありません。問題はありません。
プロジェクトのどこにでも適用できる一般的なバリデーターをいくつか作成したいと考えています。
php - ユーザーがログインしているかどうかを確認する - Codeigniter HMVC を使用した Ion Auth
HMVC を使用して、標準 CI から Codeigniter Skeleton に切り替えました。ユーザーがログインしているかどうかを確認し、ステータスに応じてメニュー項目を表示しようとしています。
このコードは、ion_auth を使用する標準 CI で機能します。
これを HMVC と ion_auth で使用すると、次のエラーが発生します。
PHP エラーが発生しました
重大度: 通知
メッセージ: 未定義のプロパティ: CI::$ion_auth
ファイル名: MX/Loader.php
ライン番号: 279
致命的なエラー: 59 行目の C:\wamp\www\myapp\application\views\header.php の非オブジェクトに対するメンバー関数の logged_in() の呼び出し
autoload.php にion_auth ライブラリを追加しようとしましたが、リンクをクリックするか、ion_auth ルートのいずれかを使用すると、「クラス Ion_auth を再宣言できません」というエラーが表示されます。