2016-12-08 5 views
1

Я пытаюсь реализовать a PHP Library for detecting CMS Я нашел на github, но я не могу на всю жизнь понять это.php - Класс не найден (composer.json)

Я новичок в php и composer, но я установил композитор в свой каталог, а затем обновил json в соответствии с инструкциями, но он не может найти классы, несмотря на то, что все они находятся в каталоге.

работает этот код

include(__DIR__ . "/vendor/autoload.php"); 
$domain = "http://google.com"; 
$cms = new DetectCMS($domain); 
if($cms->getResult()) { 
    echo "Detected CMS: ".$cms->getResult(); 
} else { 
    echo "CMS couldn't be detected"; 
} 

дает мне эту ошибку

PHP Fatal error: Uncaught Error: Class 'DetectCMS' not found in D:\Projects\Scraper\ccc.php:12 
Stack trace: 
#0 {main} 
    thrown in D:\Projects\Scraper\ccc.php on line 12 

вот моя структура файла:

File structure

бы кто-нибудь есть какие-либо идеи, что я делаю неправильно с этой информацией? Заранее спасибо

+0

Вы включили пространство имен? –

+0

, чтобы быть полностью честным, я не уверен на 100%, что пространства имен еще нет, поэтому я предполагаю, что нет – mint

+0

использовать DetectCMS; Добавьте эту строку в свой файл после

ответ

1

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

в вашем composer.json

"autoload": { 
    "psr-4" :{"DetectCMS": "DetectCMS"} 
} 

после вашего класса DetectCMS .php:

<?php 
    use DetectCMS\DetectCMS; 

или

<?php 

$loader = require 'vendor/autoload.php'; 
$loader->add('DetectCMS', __DIR__.'DetectCMS'); 
+0

Я не совсем уверен, что вы имеете в виду - не могли бы вы разработать? – mint

+0

в вашем composer.json –

+0

в вашем composer.json «autoload»: { "psr-4": {"App \\": " App "} } –

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