Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:app:top

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:app:top [2020/05/12 16:34]
y2sunlight [コントローラ]
apricot:app:top [2020/06/03 13:11] (現在)
tanaka [クラスエイリアス]
行 14: 行 14:
     * [[apricot:app:db-model|Apricot データベースとモデル]]     * [[apricot:app:db-model|Apricot データベースとモデル]]
     * [[apricot:app:user-list|Apricot ユーザ一覧画面]]     * [[apricot:app:user-list|Apricot ユーザ一覧画面]]
-    * [[apricot:app:user-edit|Apricot ユーザ編集画面]]+    * [[apricot:app:user-edit|Apricot ユーザ登録画面]]
     * [[apricot:app:validation|Apricot バリデーション]]     * [[apricot:app:validation|Apricot バリデーション]]
     * [[apricot:app:transaction|Apricot トランザクション]]     * [[apricot:app:transaction|Apricot トランザクション]]
-  * [[apricot:ext:top|Apricot 拡張]]+  * [[apricot:ext:middleware|Apricot 拡張]]
  
  
行 31: 行 31:
 ==== appフォルダ ==== ==== appフォルダ ====
  
-以下に示すようにプロジェクトフォルダ下に、アプリ用のフォルダ app を作成し、その下に7つのフォルダ(Controllers, Exceptions, Foundation, Helpers, Middleware, Models, Services)を作成します。+以下に示すようにプロジェクトフォルダ下に、アプリ用のフォルダ app を作成し、その下に7つのフォルダ(Controllers, Exceptions, Foundation, Helpers, Middleware, Models, Services)を作成します。また、Controllersの下にはInterceptorsフォルダを作成します。 
  
 <code> <code>
行 39: 行 39:
     |     |
     ├── Controllers [コントローラ]     ├── Controllers [コントローラ]
 +    |    |
 +    |    └── Interceptors [インターセプター]
 +    |  
     ├── Exceptions [例外]     ├── Exceptions [例外]
     ├── Foundation [基盤]     ├── Foundation [基盤]
行 44: 行 47:
     ├── Middleware [ルミドルウェア]     ├── Middleware [ルミドルウェア]
     ├── Models     [モデル]     ├── Models     [モデル]
-    └── Services   [サービス]+    └── Services   [サービス] (予約)
 </code> </code>
  
行 145: 行 148:
 </code> </code>
  
-  * よく使うコアクラスとアプリ用のヘルパークラスのリアスを作っています+  * よく使うコアクラスとアプリ用のヘルパークラスのエイリアスを作っています
  
  
行 354: 行 357:
  
             {{--             {{--
-            @if(app_has('auth'))+            @if(app('auth.menu',false))
             <ul class="navbar-nav ml-auto">             <ul class="navbar-nav ml-auto">
                 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>                 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
-                    {{user()->account}} <span class="caret"></span>+                    {{AuthUser::getUser()->account}} <span class="caret"></span>
                 </a>                 </a>
                 <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">                 <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
行 396: 行 399:
     </main>     </main>
  
-    <footer class="fixed-bottom bg-secondary text-center text-light py-1">&copy; 2020 y2sunlight</footer>+    <footer class="fixed-bottom bg-secondary text-center text-light py-1">{{env('APP_NAME')}} &copy; 2020 y2sunlight</footer>
     {!! DebugBar::render() !!}     {!! DebugBar::render() !!}
 </body> </body>
行 414: 行 417:
       * ''@yield('title')'' を使って、個々の画面のタイトルを生成します       * ''@yield('title')'' を使って、個々の画面のタイトルを生成します
       * ''@yield('content')'' を使って、個々の画面のコンテンツを生成します       * ''@yield('content')'' を使って、個々の画面のコンテンツを生成します
 +      * ''@if'', ''@foreach'' はPHPの if, foreach と同じ機能を持つ制御ディレクティブです
       * テンプレード変数 ''$errors'' が空でない場合はエラー表示します       * テンプレード変数 ''$errors'' が空でない場合はエラー表示します
       * フラッシュ変数 ''msg'' があるときはメッセージを表示します       * フラッシュ変数 ''msg'' があるときはメッセージを表示します
行 423: 行 427:
     * ''route()'' はルートパスをURLに変換する[[apricot:core:application-class#applicationクラスのヘルパー関数|Applicationクラスのヘルパー関数]]です。     * ''route()'' はルートパスをURLに変換する[[apricot:core:application-class#applicationクラスのヘルパー関数|Applicationクラスのヘルパー関数]]です。
     * ''user()'' はログインユーザのエンティティを呼び出します(後述のユーザ認証で説明)。     * ''user()'' はログインユーザのエンティティを呼び出します(後述のユーザ認証で説明)。
 +    * ''env()'' は環境設定を取得する[[apricot:core:top#ヘルパー|ヘルパー関数]]です。
  
->''<nav>'' の中の ''@if(app_has('auth'))'' の部分は後述のユーザ認証で説明します。この段階ではコメントアウトされています。+>''<nav>'' の中の ''@if(app('auth.menu',false))'' の部分は後述のユーザ認証で説明します。この段階ではコメントアウトされています。
  
 HTMLテンプレートに関しては本編[[http://www.y2sunlight.com/ground/doku.php?id=basic-library:bladeone:3.37|BladeOne]]のリンクを項を参照して下さい。 HTMLテンプレートに関しては本編[[http://www.y2sunlight.com/ground/doku.php?id=basic-library:bladeone:3.37|BladeOne]]のリンクを項を参照して下さい。
行 588: 行 593:
 {{-- コンテンツ --}} {{-- コンテンツ --}}
 @section('content') @section('content')
-    @foreach($messages as $message) +    @if(!empty($messages)) 
-    <p>{{$message}}</p> +      @foreach($messages as $message) 
-    @endforeach+      <p>{{$message}}</p> 
 +      @endforeach 
 +    @endif
 @endsection @endsection
 </code> </code>
行 597: 行 604:
   * ''push''ディレクティブで layoutテンプレートの ''scripts''スタック にコードを追加しています。\\ (ここでは書くべきJavascriptがないので何も追加していません)   * ''push''ディレクティブで layoutテンプレートの ''scripts''スタック にコードを追加しています。\\ (ここでは書くべきJavascriptがないので何も追加していません)
   * ''section''で layoutテンプレートの ''title'' と ''content'' セクションを生成しています。   * ''section''で layoutテンプレートの ''title'' と ''content'' セクションを生成しています。
 +  * ''@if'', ''@foreach'' はPHPの if, foreach と同じ機能を有するディレクティブです。
  
 HTMLテンプレートに関しては本編[[http://www.y2sunlight.com/ground/doku.php?id=basic-library:bladeone:3.37|BladeOne]]のリンクを項を参照して下さい。 HTMLテンプレートに関しては本編[[http://www.y2sunlight.com/ground/doku.php?id=basic-library:bladeone:3.37|BladeOne]]のリンクを項を参照して下さい。
apricot/app/top.1589268872.txt.gz · 最終更新: 2020/05/12 16:34 by y2sunlight