2015-12-06 5 views
1

Моя структура каталогов:Как использовать этот класс PHP в моем коде?

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

Я получил BEncode.php от this Github account.

Когда я запускаю мой код, bencode_test.php из командной строки, то ошибка, я получаю:

PHP Fatal error: Class 'BEncode' not found in /home/user/bencode_test/bencode_test.php on line 3 

Может кто-нибудь сказать мне, что я делаю неправильно?

ответ

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); 
?> 
+0

Спасибо, Абдулла. Можете ли вы рассказать мне, почему создатель использовал новый оператор на своем README.md? – user465001

+0

http://stackoverflow.com/questions/8655937/what-is-the-difference-between-readme-and-readme-md-in-github-projects –

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); 
?> 
+0

Спасибо, что объяснили это, Pemap. – user465001

Смежные вопросы