我的目录结构:
bencode_test-
|--> BEncode.php
|--> bencode_test.php
|--> ubuntu-15.10-desktop-amd64.iso.torrent
my code:
<?php
require 'BEncode.php';
$bcoder = new BEncode();
$torrent = $bcoder->bdecode( File::get('ubuntu-15.10-desktop-amd64.iso.torrent'));
var_dump($torrent);
?>
我从this Github account获得了BEncode.php。
当我从命令行运行我的代码bencode_test.php时,我得到的错误是:
PHP Fatal error: Class 'BEncode' not found in /home/user/bencode_test/bencode_test.php on line 3
有人能告诉我我做错了吗?
答案 0 :(得分:0)
调用类应该是这样的
你的文件夹看起来像这样
bencode_test # calling function from here
|--> BEncode.php
|--> bencode_test.php
|--> ubuntu-15.10-desktop-amd64.iso.torrent
index.php # code
所以在BEncode.php里面
public function myName($value)
{
$name = "My Name is :".$value;
return $name
}
所以在index.php里面
<?php
require './bencode_test/BEncode.php';
$bcoder = myName("Ab");
//$torrent = $bcoder->bdecode( File::get('ubuntu-15.10-desktop-amd64.iso.torrent'));
//var_dump($torrent);
?>
答案 1 :(得分:0)
file you linked on GitHub位于命名空间中。您必须在文件::
的开头为类添加别名<?php
use Bhutanio\BEncode\BEncode;
?>
总之:
<?php
use Bhutanio\BEncode\BEncode;
require 'BEncode.php';
$bcoder = new BEncode();
$torrent = $bcoder->bdecode( File::get('ubuntu-15.10-desktop-amd64.iso.torrent'));
var_dump($torrent);
或者,如果您不想添加别名,请使用完全限定的类名:
<?php
require 'BEncode.php';
$bcoder = new Bhutanio\BEncode\BEncode();
$torrent = $bcoder->bdecode( File::get('ubuntu-15.10-desktop-amd64.iso.torrent'));
var_dump($torrent);
?>