Cakephp-generating-urls

提供:Dev Guides
移動先:案内検索

CakePHP-URLの生成

これはCakePHPのクールな機能です。 生成されたURLを使用すると、コード全体を変更することなく、アプリケーションのURLの構造を簡単に変更できます。

url( string|array|null $url null , boolean $full false )

上記の関数は2つの引数を取ります-

  • 最初の引数は、次のいずれかを指定する配列です- 'controller'、 'action'、 'plugin' 。 さらに、ルーティングされた要素またはクエリ文字列パラメーターを提供できます。 文字列の場合、有効なURL文字列の名前を指定できます。
  • trueの場合、完全なベースURLが結果の先頭に追加されます。 デフォルトはfalseです。

次のプログラムに示すように、 config/routes.php ファイルに変更を加えます。

*config/routes.php*
<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes){
      $routes->connect('/generate',['controller'=>'Generates','action'=>'index']);
   });

   Plugin::routes();
*src/Controller/GeneratesController.php* に *GeneratesController.php* ファイルを作成します。 次のコードをコントローラーファイルにコピーします。
*src/Controller/GeneratesController.php*
<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\ORM\TableRegistry;
   use Cake\Datasource\ConnectionManager;

   class GeneratesController extends AppController{
      public function index(){
      }
   }
?>
*src/Template* で生成するフォルダーを作成し、そのフォルダーの下に *index.ctp* という *View* ファイルを作成します。 そのファイルに次のコードをコピーします。
*src/Template/Generates/index.ctp*
This is CakePHP tutorial and this is an example of Generating URLs.

次のURLにアクセスして、上記の例を実行します-

*http://localhost:85/CakePHP/generate*

上記のURLは次の出力を生成します-

URLの生成