問題タブ [zend-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.php
[9]: require_once(Loader/Autoloader.php) [function.require-once]: ストリームを開くことができませんでした: そのようなファイルやディレクトリはありません
スタックトレース
application/hooks/zend.php [9]: require_once( )
system/core/Kohana.php [199]: include( application/hooks/zend.php )
system/core/Bootstrap.php [37]: Kohana::setup( )
index.php [106]: require( system/core/Bootstrap.php )
Zend を Kohana 2.3 にロードしようとしています。ここにzend.phpがあります
私はこれに約2日間困惑しており、多くのさまざまなチュートリアルとさまざまなルートをたどってきました。したがって、どの方向でも素晴らしいでしょう。現在、私のファイル構造と設定はこれと一致しています
zend-framework - Zend_Framework での Symfony クラスの自動ロード
Zend Framework に基づくアプリで Symfony クラスを自動ロードする方法は? ある種の Symfony オートローダーを Zend のオートローダーにプッシュできますか?
出力エスケーパーや依存性注入クラスなどのコンポーネントを使用する必要があります。
php - Zend オートローダーがライブ サイトで動作しない
開発サイトをライブ サーバーにコピーし、新しい DB 接続の詳細などで構成を更新しましたが、次のエラー メッセージが表示されます。
そのため、ライブ サイトと開発サイトでフォルダー構造とブートストラップがまったく同じであるにもかかわらず、オートローダーがビュー/ヘルパー ディレクトリをヘルパー クラスの場所として取得できていないようです。
ヘルパー クラスを検出するオートローダーの機能に影響を与えている可能性があるものは他にあるでしょうか?
ここに私のapplication.iniがあります:
そして私のブートストラップ
そして、ここに私のindex.phpがあります
たぶん、ブートストラップと構成ファイルに競合/冗長な行がありますか?
*編集現在、別のサーバーにコピーしようとしていますが、「ビュー」ディレクトリがビュースクリプトを探す場所として設定されていないため、同様のエラーが発生します。
php - Zend_Loaderを使用してロードするZendFrameworkのさまざまなバージョンを選択すると、その問題が発生します
さて、それで、を使用してZend Framework(および他のフレームワーク)のさまざまなバージョンを選択できるようにしたいと思いますZend_Loader
。コードはまったくトリッキーではありませんが、問題は、require_once
フレームワーク自体に非常に多くの行があり、オートローダーが実質的に役に立たなくなることです。
Zendディレクトリはinclude_pathにある必要があるため、そこに保持するのは少し難しくなります。また、絶対パス以外のすべての行は、特に多くのZendrequire_once
を使用する私のアプリでは、アプリケーションのパフォーマンスに大きな影響を与えます。各リクエストを処理するためのクラス。
すべてのrequire_once行を手動または自動で削除することもできますが、新しい1.xxリリースごとにもう一度やり直す必要があります。
何か案は?
php - レストとモジュールに関する Zend フレームワークの質問
みんな私のプロジェクトには次の構造があります。
今問題に。アクセスできないように見える UserController.php 内でいくつかのアクションを定義しました。たとえば、localhost/main/user/register にアクセスすると、これにアクセスできません。ただし、localhost/main/user を参照すると動作します。
それが何であるかはわかりませんが、私の勝手な推測では、Bootstrap.php と関係があると思われます。デバッグ中に、メインのbootstrap.phpで残りのルートの初期化をコメントしたところ、うまくいったようです。これにより影響を受けると思われるすべてのファイルを提供しました。それが何であるかを知ることができれば、それは素晴らしいことです。これを理解しようとして、すでに数日を費やしました。
Bootstrap.php
メイン/Bootstrap.php
メイン/コントローラー/UserController.php
アプリケーション.ini
php - ZendBootstrap自動読み込み機能のこれらの2行がなぜ
このコードブロックを含む例や、2行がコメントされていない他の例を見たことがあります。これらの2行の目的は正確には何ですか?
追加した:
答えを考えると、このようにするのは良いことですか?オーバーヘッドやそれについて良くない何かがありますか、それともこれは標準的な方法ですか?
php - 設定にはパスと自動ロードの2つの異なるものが含まれていますか?
必要なフォルダーのインクルードパスを追加するだけでは、クラスにアクセスするのに十分ではないことに気づきました。
application / tests/Test.phpを含むapplication/tests/フォルダーがあります。
クラスTest.phpは、プレフィックスなしのTestという名前です。
インクルードパスにのみテストフォルダーを追加した場合
Test.phpクラスはコントローラーでは機能しません
では、インクルードパスにフォルダーを含めるだけでは不十分ですか?
php - zend フレームワーク モデルの場所とオートローディング
すぐに本番環境で使用を開始するため、Zend Framework について自分自身を文書化し始めました。モデルを使用して作業を開始するまで、すべてが正常に機能していました:)。
Zend の推奨に基づくモデルのデフォルトの場所はapplication/models/DbTable
、すべてのモデルが投入される場所ですApplication_Model_DbTable_Actors
。私にとって、これはモデルの非常に長い名前であり、使いやすいものではありません。
取得したいディレクトリ構造は次のようになります。
等
したがって、すべてのモデルはディレクトリの下に存在しますがmodels
、独自のディレクトリにグループ化されます。
各クラスの命名は or にする必要がありますActorsMapper
(どちらもorActor
を拡張します)。Zend_Db_Table
Zend_Db_Row
私のコントローラーで、次のようなものを使用してモデルをインスタンス化すると$actors = new ActorsMapper()
、 が得られるという事実を認識しFatal error: Class not found
ています。そのため、これについてあなたの助けを求めています。
この問題を解決するために、自分のmodels
ディレクトリを include_pathに追加しようとしました。
初挑戦
includePaths.models = APPLICATION_PATH "/models"
application.ini に追加
しかし、これはそれをインクルードパスに追加することさえしません
2回目の試行:
を使用してパスを明示的に追加しました
set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), realpath(APPLICATION_PATH . '/models'), get_include_path(), )));
ただし、これにより含まれているパスにそのパスが追加されても、エラーは引き続き発生します。
の公式ドキュメントでこのモデルの命名を見Zend_Db_Table
たことがありますが、自動ロードに関連するものは見つかりませんでした。
解決策をありがとうございました。
ps zend フレームワークのバージョンは 1.11.1 です
zend-framework - ZendFrameworkオートローダーで使用される命名規則の「問題」を回避する
ユーザーを含むテーブルがあるとしましょう。したがって、そのテーブルの各行はユーザーです。ここで重要なのは、複数形と単数形です。
それでは、ZendFrameworkでこれらのモデルを設定する方法を見てみましょう。
ここで、によって返される標準行以外の別のユーザーオブジェクトが必要であるとさらに仮定しますZend_Db_Table
が、それでもその機能を維持したいので、拡張するだけです。その場合、次のような単一のユーザーを実装して名前を付けることは理にかなっています。
次に、クラスに追加
protected $_rowClass = 'Model_User';
するだけModel_Users
で完了です...通常はそうですが、ZendFrameworkがクラスを自動ロードする方法に問題があるようです。フォルダ構造を持ち、/defaut/models/foo.php
その中のクラスに名前を付けることができるのでModel_Foo
。フォルダには複数形の名前がありますが、クラスには単数形の名前があります。上記のような構造にしたい場合、これが問題になるようです。UserModel.php
Zend Frameworkは、とを区別できないようですUsersModel.php
。
したがって、この長くてやや詩的な質問に対する質問は次のとおりです。
インクルードを手動で使用し始めることなくこれを回避する方法はありますか?
zend-framework - Zend Framework 1.11は本当に遅いです..なぜですか?
私はZendFramework1.11を使用していますが、これは私にとって本当に遅いです。
ボタンがあり、それをクリックすると、ajaxリクエストを実行します。
応答は小さいです。私は
こんにちは世界
応答時間は125msです。
この小さなajaxリクエストには大いに役立ちます。
誰もが考えを持っています。
ありがとう。