問題タブ [autoloader]
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 - モデルに Zend_Autoloader を使用する
「新しい」Zend Autoloader を使用してモデルをロードする方法を誰かが知っていますか? 現時点では、私の構成は次のようになります。
アプリケーション.ini
Bootstrap.php
したがって、 /Models/User.php にモデルを配置すると、
新しいオブジェクトを作成すると、すべてが設計どおりに機能します。しかし、オートローダーを使用して /Models/Dao/UserDB.php に配置されたモデルをロードするにはどうすればよいですか?
zend-framework - Zend_Loaderを1.7から1.8にアップグレードするにはどうすればよいですか?
私はこれを使用していますが、1.7では正常に動作しますが、1.8では動作しません。
非推奨であり、代わりにZend_Loader_Autoloaderを使用する必要があると表示されますが、動作させることができないようです。助言がありますか?
php - SPL自動読み込みのベストプラクティス
サーバー側のinclude_pathには、「/ usr / share /pear/」にあるpearディレクトリへの参照があります。私のアプリケーションには、「/ usr / share / pear /library/」にある共通ライブラリのファイルを含めていますrequire_once 'library/file.php'
。
最近、splオートローダーの使用を開始しました。ローダー関数で、ファイルを含めるロジックを決定する必要があることに気付きました。これを行う最初の方法は、ファイルをインクルードし、@
それが失敗するかどうかを確認するためにそれを抑制することでした。たとえば、悪い習慣であること@include 'library/file.php'
について多くのことを読んだことが主な理由で、そして、ディレクトリが私が望むものであるかどうかを確認し、それを実行してそれを含めます。@
get_include_path
PATH_SEPARATOR
file_exists
そのようです:
私は間違ったルートに行きましたか?私はちょうど@include
ビジネスをするべきでしたか、それとも私はそれをいくらか正しい方向にやっていますか?
php - CodeIgniter - モデルがロードされましたが、使用できませんか?
Ok。だから私はCIを使ってウェブサイトに取り組んでいます。これが私のコントローラーの構造です:
そこで、User コントローラーのコンストラクター内に User_Model をロードします。User_Model から何かを印刷しようとしたので、正しく読み込まれていることがわかりました。ただし、ユーザーコントローラーから User_Model の関数の 1 つを使用すると、エラーが発生し始めました。これは私が受け取ったエラーです:
未定義のプロパティ: ユーザー::$User_Model
誰にもアイデアはありますか?
これは拡張コントローラーです
これがコントローラー
これは User_model です
php - Zend がモデルを自動ロードしない
わかりました、これは私を夢中にさせています!
次のようなディレクトリ構造があります。
私の設定ファイルは次のようになります
アプリケーションは動作しているようです。localhost に移動すると、正しくインデックス コントローラーに移動します。しかし、何らかの理由でモデルのロードを拒否します。
致命的なエラー: クラス 'Model_Cachmapper' が ................./application/modules/default/controllers/ に見つかりません26 行目の IndexController.php
アイデア?
ありがとう
php - 含まれるファイルの数を減らす
Zend Framework と Doctrine に基づく私のアプリケーションには、リクエストごとに 300 個を超えるファイルが含まれています。ほとんど同じファイルです。
これは非常に大きなオーバーヘッドです。(および Memcache)によって部分的に解決されZend_Cache
ますが、すべてのページがキャッシュされるわけではありません。
- この数を減らすには?スピードアップするには?
Doctrine には必要なファイルをコンパイルするオプションがあり、これは実稼働サーバーとアプリの最終バージョンにとって非常に合理的と思われます。
私の計画は、他のライブラリもコンパイルすることです (既にすべてrequire_once
の を取り除いています)。
- このタスクのためのツールはありますか? たぶん、一部のキャッシュドライバーは自動的にそれを行いますか? それらを設定する方法は?
magento - ezComponents を magento と統合する方法
「ネイティブ」Zend Framework アプリケーションでは、ezComponents のオートローダーを Zend オートローダーに追加することで、ezComponents の使用を有効にします。
今、Magento で同じことを行うにはどうすればよいか考えています。Varien_Autoload (magentos オートローダー) を拡張して ezComponents を簡単に統合できるようにする方法はありますか? または: 互いに干渉することなく、Magento のオートローダーの横に Zends オートローダーを使用する方法はありますか?
編集:
さて、Varien_Autoload の関数 autoload() に以下を追加することで、回避策を実装しました。
ただし、Magento をアップグレードすると上書きされるため、これは非常に悪いハックだと思います。誰かがより良いアイデアを持っていますか?
php - '。'を除外することは可能ですか?(つまり、現在のディレクトリ)PHPのインクルードパスから?
http://php.net/manual/en/function.set-include-path.phpのコメントを熟読する
と、「。」、つまりbasename(__FILE__)
、は常にPHPのインクルードパスに暗黙的に追加されているように見えます。このパスをバイパスすることは可能ですか?
私の仕事では、独自のインクルーダーとクラスローダーを使用しており、PHPのinclude()の動作を制御したいと思います。私のインクルーダーは絶対パスを強制するために使用されましたが、これは本当に制限が厳しすぎると思います。それに戻したくありません。可能であれば、PHPのinclude_pathを使用したいと思います。
php - 関数のオートローダー
先週、__autoload()
関数を作成することでクラスをプロジェクトに含めることができることを学びました。それから、オートローダーの使用は技術であるだけでなく、パターンでもあることを学びました。
現在、プロジェクトでオートローダーを使用していますが、非常に便利です。関数でも同じことができるのではないかと思っていました。関数を含む適切なPHPファイルを含めることを忘れると非常に便利です。
では、関数オートローダーを作成することは可能ですか?
php - Kohana3でカスタムライブラリを使用する方法
ユーザーが認証されているかどうかの確認など、ユーザー関連の機能を含むユーザーライブラリを含めようとしています。現在、Kohanaオートローダーを使用しようとしていますが、機能していないようです。
ライブラリをapplication/classes/libraryの下に配置しました
そして私は図書館に電話をかけようとします
しかし、それはうまくいかないようです。
カスタムライブラリを呼び出すにはどうすればよいですか?