laravel 页面空白没有内容
作为刚学习php ,才接触laravel的新手一枚,今天在做练习的时候,有一个页面是空白的,既没有错误提示,也没有内容,就是一片空白,白的都把我晃傻了.后经过各种排除,不经意见发现了我犯的错,顿时心中一万只乌鸦飞过....先记录我排除错误的方向
1.检查路由配置,
没有书写之类的错误,而且如果是书写错的话,页面也会报错的,我还怕是书写错误,特意把成功打开的页面copy下来,排除嫌疑
2.检查controller中页面跳转的路由
我依然是替换为成功打开的页面,发现没有问题,排除
3.百度搜索,
有人说可能是模板出了问题,于是我又把成功的blade.php文件copy过来,发现依然是空白,由此推断并非是模板的问题
模板引擎没有问题,路由没有问题,路径也没有问题,到底是什么?是什么?不停的查看我的controller,最后通过和成功页面的controller对比,发现是我路由里引用的controller里的方法没有做任何的返回,也就是没有返回我要的页面,可不就是空白嘛,心中顿时把自己鄙视一顿,根本原因还是没有理解路由,controller,页面他们之间的关系
**
梳理一下三者的联系
路由:是controller和页面的纽带,通过调用controller的方法,来到我们想要的页面,例如
Route::get('backend/article/create','Backend\ArticleController@create')->name('article-create');
在浏览器里输入地址xx.com/backend/article/create,就会去对应的ArticleController中找create方法,在这个方法中,最后的return view('article.create')指向view/article/create.blade.php文件
Controller: 是laravel里的控制器,如果你没有建立repository层的话,所有的逻辑都在这里写了,包括对数据的处理,处理完后最后的结果还是要返回页面的,因为页面是我们在最终的呈现结果,建议再建一个
repository层,将处理数据的逻辑抽离处理,在controller层只做流程的处理,这样会比较清晰,
页面:就是通过路由里路径进行的跳转,在页面中可以使用route('article-create') 来进行配置路径,底层会根据name去路由中对应的路径,而且在页面中也可以接收参数,可以是对象