для моей WebPanel я создал библиотеку, я могу без проблем установить ее через композитор, но когда я хочу реализовать свой интерфейс под названием View, я получил следующее сообщение об ошибке:
`2017/06/22 16:00:22 [error] 23179#23179: *120 FastCGI sent in stderr: "PHP
message: PHP Fatal error: Interface 'RaphaelScheinkoenig\WebLib\View' not
found in /var/www/site/app/view/DashboardView.php on line 10" while reading
response header from upstream, client: 88.xx.xxx.xxx, server:
xxxxxx.xxxxxx.xxxxx, request: "GET /dashboard HTTP/1.1", upstream:
"fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "xxxxxx.xxxxxx.xxxxx"`
Composer.json библиотеки:
`{
"name": "raphaelscheinkoenig/weblib",
"description": "WebLib",
"license": "MIT",
"authors": [
{
"name": "Raphael Scheinkoenig",
"email": "[email protected]"
}
],
"minimum-stability": "stable",
"require": {
"php": ">=7.0.0"
},
"autoload": {
"psr-0": {
"RaphaelScheinkoenig\\WebLib\\": "src/"
}
}
}`
Дерево папок библиотеки: http://prntscr.com/fmwu6o
View.php библиотеки:
`<?php
namespace RaphaelScheinkoenig\WebLib;
interface View{
public function getTitle():string;
public function getCSSPlugins():string;
public function getJsHeadScripts():string;
public function getContent():string;
public function getJSPlugins():string;
public function getActiveHeader():string;
public function getPluginInitialization():string;
public function getGoogleAnalytics():string;
public function getHeaderKey():string;
public function getFooter():string;
public function getPageHeader():string;
}`
Реализация DasbordView.php в веб-панели:
require_once ($_SERVER["P_PATH"]."vendor/autoload.php");
class DashboardView implements RaphaelScheinkoenig\WebLib\View
{
public function getTitle():string{
return "Dashboard";
}
public function getCSSPlugins():string{
$str = '<link rel="stylesheet" href="'.$_SERVER['P_PATH'].'assets/globals/css/plugins.css">';
return $str;
}
public function getPageHeader():string{
return "Dashboard";
}
public function getJsHeadScripts():string{
return "";
}
public function getContent():string{
// TODO: Implement getContent() method.
}
public function getJSPlugins():string{
$str = '<script src="'.$_SERVER['P_PATH'].'assets/admin1/js/layout.js"></script>';
return $str;
}
public function getActiveHeader():string{
return "Dashboard";
}
public function getPluginInitialization():string{
$str = "<script>
$(document).ready(function () {
Layout.init();
});
</script>";
return $str;
}
public function getGoogleAnalytics():string{
$str = "";
return $str;
}
public function getHeaderKey():string{
return "Dashboard";
}
public function getFooter():string{
$str = '';
return $str;
}}
` Заранее спасибо за помощь.
Рафаэль Шейнкениг