Php 如何修复codeIgniter中的此错误?

Php 如何修复codeIgniter中的此错误?,php,smarty,codeigniter-2,Php,Smarty,Codeigniter 2,我把codeIgniter和smarty集成在一起,我看到了这个 致命错误:无法访问第83行的/CodeIgniter\u 2.1.0/application/libraries/smarty\u parser.php中的受保护属性CI\u输出::$final\u Output 我在谷歌上搜索了一下,然后发现是这样的 受保护的$final\u输出;//在CodeIgniter_2.1.0/system/core/Output.php第37行中 当我改为: public$final_输出;//工作

我把codeIgniter和smarty集成在一起,我看到了这个 致命错误:无法访问第83行的
/CodeIgniter\u 2.1.0/application/libraries/smarty\u parser.php中的受保护属性
CI\u输出::$final\u Output

我在谷歌上搜索了一下,然后发现是这样的
受保护的$final\u输出;//在CodeIgniter_2.1.0/system/core/Output.php第37行中

当我改为:
public$final_输出;//工作罚款


我担心的是,更改CodeIgniter核心文件是好的还是会在将来导致任何错误?

CodeIgniter与其他框架和库一样,不应该手动更改,因为您无法对系统进行更新(如果更新系统,public$final_output;将更改为private$final_output;您需要再次进行更改)

在这种情况下,只需要一次更改,但如果您再更改几行,您会记住所有更改以再次执行吗


我的建议是,在Code Igniter bug tracker中打开一个问题,评论您的情况并寻求帮助。如果尽管如此,您仍需要进行更改,请编写一个包含更改的修补程序文件,并用描述性名称将其放在原始文件的同一文件夹中。这样,您可以在每次更新系统时应用修补程序。

e Igniter与其他框架和库一样,不应手动更改,因为您失去了对系统进行更新的可能性(如果您更新系统,public$final_output;将更改为private$final_output;您需要再次进行更改)

在这种情况下,只需要一次更改,但如果您再更改几行,您会记住所有更改以再次执行吗


我的建议是,在Code Igniter bug tracker中打开一个问题,评论您的情况并寻求帮助。如果尽管如此,您仍需要进行更改,请编写一个包含更改的修补程序文件,并用描述性名称将其放在原始文件的同一文件夹中。这样,您可以在每次更新系统时应用修补程序。

EIGITER是开源的,如果你认为它是正确的事情,你可以修改它。我一直都在修改我的东西。使某个公共功能通常不会引起重大问题,但是你可以考虑离开现有的私有终结符()。单独在Output.php中创建一个新的公共函数供Smarty访问。您可以将其作为核心的扩展。更多信息是。

CodeIgniter是开源的,如果您认为这样做是正确的,您可以根据需要对其进行修改。我一直在修改我的函数。将某个公共函数创建为公共函数通常不会导致重大问题但是,您可以考虑单独离开现有的私有FialLoOutOutlook(),并在Output.php新建一个公共功能,仅用于SMARTY访问。您可以将其作为对核心的扩展。更多信息是: