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

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

WBOY
Freigeben: 2016-06-23 14:38:44
Original
887 Leute haben es durchsucht


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;  }}?>
Nach dem Login kopieren




回复讨论(解决方案)

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


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;?>
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage