この問題が発生したとき、Laravel3アプリをLaravel4に更新していました...
私が試したルート:
Route::get('backend/login', 'backend/UserController@login');
Route::get('backend/login', 'backend.UserController@login');
この問題が発生したとき、Laravel3アプリをLaravel4に更新していました...
私が試したルート:
Route::get('backend/login', 'backend/UserController@login');
Route::get('backend/login', 'backend.UserController@login');
現時点では、Laravel 4 Beta 1では「のみ?」名前空間を使用します。
コントローラーファイルの例:app / controllers / backend / UserController.php
<?php namespace Controllers\Backend;
use Illuminate\Routing\Controllers\Controller;
class UserController extends Controller {
// Note extends Controller and not BaseController
// Your stuff
}
?>
したがって、ファイル内:app / routers.php:
<?php
Route::get('backend/login', 'Controllers\Backend\UserController@login');
それがより良い方法かどうかはわかりませんが、ここで働いています。編集とダンプ-「composer.json」の自動ロードは実際には機能しないようです。
誰かがそれを改善することができれば、彼は私の日を作るでしょう!:)
Laravel 4 を使用する場合は、おそらくこれを確認する必要があります: ここで確認できるように、ルートのグループで使用する名前空間を指定できます: http://www.laravel-tricks.com/tricks /route-group-namespace
あなたのサンプルでは:
Route::group(array('prefix' => 'backend', 'namespace' => 'backend'), function()
{
Route::get('login', 'UserController@login');
});
それは魅力のように機能します:)
私はそれを使用してきましたが、非常に優れています。コードをよりクリーンで理解しやすく保つのに役立ちます。試してみる!
app/controllers ディレクトリにある私の管理コントローラ
class AdminController extends BaseController {
/**.
* @return \AdminController
*/
public function __construct()
{
}
}
これで、コントローラーフォルダー、つまり app/controllers/admin に admin という名前のフォルダーがあり、そこに AdminDashboardController.php という名前の別のコントローラーがあります。
class AdminDashboardController extends AdminController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function getIndex()
{
return View::make('admin/dashboard');
}
}
そして最後に私のRoute.phpファイル
Route::group(array('prefix' => 'admin'), function()
{
# Admin Dashboard
Route::controller('/', 'AdminDashboardController');
});
お役に立てれば ..:-)
ここで説明したように、Laravel 4.1 では、ルートのグループで使用する名前空間を指定できます。
私はそれを使用してきましたが、非常に優れています。コードをよりクリーンで理解しやすく保つのに役立ちます。試してみる!
することをお勧めします
Route::group(array('prefix' => 'backend'), function() {
// Responds to Request::root() . '/backend/user'
Route::resource('login', 'UserController');
});
詳細はこちら
Laravel 4 のネストされたリソース コントローラー Route::resource('admin/photo', 'PhotoController'); 動作していません
バックエンド/管理パネルを package..fruit for think に入れることもできます:)