php - Require_once 跨不同文件,全局作用域

标签 php mysql variables scope require-once

我已经学习 PHP 几天了,我遇到了一个奇怪的问题。我有两个文件:

login.php 存储数据库访问数据(用户、密码、主机、数据库)
security.php 具有操作字符串/查询以防止 sql/xss 注入(inject)的功能,还存储用于密码散列的盐前缀和后缀。

然后我有我的 index.phpregister.phpsignin.php。我的问题是:当我将 require_once '../login.php'; 放入 register.php 时,我通常可以调用变量或函数,如 $var。另一方面,signin.php 中完全相同的模式不起作用,PHP 告诉变量未声明。我尝试这样做:global $var,它正在工作,但我觉得它完全不安全。

1)解决这个问题的正确方法是什么?
2)与应用架构有关吗?
3) 所有使用数据库连接的函数(等等)是否应该写在一个文件中?

最佳答案

第 1 步 - 创建一个 php 文件,将所有数据库连接写入其中(示例 - db.php)
第 2 步 - 在任何与数据库相关的操作中包含此 php (db.php)。

require 'db.php';  //add your database php file here..


当您将应用程序从一台服务器迁移到另一台服务器时,这将很容易组织,并最大限度地减少错误 在 php 中有 require 和 include。 require 很好,因为如果文件不可用,它将停止执行代码。

这也很容易组织,并最大限度地减少了从一台服务器迁移到另一台服务器时造成的错误

关于php - Require_once 跨不同文件,全局作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31315477/

相关文章:

java - 使用 php 打开进程并在请求之间保持打开状态

php - Symfony 按角色查找用户(JSON 数组 Doctrine 属性)

java - 监听MySQL数据库的变化并自动更新前端,无需显式刷新前端

java - 变量未在函数中初始化

php - PHP和mysql中按时间自动更改变量

php - Laravel4 - 尝试创建类似部件的小部件,它将传递/接受参数以获取正确的数据

php - 如何使用 tcpdf 将条形码写入单元格

mysql - 管理员 - SQLSTATE[HY000] [2002] 没有这样的文件或目录

Php If 语句没有给出正确的回显 - 逻辑错误

Python:提取特定列数据并将其存储到变量中