类 当用户未访问时自动加载站点 index.php
classes autoload in a site when user come not to index.php
在简单的情况下,我有一个包含一些页面的站点:index.php、registration.php、order.php, product-page.php, 等等 所以,我也有.. 也许,logging_class.php。我在 index.php 中写了 class 自动加载函数,如下所示:
spl_autoload_register(function ($className) {
return require_once $className . ".php";
});
这就是为什么我认为 index.php 之后的所有脚本都会自动包含 classes(在那种情况下是 logging_class.php)。但是,如果用户绕过主页从 google 转到产品页面,则 index.php 不会被执行。所以,product-page.php 对 class 自动加载一无所知。
在每个脚本中编写相同的函数是不正确的方法。也许,编写 autoload.php 并将其包含在我需要使用 class 的任何脚本中是正确的。但是我的项目的不同部分会有很多包含字符串。
那么,有没有办法在不包括autoload.php[=32=的服务器脚本中自动执行index.php ] 在每个脚本中?
如果您的网站有多个入口点(index.php、registration.php、order.php、产品-page.php 等),最好的解决方案是创建 "autoload.php" 并将其包含在任何地方,就像您写的那样。
还有其他解决方案,例如 auto_prepend_file - 但它们会使您的解决方案变少 "readable"(个人意见)。
此外,也许最好不要将其命名为 "autoload.php",而应命名为 "common.php" 或 "bootstrap.php",因为它很可能还会包括其他通用代码,而不仅仅是自动加载器。
在简单的情况下,我有一个包含一些页面的站点:index.php、registration.php、order.php, product-page.php, 等等 所以,我也有.. 也许,logging_class.php。我在 index.php 中写了 class 自动加载函数,如下所示:
spl_autoload_register(function ($className) {
return require_once $className . ".php";
});
这就是为什么我认为 index.php 之后的所有脚本都会自动包含 classes(在那种情况下是 logging_class.php)。但是,如果用户绕过主页从 google 转到产品页面,则 index.php 不会被执行。所以,product-page.php 对 class 自动加载一无所知。
在每个脚本中编写相同的函数是不正确的方法。也许,编写 autoload.php 并将其包含在我需要使用 class 的任何脚本中是正确的。但是我的项目的不同部分会有很多包含字符串。
那么,有没有办法在不包括autoload.php[=32=的服务器脚本中自动执行index.php ] 在每个脚本中?
如果您的网站有多个入口点(index.php、registration.php、order.php、产品-page.php 等),最好的解决方案是创建 "autoload.php" 并将其包含在任何地方,就像您写的那样。
还有其他解决方案,例如 auto_prepend_file - 但它们会使您的解决方案变少 "readable"(个人意见)。
此外,也许最好不要将其命名为 "autoload.php",而应命名为 "common.php" 或 "bootstrap.php",因为它很可能还会包括其他通用代码,而不仅仅是自动加载器。