观察代码

//银联支付类调用初始化
  use Vendor\UnionPay\UnionPayUserV1; // 导入外部框架的类

    public function UoionPayInit() {
        $client = new \UnionPayV1();  // 这里\的作用是什么?
        $this->client=$client;
    }

函数测试

加 \ 可以调用指定命名空间下的函数, 如果只是单独的一个 \ 就是调用根命名空间下的函数。

namespace Test;
  function func(){
	echo 'namespace - Test';
  }
  namespace TXT;
  function func(){
	  echo 'namespace - TXT';
  }
  
  // \func(); //输出  Fatal error: Call to undefined function func() in D:\phpStudy\WWW\ppp.php on line 94
  // TXT\func(); //输出 Fatal error: Call to undefined function TXT\TXT\func() in D:\phpStudy\WWW\ppp.php
  // \TXT\func(); //输出 namespace - TXT
  \Test\func(); //输出 namespace - Test

测试类

利用PHP内置类进行测试 PHP Manualen

  <?php
namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller
{
    public function index()
    {
        $this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>!</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
    }
	
	/*public function Test(){
		$stream = new HttpInflateStream;
		echo $stream->update('String');
		echo $stream->finish(); //输出 Class 'Home\Controller\HttpInflateStream' not found
	}*/

  public function Test(){
		$stream = new \HttpInflateStream;
		echo $stream->update('String');
		echo $stream->finish();  //输出 Class 'HttpInflateStream' not found
	}
}

结论

和命名空间有关,因为所需要的银联里面没有用到命名空间,框架中启用了,会在当前命名空间中寻找这个类,找不到会报错。

posted on 2022-05-07 17:17  depressiom  阅读(0)  评论(0编辑  收藏  举报