問題タブ [illuminate-container]

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.

0 投票する
1 に答える
1417 参照

php - スタンドアローン Illuminate IoC Container の Illuminate/Support/Facade/App ファサードを作成する方法

私のスタンドアロン (Laravel なし) プロジェクトでは、Illuminate IoC コンテナーを使用したいと考えています。また、コンポーネントAppによって提供されるファサードを介してアプリ コンテナーにアクセスしたいと考えています。illuminate/support両方のコンポーネント (v5.0.28) をインストールしました。これが私の(簡略化された)コードです:

残念ながら、何かをバインドしようとすると、次の結果になります。

これがその行のコードです

、、および$instanceのインスタンスはどこにありますか。問題は、が のインスタンスではなく、クラスが静的プロパティで任意の関数を呼び出すことをサポートしていないことです。Illuminate\Support\Facades\App$method == 'bind'$args[0] == 'w'$args[1] == 'Widget'$instanceIlluminate\Container\ContainerIlluminate\Support\Facades\App$app

それを機能させるために、次の関数をに追加しましたIlluminate\Support\Facades\App

しかし、確かに外部コンポーネントを編集することは正しいことではありません!!! 確かに誰かがこれに遭遇したことがあります!

質問は次のとおりです。これを行う適切な方法は何ですか?

0 投票する
1 に答える
2238 参照

php - Lumen MySQL クエリが UTF8 値を期待どおりに処理しない

UTF8 エンコーディングを使用し、特殊文字を含むユーザー名が多数含まれるデータベースに対して作業を行っています。

ユーザー テーブルをクエリすると、Lumen は誤ったデータで応答します。mysqliandを使用して同じテーブルにクエリを実行しようとしましたがPDO、期待どおりの結果が得られました。テストするためにサンプルルートを設定しました:

ルートにアクセスすると、次の応答が返されます。

上記のテキストが正しく表示されない場合の応答のスクリーンショットを次に示します。壊れた UTF8 応答

私が知る限り、Lumen の MySQL 設定はデフォルトで UTF8 に設定されており、変更できませんvendor/laravel/lumen-framework/config/database

何が原因なのか途方に暮れています。この不一致を追跡するには、他に何ができますか?

0 投票する
0 に答える
63 参照

php - Illuminate\Foundation\Application.php の with() は何をしているのですか?

Illuminate\Foundation\Application.php理由はすぐに説明しますが、現時点では、Laravel 4の 606 行目を理解しようとしています。

どこでwith()定義されていますか?

私がよく知らない PHP の関数または言語構造であれば、PHP.net で検索しても無敵のように思えます。私の現在のプロジェクトは、その行で静かに失敗していると判断しました (私の開発サーバーではなく、本番サーバーでのみ)。クラッシュをさらに追跡する場合は、どこにあるかを知る必要がwith()あるので、うさぎの穴をさらに下に移動できます。

0 投票する
0 に答える
605 参照

database - Laravel 5.0.33 Illuminate\Database\Eloquent\Model が 5 行目に見つかりません

アプリ内のファイルEmail.phpは次のとおりです。非常に単純ですが、機能しません。

Laravel 5.0.33 Illuminate\Database\Eloquent\Model が 5 行目に見つかりません

0 投票する
0 に答える
2873 参照

laravel - laravelの外でパッケージを照らす

私は Laravel を初めて使用します。Laravel 以外のほぼすべての L5 パッケージを使用しています。しかし、これらを機能させるにはいくつかの問題があります。

これは私の composer.json ファイルです:

それが index.php です。

そして TestController クラス:

TestController の show メソッドを呼び出すと、次のエラーが発生します。

[致命的なエラー] /var/www/html/vendor/illuminate/container/Container.php:736 で「Class config does not exist」というメッセージを含む例外「ReflectionException」をキャッチできませんでした:736

構成パッケージの使用方法がわかりません。これがこのエラーが発生する理由だと思います。構成パッケージにはサービス プロバイダーがないため、これを開始できません。

私はサードパーティのカスタムphpフレームワークを使用しているため、laravelの外でilluminateパッケージを使用しようとしていますが、いくつかの理由でL5に徐々に移行する必要があります。これがベストプラクティスである場合は、あなたの経験が必要です。

0 投票する
1 に答える
1207 参照

mysql - Lumen/Laravel 5.1 - 呼び出し元のストアド プロシージャがトランザクションをコミットしているように見える

Lumen 5.1.3 で統合テストを作成しています。私のテストのほとんどは、トランザクションを正常にロールバックします。以下は、成功したロールバックがどのように見えるかをまとめたものです (コードを単純化しています。実際には、トランザクション管理は、PHPUnit の @before アノテーションにアタッチした特性を介して行われます)。

すべてが良いです。このテストの後、ユーザー テーブルは空です。

さて、ここで私は混乱します。ミックスに SP を追加すると、ロールバックされません。

新しい User レコードは実際にコミットされています。DB::rollBack();ストアド プロシージャを実行すると、効果がありません。

エラーはありません - すべてが成功します。DB::rollBack();コマンドに到達していることも確認し ました。

では、SP を呼び出した場合にのみトランザクションがコミットされるのはなぜですか? とてもイライラする.. :(

編集1:

あなたの疑いは的中しました。これがSPです(大きいので90%折りたたんでいます):

TRUNCATEおそらく、コミットしているのは SP 自体ではなく、SP内のステートメントのみでしょうか?

TRUNCATEが使用されているのはposition、リーダーボード テーブルに自動インクリメントする列があり、リセットする必要があるためです。DELETE FROM table自動インクリメントをリセットしません..