corvo / router
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-10-02 04:23:45 UTC
README
##CorvoRoutes 简单地组织 Laravel 项目的方法。
如果您想贡献,请,分支或打开一个 问题。
如果您有任何问题,给我发一个 tweet,或者加入 Laraveles(西班牙语的 Laravel)。
##如何使用
###安装 将 "corvo/router"
添加到您的 composer.json 的 requires 并运行 composer update
。
require {
...,
"corvo/router": "dev-master"
}
注意:如果您在您的部分中使用命名空间,请将 app/web
与 psr-0
或 psr-4
一起添加到 composer.json
autoload {
"classmap": [
...
],
"psr-0": {
"": "app/web"
}
}
将 Corvo\Routes\Providers\CorvoRoutesServiceProvider
添加到您的 app/config/app.php
文件
'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', ... 'Corvo\Routes\Providers\CorvoRoutesServiceProvider' )
现在,使用 artsian
创建部分的最简单方法是,在您的应用程序根目录中运行以下命令
php artsian corvo:section [section_name]
这将创建一个名为 [section_name]
的部分。例如,让我们创建一个博客部分
php artsian corvo:section Blog
以及一个管理员部分
php artsian corvo:section Admin
在您的 proyect/app
文件夹中查看,并打开名为 web
的新文件夹,这包含所有部分,现在我们有了博客和管理员部分。
您必须有类似以下内容
|--app
|--|--web
|--|--|--Blog
|--|--|--|--Config
|--|--|--|--Controllers
|--|--|--|--Library
|--|--|--|--Models
|--|--|--|--routes.php
|--|--|--|--Views
|--|--|--Admin
|--|--|--|--Config
|--|--|--|--Controllers
|--|--|--|--Library
|--|--|--|--Models
|--|--|--|--routes.php
|--|--|--|--Views
###命名空间 现在我们有了部分,让我们创建视图
/* app/web/Blog/Views/index.blade.php */ <h1>My Awsome Blog!</h1> @foreach($posts as $post) <div> <h2>{{ $post->title }}</h2> <p>{{ $post->content }}</p> </div> @endforeach
为了访问此视图,我们可以使用与部分相同的命名空间。
在 Blog/routes.php 文件中添加
/* app/web/Blog/routes.php */ Route::group(array('prefix' => 'blog'), function () { Route::get('/', function() { $posts = Blog\Models\Post::all(); return View::make('Blog::index', ['posts' => $posts]); }); });
Blog 命名空间已经添加,我们可以使用它来引用所有博客视图。
以相同的方式在我们的管理员视图中,以及所有部分
/* app/web/Admin/routes.php */ Route::group(array('prefix' => 'admin'), function () { Route::get('/users', function() { $users = Admin\Models\Users::all(); return View::make('Admin::users', ['users' => $users]); }); });
要访问配置文件,方式相同
/* app/web/Blog/Config/general.php */ return array( 'posts_per_page' => 10 );
/* app/web/Blog/Controllers/HomeController.php */ public function getIndex() { $postsPerPage = Config::('Blog::general.posts_per_page'); $posts = Blog\Models\Post::take($postsPerPage)->get(); return View::make('Blog::index', ['posts' => $posts]); }
##运行 要运行此,我们需要加载 CorvoRoutes 类。要做到这一点,在 proyect/app/routes.php
文件中添加以下行
/* app/routes.php */ CorvoRoutes::load();
就这样。
##高级使用
###配置 您可以更改 CorvoRoutes 的某些功能,如部分的路径、路由文件名或视图文件夹的名称。
在您的 proyect/app/config
文件夹中创建一个名为 corvoroutes
的新配置文件
|--app
|--|--config
|--|--|--corvoroutes.php
在此文件中,您可以更改一个或多个功能。
选项
例如,如果您想将视图文件夹 /Views
改为 /Templates
,只需添加此选项
/* proyect/app/config/corvoroutes.php */ return array( 'views_folder' => 'Templates' );
并更改 base_path
,您不喜欢 proyect/app/web
,认为 proyect/content
更好
/* proyect/app/config/corvoroutes.php */ return array( 'base_path' => base_path().'/content', 'views_folder' => 'Templates' );
注意:如果您更改 base_path
并且在 proyect/app/web
中创建了先前的部分,您必须将其移动到新的 base_path 或使用 alternative_paths
添加
###替代路径 要在其他位置添加部分,例如 proyect/content/Foro/
和 proyect/Users/
,您有两种方法
- 使用配置文件
return array( 'alternative_paths' => array( base_path().'/content/Foro', base_path().'/Users' ) );
- 使用 alternativePaths() 方法
/* proyect/app/routes.php */ CorvoRoutes::alternativePaths(array( base_path().'/content/Foro', base_path().'/Users' )) ->load();
每个 "替代路径" 都像 proyect/app/web
部分一样工作。