laravel框架各文件作用是什么?之间什么关系?

laravel框架各文件作用是什么?之间什么关系?,第1张

文件文件

作用

/app/config/

配置应用程序的运行时规则、 数据库、 session等等。滚稿包含大量的用来更改框架的各个大消孝方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。

/app/config/app.php

各种应用程序级设置,即时区、 区域设置(语言环境)、 调试模式和独特的加密密钥。

/app/config/auth.php

控制在应用程序中如何进行身份验证,即身份验证驱动程序。

/app/config/cache.php

如果应用程序利用缓存来加快响应时间,要在此配置该功能。

/app/config/compile.php

在此处可以指定一些额外类,去包含由‘artisan optimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。

/app/config/database.php

包含数据库的相关配置信息,即默认数据库引擎和连接信息。

/app/config/mail.php

为电子邮件发件引擎的配置文件,即 SMTP 服务器,From:标头

/app/config/session.php

控制Laravel怎样管理用户sessions,即session driver, session lifetime。

/桥卜app/config/view.php

模板系统的杂项配置。

/app/controllers

包含用于提供基本的逻辑、 数据模型交互以及加载应用程序的视图文件的控制器类。

/app/database/migrations/

包含一些 PHP 类,允许 Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。

/app/database/seeds/

包含允许Artisan工具用关系数据来填充数据库表的 PHP 文件。

/app/lang/

PHP 文件,其中包含使应用程序易于本地化的字符串的数组。默认情况下目录包含英语语言的分页和表单验证的语言行。

/app/models/

模型是代表应用程序的信息(数据)和 *** 作数据的规则的一些类。在大多数情况下,数据库中的每个表将对应应用中的一个模型。应用程序业务逻辑的大部分将集中在模型中。

/app/start/

包含与Artisan工具以及全球和本地上下文相关的自定义设置。

/app/storage/

该目录存储Laravel各种服务的临时文件,如session, cache, compiled view templates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。

/app/tests/

该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。

/app/views/

该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css, javascript和images文件应该放在/public文件夹下。

/app/routes.php

这是您的应用程序的路由文件,其中包含路由规则,告诉 Laravel 如何将传入的请求连接到路由处理的闭包函数、 控制器和 *** 作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。

/app/filters.php

此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel 具有访问控制和 XSS 保护的一些预定义筛选器。

花了很多心思在建立和命名文件夹上,得到的就是一个具有良好的文件系统的应用程序。

在这里你得到了什么:MVC

结论:Route类是必须引入的。所以可以调用静态方法 currentRouteName()。

1 - 为什么不引入Route类也可以运行?

因为Route类是在系统启动时作为全局类进行了注册。

在文件 config/app.php 文件内如下所示:

Route门面此处注册到全局,也就是根命名空间。所以在程序内,直接使用 Route::method() 不会有任何问题。

我们在编滚派族程中,对于全局注册的类,也需要通过此方法,添加注册。

2 - 获取当前路由名称的一些方法举例

使用Route类的方法:

Route::getCurrentRoute()->getPath()

或者使用Request类的方法:

\Request::route()->getName();

laravel 5.1 你得这羡链么写:

use Illuminate\Support\Facades\Route

$currentPath= Route::getFacadeRoot()->current()->uri()

到了5.2版本,就是题主的写法:

Route::currentRouteName()

5.3版本到5.8版本,更加灵活了:

$uri = $request->path()

使用 Request 对象的方法就可以返回。获取路由,路由名称,方大弊法名:

$route = Route::current()

$name = Route::currentRouteName()

$action = Route::currentRouteAction()

到了laravel 7.x 对请求对象 Request 有了更加丰富的特性:

$request->route()->getName()

结语

以上获取路由名的方法,根据不同laravel版本,进行不同的处理。

细节上的不同一定要多加注意。

Route::get('/file/txt/{filename}', function($filename) {

    $file = YOUR_FILE_PATH . '/' . $filename . '.txt'

    if(file_exists( $file )) {

      猛棚拦  echo file_get_contents( $file )

    } else {

        echo '文和慧件不存枝胡在'

    }

})


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8168141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存