問題タブ [autoload]
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 - 拡張クラスを自動ロードする方法は?
PHPのautoload関数を使用して、必要なクラスファイルのみを動的にロードすることを計画しています。すべての関数に個別のファイルがある場合、これは大きな混乱を引き起こす可能性があります。したがって、関連するクラスを1つのクラスファイルに残し、自動ロードする方法があることを期待しています。
動物というクラス名があり、次に犬という名前の別のクラスがあるとします。Dogsクラスはanimalsクラスを拡張しますが、dogsクラスを呼び出したが、animalsクラスを呼び出さなかった場合でも、animalsクラスファイルはロードされますか?
javascript - 名前が文字列になっている関数を起動する
関数を起動したいと思います。残念ながら、関数の名前は文字列として提供されるため、直接呼び出すことはできません。
例:
JS は func_name が有効な関数であると想定しているため、明らかにこれは機能しません。func_name() の代わりに myFunction() を起動する方法はありますか? ありがとう。
更新: 答えのいくつかをテストした後、問題の説明が完全ではないようです。:OI は、関数をアタッチ/実行するオブジェクトを含めるようにコードを更新しました。
再度、感謝します!
php - 動的な子クラスの生成 - PHP
基本的な CRUD 機能と検証などを提供する抽象的な「オブジェクト」クラスがあります。通常、__autoload($name) マジック関数を使用して、クラスと同じ名前の独自のファイルに存在するクラスをロードします。遅延ロードしたい。コードは次のようになりますが、ご想像のとおり、かなり繰り返しになります。
私の質問は、これらのクラスをオンザフライで動的に生成できるかどうかです。そのため、同じ機能を何度も作成する必要がなくなり、オーバーヘッドと設計時間が短縮されます。PHP5 はこれをサポートしていますか、それとも単に OO PHP の能力を過大評価しているのでしょうか?
ありがとう!
php - zend オートローダーで同じ名前空間に 2 つ目のパスを追加する方法
私たちは新しい zend フレームワーク プロジェクトに取り組んでおり、ブートストラップでほとんどのことがうまくいっています。
しかし、List8D 名前空間に 2 番目のパスを追加して、オートローダーがそのパスを見つけられない場合にdirname(__FILE__)
そこを探すようにしたいと考えています。
ドキュメントを調べたところ、名前空間の追加についてはたくさん見つかりましたが、同じ名前空間に複数のパスを持つことについては何も見つかりませんでした
php - PHP __autoload() で CamelCase を under_score_case に変換します
PHPマニュアルは、次のようなクラスを自動ロードすることを提案しています
FooClass
このアプローチは、ファイルに保存されたクラスをロードするのにうまく機能しmy_dir/FooClass.php
ます
質問
ファイルに保存された_autoload()
機能とアクセスを使用できるようにするにはどうすればよいですか?FooClass
my_dir/foo_class.php
python - SQLAlchemy宣言型の具象自動ロードされたテーブルの継承
既存のデータベースがあり、SQLAlchemyを使用してアクセスしたいと考えています。データベース構造は別のコード(実際にはDjango ORM)によって管理されており、すべてのテーブル構造を説明するために繰り返したくないので、autoload
イントロスペクションを使用しています。私は単純な具象テーブルの継承で立ち往生しています。
docstringとしてテーブルSQLの説明を含むコードは次のとおりです。
実際のテーブルには追加の列がありますが、これは質問とはまったく関係がないため、コードを最小限に抑えるために、すべてをコアまで単純化しました。
問題は、これを実行すると、次のようになります。
結果のSQLは無意味です(結合条件がないことに注意してください)。
また、アクセスしようとするpayment.date
と、次のエラーが発生します。Concrete Mapper|FooPayment|payments_foo does not implement attribute u'date' at the instance level.
id = Column('payment_ptr_id', Integer, ForeignKey('payments_payment.id'), primary_key=True)
暗黙の外部キー参照をに追加しようとしましたがFooPayment
、成功しませんでした。うまくprint session.query(Payment).first().user
機能するように(User
クラスを省略してコメントを付けました)、FKイントロスペクションが機能します。
結果のインスタンスに対して簡単なクエリを実行し、の値FooPayment
にアクセスするにはどうすればよいですか?Payment
SQLAlchemy 0.5.3、PostgreSQL 8.3、psycopg2、Python2.5.2を使用しています。提案をありがとう。
zend-framework - Zend モデルが見つからない
Zend で奇妙な問題が発生しています。localhost でうまく機能するアプリケーションがあり、IP アドレスを使用して外部からもアクセスできます。ステージング サーバーに移動すると、どのクラスもロードできません。モジュール構造でオートローディングを使用しています。すべてのモデルは Default モジュールにあり、次に models フォルダーにあります。静的ページは正常に動作しますが、モデルにアクセスしようとすると、「致命的なエラー: クラス 'Default_Model_ModelName' が (コントローラーのパスと名前) に見つかりません」というエラーが表示されて失敗します。サーバーを確認したところ、すべてのファイルがそこにあり、localhost とまったく同じです。この問題を解決する方法、または何が起こっているのかについて誰か考えがありますか? 考えられるすべてを調べましたが、どこにも問題は見られません。前もって感謝します!
php - 自動ロードでPHP名前空間を使用するにはどうすればよいですか?
自動ロードと名前空間を使用しようとすると、次のエラーが発生します。
致命的なエラー:10行目の/usr/local/www/apache22/data/public/php5.3/test.phpにクラス「Class1」が見つかりません
誰かが私が間違っていることを教えてもらえますか?
これが私のコードです:
Class1.php:
test.php:
symfony1 - symfonyがsfDoctrineDatabase.class.phpを開くのに失敗する
私の問題は非常に単純ですが、それを見ていると迷子になります...私は現在SVNリポジトリにあるSymfonyプロジェクトに取り組んでいます。
それは一日中うまくいきましたが、突然クラッシュしました...
現在、自分のサイトのどのページも起動できません。それらはすべて私に同じエラーメッセージを返します
誰かが何か考えを持っているなら、私はすべての耳です...
php - PHP5 フレームワーク: オートローディングとオペコード キャッシング
多くのフレームワークはspl_autoload_register()
、動的にクラスをロードするために使用します (つまり、コントローラーとモデル)。自動ロードとオペコード キャッシングの問題に関する投稿がいくつかあります。特に1つの投稿には、@RasmusがAPCをオペコードキャッシュとして利用している人々にとって不快であることが証明されている多くのステートメントを作成することを参照する@cletusによる応答があります。
オペコード キャッシュのパフォーマンスに影響を与えないオートローディングの代替案についての議論はないようです。
自動ロードされたクラスがバイトコードキャッシュに追加されないという事実を回避する方法はありますか?
そうでない場合、キャッシュされるクラスを動的にロードするための代替方法はありますか?