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

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

WBOY
WBOYOriginal
2016-06-23 14:38:44873Durchsuche


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;  }}?>




回复讨论(解决方案)

请具体贴出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;  }}?>


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;?>

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php表单提交的问题Nächster Artikel:关于简化代码。求大神指导