問題タブ [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.
iphone - 3レベルへのiphoneナビゲーションコントローラの自動ロード
私は、navigationController プロジェクト名:autoload を作成し、次の名前の 2 つの uiviewContorller を作成します: 2 番目、3 番目
私は、プロセスがメソッド「viewDidLoad」で2番目に読み込まれるrootViewをロードし、次にメソッド「viewdidload」で3つを自動ロードすることを望みます。コードは次のとおりです。
ルートビュー:
2番目:
プログラムをビルドして、タイトル コンテンツとナビゲーション ボタンを含む非常に正確な 2 番目に自動ロードできます
次に、2 番目に aotoload 3 が必要なので、2 番目のメソッド「viewdidload」にコードを追加します。
2番目:
最後にタイトルを 3 つに追加します。
三:
次にビルドして実行すると、コンテンツは正しい「three」ですが、タイトルが「second」であることがわかります。「three」である必要があり、ナビゲーション ボタンも間違っていることがわかります。
オートロードのプログラムを 3 に実装するにはどうすればよいですか?
ノート:
私はそれを試してみます: 2番目にボタンを追加してコードを移動すると
ibactionに、それは正しく動作しますが、自動的にロードしたいです
php - phpunitとオートローダー
私は次のようにphpunitでオートローダーを使用しようとしています:
- phpunit.xmlに入れました
bootstrap="bootstrap.php"
bootstrap.phpに入れました
phpunitコマンドを実行しようとすると、エラーが発生します。
助けてくれてありがとう。
php - PHP の複数の __autoload 関数は、spl_register_autoload を使用せずに *使用できますか?
私は PHP + QuickBooks 関連コードの成長中のライブラリの作成者です。PHP の __autoload() 関数を利用したいのですが、私のコードは他の人が独自のアプリケーションに include() できるライブラリであるため、__autoload() がまだ定義されていないことに依存することはできません。
複数の __autoload() 関数を持つ方法はありますか?
PHP マニュアルで spl_autoload_register() を見ましたが、すべてのユーザーが SPL 拡張機能をインストールしているわけではないので、信頼できません。これを使用する方法にフォールバックし、デフォルトで通常の require/include ステートメントを使用する方法があれば、それを検討するかもしれません。
他の誰かがこの問題に対する他の賢い解決策を持っていますか? 単一の __autoload() 関数しか持てないのは、明らかな見落としのようです...
zend-framework - Zend Framework 1.10.2プロジェクトのルート「ライブラリ」ディレクトリの自動ロードクラス名の構造は何ですか?
ZendFramework1.10.2で作成したプロジェクトがあります。
私は通常、作成する新しいモデルファイルにapplication / modelsディレクトリを使用しますが、自動読み込みは問題ありません。たとえば、My_Model_SampleClassはapplication / models/SampleClass.phpにあります。
ただし、カスタムExceptionクラスを作成したばかりで、アプリケーションディレクトリ内のmodelsディレクトリに収まらないため(少なくとも、論理的に間違っている可能性があります)、ルートに作成しました。 library "dirですが、使用する正しいクラス名+ファイル名が見つからないため、自動読み込みが正しく行われます。
ところで、私は使用するすべてのカスタムクラスに名前空間を使用しています。それが「My」であると仮定しましょう。
php - PHPのrequireとautoload
__autoload を使用してクラスをロードすると、クラスが見つからないというエラーが発生し続けますが、ファイルは正常にロードされます。次に、ファイル内の何かを変更すると、新しい行を追加して保存するだけで、すべてが正常に機能し、クラスが見つかります。しかし、これは大きな問題です。このプロジェクトには何千ものファイルがあり、それらを 1 つずつ変更したくないからです。Windowsでphp 5.3.0を使用しています。
何が問題なのですか?
php - PHPの名前空間に基づいてファイルを自動ロードすることは可能ですか?
タイトルに書かれていることは可能でしょうか?つまり、Pythonモジュールスタイルです。私が正確に意味することについては、この例を参照してください。
index.php
Hello / World.php
これは可能でしょうか?
php - PHPUnitとオートローダー:コードがテストスコープで実行されているかどうかを判断しますか?
前提
テストの実行時に異なる動作をするコードを書くことは、陽気に悪い習慣であることを私は知っていますが、実際にそれが必要になるかもしれないシナリオに出くわしたかもしれません。
具体的には、ZendフレームワークでHTML Purifierの非常に特殊なラッパー(正確にはView Helper)をテストしようとしています。HTML Purifierオートローダーは、他の方法で使用しているオートローダーとは異なるロジックを使用するため、必要です。
問題
require()- View Helperクラスの最上位にあるオートローダーを実行すると、テストスコープで次のようになります。
HTML Purifierオートローダーレジストラは、PHPバグ#44144のため、非静的オブジェクトメソッドと互換性がありません。HTMLPurifier.autoload.php(またはこのファイルを含むファイル)は使用しないでください。代わりに、コード:spl_autoload_register(array('HTMLPurifier_Bootstrap'、'autoload'))を独自のオートローダーの後に配置します。
require()をアドバタイズされたとおりに置き換えるspl_autoload_register(array('HTMLPurifier_Bootstrap', 'autoload'))
と、テストは正常に実行されますが、ViewHelperは次のように主張してひどい死を迎えます。
Zend_Log [3707]:ErrorControllerがLogicExceptionをキャッチしました "渡された配列は既存の静的メソッドを指定していません(クラス'HTMLPurifier_Bootstrap'が見つかりません)"
(テストフォルダーの構造は、必要に応じてZendフォルダーの構造とは少し異なります。)
質問
それをいじくり回した後、テストスコープ内にあるかどうかに応じてオートローダーローディングを選択する必要があると思います。
トンネルビジョンが原因で表示されない両方の場合に、HTMLPurifierの自動読み込みルーチンを含める別のオプションはありますか?
そうでない場合は、テスト環境と本番環境を自分のコード(例:APPLICATION_ENV)で区別する手段を見つける必要がありますか?またはPHPUnitは、定数を設定することで、この恐ろしいハッカーをネイティブにサポートしますか?defined() 、または同様のシェナニガン?(ここの私のグーグルフーは弱いです!私はおそらくそれを間違っているだけです。)
php - PHP Doctrine:ClassNameが見つかりませんが、ファクトリロードは機能します。
私はPHPDoctrineを使用しており、自動読み込みを設定しました。
次のようなテーブルを作成できます。
しかし、私がこのようにそれを試してみると、それは機能しません、私は何が欠けていますか?:
php - __autoload()を使用していますか?すべてのホストと互換性がありますか?
このメカニズムを使うかどうか迷っています。PHP Docによると、CLIインタラクティブモードでPHPを使用している場合、自動読み込みは使用できません。したがって、万が一の場合に備えて、このメソッドの使用を避ける必要があります。アプリケーションは、CLIでPHPを実行しているホストにインストールされますか?
php - PHPの__autoload関数の代わりになりますか?
次のような関数で必要なときにクラスファイルを動的にロードする方法について読みました。
DB.class.php
これは、そのクラスの新しいインスタンスを作成すると自動的に読み込まれますが、これはグローバル関数であり、プロジェクトに持ち込む関数を持つライブラリはそれ__autoload()
を台無しにするため、これを使用するのは悪いことです。上。
それで、誰かが解決策を知っていますか?おそらく、同じ効果を達成するための別の方法__autoload()
ですか?適切な解決策が見つかるまで__autoload()
、図書館などを持ち込むまで問題になり始めないので、使い続けます。
ありがとう。