[英]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.