php使用amf3与flex通讯,所有内容都要写在类和类的函数中么,require(/includes/sq_init.php)不支持么?全局变量也不可以用?

WBOY
Release: 2016-06-23 14:38:44
Original
868 people have browsed it


php使用amf3与flex通讯
位置amfphp-2.1.1/Amfphp/Services/HelloWorld.php

<?phprequire('/includes/init.php');    //这行好像不行class HelloWorld{  public function sayHelloWorld($value) {   $GLOBALS['db'] ;     //这行好像也不行啊  echo $value;  return " AMF-RPC for PHP".$value;  }}?>
Copy after login




回复讨论(解决方案)

请具体贴出init.php代码。

global $db;

引用的文件路径是否正确,检查一下,可能是这个原因导致下面的全局变量也无效!

require('/includes/init.php')
应该是你的路径不对...

所有调用的函数都需要在定义类中去写,amfphp有界面,都是通过类的方式 去调用的...

require('/includes/init.php')
应该是你的路径不对...
改正路径了,貌似还是不行

HelloWorld.php

<?phpdefine('ROOT_PATH', str_replace('amfphp-2.1.1/Amfphp/Services/HelloWorld.php', '', str_replace('\\', '/', __FILE__)));require(ROOT_PATH . '/includes/sq_init.php'); class HelloWorld{  public function sayHelloWorld($value)  {   GLOBALS $db ;   echo $value;   return " AMF-RPC for PHP".$value;  }}?>
Copy after login


sq_init.php
<?php/**2013-12-01 */if (!defined('IN_ECS')){    die('Hacking attempt');}/* 取得当前ecshop所在的根目录 */define('ROOT_PATH', str_replace('includes/sq_init.php', '', str_replace('\\', '/', __FILE__)));/* 初始化设置 */@ini_set('memory_limit',          '64M');@ini_set('session.cache_expire',  180);@ini_set('session.use_trans_sid', 0);@ini_set('session.use_cookies',   1);@ini_set('session.auto_start',    0);@ini_set('display_errors',        1);if (DIRECTORY_SEPARATOR == '\\'){    @ini_set('include_path', '.;' . ROOT_PATH);}else{    @ini_set('include_path', '.:' . ROOT_PATH);}require(ROOT_PATH . 'data/config.php');require(ROOT_PATH . 'includes/inc_constant.php');require(ROOT_PATH . 'includes/cls_ecshop.php');require(ROOT_PATH . 'includes/lib_base.php');/* 创建 ECSHOP 对象 */$ecs = new ECS($db_name, $prefix);define('DATA_DIR', $ecs->data_dir());define('IMAGE_DIR', $ecs->image_dir());/* 初始化数据库类 */require(ROOT_PATH . 'includes/cls_mysql.php');$db = new cls_mysql($db_host, $db_user, $db_pass, $db_name);$db->set_disable_cache_tables(array($ecs->table('sessions'), $ecs->table('sessions_data'), $ecs->table('cart')));$db_host = $db_user = $db_pass = $db_name = NULL;?>
Copy after login

可以了,感谢楼上各位。
我代码2个错误,
1.是require路径不对。
2.是GLOBALS $db ; 中要小写。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template