新 Laravel 项目中缺少 routes.php 文件
Posted
技术标签:
【中文标题】新 Laravel 项目中缺少 routes.php 文件【英文标题】:Missing routes.php File in New Laravel Project 【发布时间】:2017-01-11 19:37:21 【问题描述】:我下载了 Composer,安装了 Laravel,并开始了我的第一个 Laravel 项目,开始使用 laracast 上的课程学习 Laravel(很棒的课程)。第二课涵盖路线。我的新项目没有 routes.php 文件。
我删除了作曲家并重新开始。一样。试了两台不同的电脑。一样。我使用的是 NetBeans,所以我尝试使用 PHP Storm。一样。我尝试制作自己的 routes.php 文件,但它似乎无法正常工作,因为此时我对 Laravel 一无所知。我尝试在 htdocs 中创建和保存项目,然后再次在 PHPStorm 项目文件夹中创建和保存项目 - 没有 routes.php 文件。
Composer 保存在这里 - C:\Users\myName\AppData\Roaming\Composer\vendor\bin。我在命令提示符下使用 composer global require "laravel/installer" 来安装 laravel。有什么想法吗?
【问题讨论】:
【参考方案1】:最新版本的 Laravel 没有 routes.php 文件。
此“routes.php”文件在旧版本中位于 \app\Http 中。
在较新的版本 Laravel 5.3 中,我们有一个名为“routes”的文件夹,我们可以在其中找到以下文件:
api.php console.php web.php对于这个新版本,你的控制器的路由,你可以放在 web.php 文件中
在此处查看有关路由的文档
https://laravel.com/docs/5.3/routing#basic-routing
您正在观看的视频课程可能已过时。
【讨论】:
谢谢,这就是我要找的。span> 谢谢。这很有帮助,因为我正在学习教程。 你能告诉我使用Route类而不使用类命名空间的routes/api.php有什么魔力吗?【参考方案2】:Laravel 新版本没有 routes.php
它 有
1.web.php 创建网络路由
2.api.php 如果您使用的是前端 (js) 框架,请在此处编写路由
3.console.php 用于控制台命令和与命令交互的console.php
【讨论】:
【参考方案3】:在最新的 Laravel 中,他们删除了 common routes.php,因为他们添加了不同的路由文件以更好地管理您的应用程序路由。
有
routes/web.php :路由文件,其工作方式类似于 routes.php 文件,您可以在其中拥有您的路由,并且 web.php 文件中的所有 POST 路由都将针对CSRF Token 类似于普通的 Laravel Post 路由。
routes/api.php:路由文件,您可以在其中拥有应用程序的 API 路由,URL 将是 example.com/api/ 例如。如果您有路由 getUsers,那么 API URL 将是 example.com/api/getUsers。需要注意的最重要的事情是 POST 对 API url 的请求将不会被验证 CSRF 令牌。
routes/console.php:路由文件,您可以在其中定义您可以从 Laravel Artisan CLI 运行的 Artisan 命令。
【讨论】:
【参考方案4】:@Geraldo 回答得很好,但你还可以学到更多东西-
在 Laravel 较新版本中,旧类型的 routes.php 文件已被删除。
为何移除:
从 Laravel 公告来看,它已经为路线提供了更多的灵活性。
解决方案:
现在,添加了一个路由文件夹,该文件夹内有 4 个文件。
web.php
-- 之前的路由主要在这个文件里。您可以在此处为您的应用程序注册网络路由。
api.php
-- 在这里您可以为您的应用程序注册 API 路由。
channels.php
-- 在这里您可以注册您的应用程序支持的所有事件广播频道。
console.php
-- 用于所有控制台命令以及与命令的交互。
看,现在你可以更灵活地添加任何 API,然后通过它的api.php
路由文件和web.php
文件中的普通路由链接它。谢谢。
【讨论】:
【参考方案5】:听
前往
项目文件夹名称 --> app --> Http --> routes.php你会在那里找到路线。
在较新的版本中, Laravel 5.3,找到名为“routes”的文件夹,其中存在以下文件:
api.php
console.php
web.php
对于这个新版本,你的控制器的路由,你可以写在 web.php 文件中
【讨论】:
【参考方案6】:在 5.6 版中,在 Http/Requests 下没有 routes.php 文件,来自文档:
所有 Laravel 路由都在您的路由文件中定义,这些文件位于 在路由目录中。这些文件由 框架。 routes/web.php 文件定义了适合您的路由 网页界面。这些路由被分配了 web 中间件组, 它提供了会话状态和 CSRF 保护等功能。这 routes/api.php 中的路由是无状态的,并且被分配了 api 中间件组。
对于大多数应用程序,您将首先在您的 路线/web.php 文件。 routes/web.php 中定义的路由可能是 通过在浏览器中输入定义路由的 URL 来访问。为了 例如,您可以通过导航访问以下路线 http://your-app.test/user 在您的浏览器中:
Route::get('/user', 'UserController@index');
【讨论】:
【参考方案7】:Laravel 新版本没有 routes.php
1.web.php 创建网络路由
2.api.php 如果你使用的是前端(js)框架那么在这里写路由
3.console.php 用于控制台命令和与命令交互的console.php
【讨论】:
您能解释一下这个答案与其他几个答案有何不同,包括已被接受和投票超过 100 次的答案?以上是关于新 Laravel 项目中缺少 routes.php 文件的主要内容,如果未能解决你的问题,请参考以下文章
laravel 作曲家更新:您的系统中缺少请求的 PHP 扩展 dom