Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:core:completion

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:core:completion [2020/05/05 10:42]
y2sunlight [Applicationクラス]
apricot:core:completion [2020/05/21 10:42] (現在)
y2sunlight [Apricot コアの完成]
行 13: 行 13:
     * [[apricot:core:request-class|Apricot リクエストクラス]]     * [[apricot:core:request-class|Apricot リクエストクラス]]
     * [[apricot:core:response-class|Apricot レスポンスクラス]]     * [[apricot:core:response-class|Apricot レスポンスクラス]]
 +    * [[apricot:core:base-controller|Apricot ベースコントローラ]]
     * Apricot コアの完成     * Apricot コアの完成
   * [[apricot:app:top|Apricot アプリ]]   * [[apricot:app:top|Apricot アプリ]]
-  * [[apricot:app:ext|Apricot 拡張]]+  * [[apricot:ext:middleware|Apricot 拡張]]
  
 ここまでで一通りコアのクラス群を作成し終わったので最後に index.php と Applicationクラス を修正してコアの完成形を作ります。尚、コアにはこの他に、ミドルウェアとアクションインターセプターの機能もありますが、それは「コアの拡張」で行います。 ここまでで一通りコアのクラス群を作成し終わったので最後に index.php と Applicationクラス を修正してコアの完成形を作ります。尚、コアにはこの他に、ミドルウェアとアクションインターセプターの機能もありますが、それは「コアの拡張」で行います。
行 54: 行 55:
 $application->run(require_once config_dir('routes.php')); $application->run(require_once config_dir('routes.php'));
 </code> </code>
 +
 +\\
  
 ===== Applicationクラス ===== ===== Applicationクラス =====
行 84: 行 87:
         $instance = new $controller();         $instance = new $controller();
  
-        // Ecexute action +        // Invoke action 
-        $response = call_user_func_array(array($instance, $actionName), $params);+        $response = call_user_func_array(array($instance, 'invokeAction'), [$actionName, $params]);
         if ($response instanceof \Core\Foundation\Response)         if ($response instanceof \Core\Foundation\Response)
         {         {
行 99: 行 102:
  
 \\ \\
 +
 +==== app.php ====
 +
 +アプリケーションの設定ファイル(app.php)を以下のように変更し、whoops、idiorm、BladeOneが使えるようにします。
 +
 +{{fa>folder-open-o}} ** /apricot/config**
 +<code php app.php>
 +<?php
 +return
 +[
 +    'setup' =>[
 +        config_dir('setup/whoops.setup.php'),    /* Error handler(whoops) */
 +        config_dir('setup/bladeone.setup.php'),  /* View template (BladeOne) */
 +    ],
 +    'middleware' =>[],
 +    'auth' =>[],
 +    'csrf' =>[],
 +];
 +</code>
 +
 +\\
 +
 +
 +===== テスト実行 =====
 +
 +ここまでの実装で一度実行してみましょう。ブラウザ上で以下のURLにアクセスしてみて下さい。
 +
 +<code>
 +http://localhost/ws2019/apricot/public/
 +</code>
 +
 +次のように表示されます:
 +
 +<code>
 +Hello, Apricot!
 +</code>
 +
 +また以下のように、ルーティング(routes.php)に存在しないURLを指定するとWoopsのエラー画面が表示されるはずです。
 +
 +<code>
 +http://localhost/ws2019/apricot/public/home
 +</code>
 +
 +
 +\\
 +
  
apricot/core/completion.1588642973.txt.gz · 最終更新: 2020/05/05 10:42 by y2sunlight