Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:ext:di-container

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:ext:di-container [2020/05/26 16:12]
y2sunlight [テスト実行]
apricot:ext:di-container [2020/05/26 16:42] (現在)
y2sunlight [Providerクラス]
行 1: 行 1:
-> 編集中 
- 
------ 
- 
 ====== Apricot DIコンテナー ====== ====== Apricot DIコンテナー ======
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-25//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-25//
行 208: 行 204:
 </code> </code>
  
-このクラスは、名前空間APPの直下に存在し、アプリケーションのモデル及びサービスのマップを提供します。現版のApricotでは、モデルはユーザモデル( User )だけで、サービスについては存在しません。モデルやサービスを追加する場合は、上例に習って適宜追加して下さい。+このクラスは、名前空間Appの直下に存在し、アプリケーションのモデル及びサービスのマップを提供します。現版のApricotでは、モデルはユーザモデル( User )だけで、サービスについては存在しません。モデルやサービスを追加する場合は、上例に習って適宜追加して下さい。 
 + 
 +現版のApricotでは、サービスは存在しませんが、サービス用として以下のフォルダが予約されています。 
 + 
 +<code> 
 +/apricot/app/Services 
 +</code>
  
 尚、League/Container のサービスプロバイダーについての詳細は[[https://container.thephpleague.com/3.x/service-providers/|こちら]]をご覧ください。 尚、League/Container のサービスプロバイダーについての詳細は[[https://container.thephpleague.com/3.x/service-providers/|こちら]]をご覧ください。
行 256: 行 258:
 \\ \\
  
-==== ト実行 ====+==== サービコンテナの使用例 ====
  
-サービスプロバイダーをテストするために、スタブコントローラを以下のように修正します。+=== スタブコントローラ ===
  
-> TODO: StabController+サービスコンテナをテストするために、スタブコントローラを以下ように修正します。
  
 +{{fa>folder-open-o}} ** /apricot/app/Controllers **
 +<code php StubController.php>
 +namespace App\Controllers;
 +
 +use App\Foundation\Container;
 +use App\Foundation\Controller;
 +
 +/**
 + * Stubコントローラ
 + */
 +class StubController extends Controller
 +{
 +    /**
 +     * Stub Page
 +     * @return \Core\Foundation\Response
 +     */
 +    public function index(int $no=null)
 +    {
 +        $title = "Stub {$no}";
 +
 +        /*
 +         * Example for Container
 +         * @var \App\Models\User $user
 +         */
 +        $user = Container::get('user');
 +        $userCount = count($user->findAll());
 +        $messages[] = "Number of registered users : {$userCount}";
 +
 +        return render('stub',['title'=>$title,'messages'=>$messages]);
 +    }
 +}
 +</code>
 +
 +  * ''Container::get('user')'' でユーザモデルを生成します。
 +  * ユーザモデルの ''findAll()'' を実行して全ユーザのリストを取得します。
 +  * ユーザ数を表示するために、テンプレート変数 ''$messages'' をセットします。
 +
 +\\
 +
 +=== テスト実行 ===
 +
 +Apricotのホーム画面を表示して、[Menu2]をクリックして下さい。
 +
 +[{{apricot:ext:ext09.png?nolink}}]
 +■ 画面にユーザ数が表示されます
 +
 +<code>
 +Number of registered users : 2
 +</code>
 +
 +\\
  
  
apricot/ext/di-container.1590477136.txt.gz · 最終更新: 2020/05/26 16:12 by y2sunlight