Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:ext:di-container

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:ext:di-container [2020/05/26 16:11]
y2sunlight [App\Foundation\Containerクラス]
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:
 \\ \\
  
-==== テスト実行 ==== +==== サービスコンナの使用例 ==== 
-TODOStabControllerの例+ 
 +=== タブコンローラ === 
 + 
 +サービスコンテナをテストするために、スタブコントローラを以下のように修正します。 
 + 
 +{{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 
 +</code> 
 + 
 +\\ 
 + 
  
 \\ \\
  
apricot/ext/di-container.1590477062.txt.gz · 最終更新: 2020/05/26 16:11 by y2sunlight