为什么CodeIgniter中的视图文件以.php扩展名保存?

为什么CodeIgniter中的视图文件以.php扩展名保存?,codeigniter,Codeigniter,从CodeIgniter文档中,我注意到视图文件是以.php扩展名保存的,即使它们只包含html。这背后有逻辑原因吗?Codeigniter是一个PhP框架,因此它假设用户(最终)将使用PhP 另外,总是使用.php而不是.html也不一定是坏习惯,因为.php可以很好地处理html。可以将其视为代码的未来证明。使用.php扩展名的一个优点是,可以将服务器配置为不显示文件内容。换句话说,最终输出到浏览器(作为html)的文本行(php代码)无法直接看到。这通过对网站用户隐藏实现细节提供了一层安全

从CodeIgniter文档中,我注意到视图文件是以
.php
扩展名保存的,即使它们只包含
html
。这背后有逻辑原因吗?

Codeigniter是一个PhP框架,因此它假设用户(最终)将使用PhP


另外,总是使用.php而不是.html也不一定是坏习惯,因为.php可以很好地处理html。可以将其视为代码的未来证明。

使用.php扩展名的一个优点是,可以将服务器配置为不显示文件内容。换句话说,最终输出到浏览器(作为html)的文本行(php代码)无法直接看到。这通过对网站用户隐藏实现细节提供了一层安全性。

因为Codeigniter是一个PHP MVC(模型-视图-控制器)框架。视图文件是.php,因为它们使用php脚本。这是想法,但不是强制性的。您可以包含纯HTML。视图文件由“不带扩展名的视图名称”调用

仅使用.php扩展名保存视图文件不是强制性的,我们也可以将它们保存为HTML文件,但要加载HTML视图,我们还需要使用扩展名指定文件名,如
$this->load->view('my_view.HTML')

此外,您还可以查看此链接以了解相同的讨论

Q:当我们加载CodeIgniter中的任何类时,就像加载模型一样,在控制器中加载库,而不指定其扩展名,因此CodeIgniter如何加载具有该名称的确切文件

A:对于这一点,CodeIgniter中定义了一些系统函数,这些函数使用我们传递的类名连接.php扩展名,例如
$this->load->library('form\u validation')

例如:如果您可以在
system/core/Common.php
第141行函数中检查系统文件,那么CodeIgniter 3实际如何加载自由库
load_类
用于图书馆

因此它将加载
system/libraries/Form\u validation.php
文件

我希望这能让您明白为什么要在CodeIgniter中查看文件,并以.php扩展名保存