繁体   English   中英

如何修复codeIgniter中的此错误?

[英]How to fix this error in codeIgniter?

我笨整合与智者的观点,我得到这个致命错误:无法访问受保护的属性CI_Output::$final_output/CodeIgniter_2.1.0/application/libraries/smarty_parser.php上线83。

我在google上搜索,然后发现它protected $final_output; // in CodeIgniter_2.1.0/system/core/Output.php line no. 37 protected $final_output; // in CodeIgniter_2.1.0/system/core/Output.php line no. 37

当我更改为: public $final_output; // working fine public $final_output; // working fine

我担心的是更改CodeIgniter核心文件是否很好,还是将来会引起任何错误?

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

在这种情况下,只需要进行一次更改,但是您认为您又要更改几行,您是否还记得所有更改以再次进行?

我的建议是,在Code Igniter错误跟踪器https://github.com/EllisLab/CodeIgniter/issues中打开一个问题,评论您的情况并寻求帮助。 如果仍然需要进行更改,请编写一个包含更改的补丁文件,并将其放入具有描述性名称的原始文件的同一文件夹中。 这样,您可以在每次更新系统时应用补丁。

CodeIgniter是开源的,因此,如果您认为这样做是对的,则可以根据需要修改它。 我一直在修改我的。 通常,将某事设为公共函数不会引起重大问题,但是您可以考虑保留现有的私有final_output()并在Output.php中建立一个新的公共函数,以供Smarty访问。 您可以将其作为核心的扩展。 更多信息在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM