在框架之外的PHP文件中调用OpenCart库函数
发布时间:2020-05-26 02:19:59 所属栏目:PHP 来源:互联网
导读:在控制器中,我可以轻松调用这样的函数 $this - user-login(username,password); 但是在单独的PHP文件框架之外,我该如何访问该方法?我试过这样的东西,但它不起作用: include($_SERVER[DOCUMENT_ROOT]./mydir/opencart/system/library/user.php);$userobj=new
|
在控制器中,我可以轻松调用这样的函数 $this -> user->login('username','password');
但是在单独的PHP文件框架之外,我该如何访问该方法?我试过这样的东西,但它不起作用: include($_SERVER['DOCUMENT_ROOT'].'/mydir/opencart/system/library/user.php');
$userobj=new User();
$userobj->login('username','password');
你能帮忙吗? 编辑/更新:这是我的startup.php文件中的内容: <?php
// Error Reporting
error_reporting(E_ALL);
// Check Version
if (version_compare(phpversion(),'5.1.0','<') == true) {
exit('PHP5.1+ Required');
}
// Register Globals
if (ini_get('register_globals')) {
ini_set('session.use_cookies','On');
ini_set('session.use_trans_sid','Off');
session_set_cookie_params(0,'/');
session_start();
$globals = array($_REQUEST,$_SESSION,$_SERVER,$_FILES);
foreach ($globals as $global) {
foreach(array_keys($global) as $key) {
unset(${$key});
}
}
}
// Magic Quotes Fix
if (ini_get('magic_quotes_gpc')) {
function clean($data) {
if (is_array($data)) {
foreach ($data as $key => $value) {
$data[clean($key)] = clean($value);
}
} else {
$data = stripslashes($data);
}
return $data;
}
$_GET = clean($_GET);
$_POST = clean($_POST);
$_REQUEST = clean($_REQUEST);
$_COOKIE = clean($_COOKIE);
}
if (!ini_get('date.timezone')) {
date_default_timezone_set('UTC');
}
// Windows IIS Compatibility
if (!isset($_SERVER['DOCUMENT_ROOT'])) {
if (isset($_SERVER['SCRIPT_FILENAME'])) {
$_SERVER['DOCUMENT_ROOT'] = str_replace('','/',substr($_SERVER['SCRIPT_FILENAME'],0 - strlen($_SERVER['PHP_SELF'])));
}
}
if (!isset($_SERVER['DOCUMENT_ROOT'])) {
if (isset($_SERVER['PATH_TRANSLATED'])) {
$_SERVER['DOCUMENT_ROOT'] = str_replace('',substr(str_replace('\','',$_SERVER['PATH_TRANSLATED']),0 - strlen($_SERVER['PHP_SELF'])));
}
}
if (!isset($_SERVER['REQUEST_URI'])) {
$_SERVER['REQUEST_URI'] = substr($_SERVER['PHP_SELF'],1);
if (isset($_SERVER['QUERY_STRING'])) {
$_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
}
}
if (!isset($_SERVER['HTTP_HOST'])) {
$_SERVER['HTTP_HOST'] = getenv('HTTP_HOST');
}
// Helper
require_once(DIR_SYSTEM . 'helper/json.php');
require_once(DIR_SYSTEM . 'helper/utf8.php');
// Engine
require_once(DIR_SYSTEM . 'engine/action.php');
require_once(DIR_SYSTEM . 'engine/controller.php');
require_once(DIR_SYSTEM . 'engine/front.php');
require_once(DIR_SYSTEM . 'engine/loader.php');
require_once(DIR_SYSTEM . 'engine/model.php');
require_once(DIR_SYSTEM . 'engine/registry.php');
// Common
require_once(DIR_SYSTEM . 'library/cache.php');
require_once(DIR_SYSTEM . 'library/url.php');
require_once(DIR_SYSTEM . 'library/config.php');
require_once(DIR_SYSTEM . 'library/db.php');
require_once(DIR_SYSTEM . 'library/document.php');
require_once(DIR_SYSTEM . 'library/encryption.php');
require_once(DIR_SYSTEM . 'library/image.php');
require_once(DIR_SYSTEM . 'library/language.php');
require_once(DIR_SYSTEM . 'library/log.php');
require_once(DIR_SYSTEM . 'library/mail.php');
require_once(DIR_SYSTEM . 'library/pagination.php');
require_once(DIR_SYSTEM . 'library/request.php');
require_once(DIR_SYSTEM . 'library/response.php');
require_once(DIR_SYSTEM . 'library/session.php');
require_once(DIR_SYSTEM . 'library/template.php');
require_once(DIR_SYSTEM . 'library/openbay.php');
require_once(DIR_SYSTEM . 'library/ebay.php');
require_once(DIR_SYSTEM . 'library/amazon.php');
require_once(DIR_SYSTEM . 'library/amazonus.php');
?>
而不是这样做:
include($_SERVER['DOCUMENT_ROOT'].'/mydir/opencart/system/library/user.php'); (包括仅用户类),包括将从OpenCart加载所有系统类的startup.php(可能不需要或可能与您需要使用这些OpenCart类的项目范围发生冲突,但这可以在问题时修复发生).您还需要包含OpenCart的config.php,以确保OpenCart的DB类具有连接到已定义的DB所需的常量.您可能希望通过检查文件是否首先存在来以明确的方式执行此操作: $root = $_SERVER['DOCUMENT_ROOT'] . '/mydir/opencart/';
if (file_exists($root . 'config.php')) {
require_once($root . 'config.php');
}
if (file_exists($root . 'system/startup.php')) {
require_once($root . 'system/startup.php');
}
if (file_exists($root . 'system/library/user.php')) {
require_once($root . 'system/library/user.php');
}
然后您可以尝试登录您的用户: $user = new User();
if ($user->login('username','password')) {
echo 'User was logged in successfully';
} else {
echo 'User not found or username or password do not match.';
}
这将是一个代码示例. 请看一下admin / index.php,在创建User对象之前如何实例化所有必需的类. $registry = new Registry();
$loader = new Loader($registry);
$registry->set('load',$loader);
$config = new Config();
$registry->set('config',$config);
$db = new DB(DB_DRIVER,DB_HOSTNAME,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$registry->set('db',$db);
// ... do the same for rest of required classes ...
$user = new User($registry); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
