SugarCRM中每个文件中第一行的含义是什么

时间:2014-03-05 10:25:40

标签: sugarcrm

if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

SugarCRM中每个文件的第一行出现的行的含义是什么。

1 个答案:

答案 0 :(得分:6)

SugarCRM通过index.php加载几乎所有功能,因此您可以在整个系统中看到像index.php?module=Accounts&action=index这样的URI。

大多数SugarCRM版本在index.php的第一行中定义sugarEntry(一个PHP Constant),紧接在PHP开启之后。这告诉应用程序中的后续文件,您的浏览器请求确实首先请求index.php。

该行上的逻辑字面上指出:如果未定义sugarEntry或设置为false,则调用PHP die()将终止脚本的执行。

这直接禁止的是加载/modules/Accounts/ListView.php和类似命令的能力,这些命令会直接调用文件而不能正确加载底层类和函数以正确显示页面。它还强制执行系统的某些安全性和结构。

其他有效的sugarEntry点

cron.php是执行预定作业的系统的入口点,通常由Linux系统的cron或Windows的任务计划程序访问。 run_job.php似乎是相似的,虽然我从来没有见过这个被调用或使用过,所以它可能是一个传统的作品。

soap.php是SOAP API的遗留入口点

services/*/rest.phpservices/*/soap.php是各种版本的更新SOAP和REST API的有效入口点。

重点是,“进入”SugarCRM的方式非常有限,而且软件希望非常明确地说明允许哪些路径,哪些路径不允许。