0
点赞
收藏
分享

微信扫一扫

laravel入门教程(二)


上次说到了子域名路由,这回从命名空间前缀说起

命名空间前缀

通过使用路由组命名空间前缀,就可以避免在群组内使用很长的控制器进行引用,如

API/ControllerA@index
API/ControllerB@index

为了避免这样的长控制器引用,可以使用路由组命名空间前缀

//App\Http\Controllers\ControllerA
Route::get('/', 'ControllerA@index');
Route::group(['namespace' => 'API'],function(){
// App\Http\Controllers\API\ControllerB
Route::get('api/','ControllerB@index');
});

名称前缀

通常,路由名称会反映路径元素的继承链,因此,users/comments/5将会由名为users.comments.show的路由实现。

//路由组名称前缀
Route::group(['as' => 'users.', 'prefix' => 'users'],function(){
Route::group(['as' => 'comments.', 'prefix' => 'comments'], function(){
Route::get('{id}', function(){
//
})->name('show');
})
});

加载视频view的三种方法

1、直接使用view()加载
2、使用View::make()加载
3、使用注入Illuminate\View\View Factory的方式实现视图的加载

传递变量给视图

Route::get('tasks',function(){
return view('tasks.index')
->with('tasks', Task::all());
});

控制器

本质上是在一个位置讲一个或多个路由逻辑组织在一起的类。控制器可以处理那些可对特定资源执行的所有操作。

创建控制器

php artisan make:controller 控制器名(例如:TasksController)

生成的控制器位于app/Http/Controllers文件夹中,创建一个名为home()的公共方法

<?php
use App\Http\Controllers\Controller;
class TasksController extends Controller{
public function home(){
return 'hello, World!';
}
}
//接下来建立一个路由
//routes/web.php
<?php
Route::hey('/', 'TasksController@home');

获取用户输入

绑定基本的表单操作

//routes/web.php
Route::get('tasks/create', 'TasksController@create');
Route::post('tasks', 'TasksController@store');

常见的表单输入控制器方法

//TasksController.php
...
public function store(){
$task = new Task;
$task->title = Input::get('title');
$task->description = Input::get('description');
$task->save();
return redirect('tasks');
}


举报

相关推荐

0 条评论