だから私は小切手帳の登録簿であるSilexプロジェクトに取り組んでいます。アカウントにはトランザクションがあるという考え方です。私はコントローラープロバイダーを持つというアプローチを使用しているので、プロバイダーをマウントしています。それぞれのコントローラープロバイダーの/accountsと/transactionsをマウントできることは明らかです。ただし、論理的にはトランザクションはアカウントの子であるため、このタイプのURL構造を実現したいと考えていました。
/account/1
=アカウントID1のリクエストを取得
/account/1/transaction/100
=パラメータとしてアカウントID1を含むトランザクションID100のリクエストを取得します
前もって感謝します。
編集:私のコントローラーのセットアップがそのように見えることを言及しませんでした:
bootstrap.php:
$app->mount('/account', new AccountControllerProvider());
$app->mount('/transaction', new TransactionControllerProvider());
AccountControllerProvider.php:
$controllers->put('/', 'Mogaard\Checkbook\Controller\AccountController::createAction')
->bind('account_create');
$controllers->get('/{account}', 'Mogaard\Checkbook\Controller\AccountController::displayAction')
->convert('account', $accountProvider)
->bind('account_display');
$controllers->post('/{account}', 'Mogaard\Checkbook\Controller\AccountController::saveAction')
->convert('account', $accountProvider)
->bind('account_save');
$controllers->delete('/{account}', 'Mogaard\Checkbook\Controller\AccountController::deleteAction')
->convert('account', $accountProvider)
->bind('account_delete');
TransactionControllerProvider.php:
$controllers->put('/', 'Mogaard\Checkbook\Controller\TransactionController::createAction')
->bind('transaction_create');
$controllers->post('/{transaction}', 'Mogaard\Checkbook\Controller\TransactionController::saveAction')
->convert('transaction', $transactionProvider)
->bind('transaction_save');
$controllers->delete('/{transaction}', 'Mogaard\Checkbook\Controller\TransactionController::deleteAction')
->convert('transaction', $transactionProvider)
->bind('transaction_delete');
/ account / {account} / transaction / {transaction}のルートを追加しようとしていますが、マウントされたコントローラープロバイダーを使用し、トランザクションコントローラーの責任をアカウントコントローラープロバイダーに混在させずに追加する方法がわかりません。