如何使CakePHP加载我的<project_root> / src目录而不是vendor / maiconpinto / cakephp-adminlte-theme / src

时间:2019-02-15 04:03:12

标签: php cakephp dashboard vendor ampps

摘要:
我是Web和后端newb,但基本上我已经继承了CakePHP项目,并且试图建立开发环境。我正在尝试在 http:// localhost / backend / 中显示项目级别的src目录,该目录会自动路由到 http:// localhost / backend / admin / users / dashboard ,但仅加载PROJECT_ROOT / vendor / maiconpinto / cakephp-adminlte-theme / src。

问题:
如何使用顶级src目录加载自己的侧边栏?提前谢谢!
以下是所需的侧边栏:correct myteamconnector sidebar
这是要加载的边栏:incorrect vendor files sidebar

设置信息:
系统:Mac OS 10.14 开发应用程序:

  • AMPPS v3.8
  • Apache v2.4.27
  • PHP v7.1
  • MySQL v5.6.37
  • CakePHP v3.5.17

PROJECT_ROOT / index.php:

require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';

PROJECT_ROOT / webroot / index.php:

// Check platform requirements
require dirname(__DIR__) . '/config/requirements.php';

// For built-in server
if (php_sapi_name() === 'cli-server') {
    $_SERVER['PHP_SELF'] = '/' . basename(__FILE__);

    $url = parse_url(urldecode($_SERVER['REQUEST_URI']));
    $file = __DIR__ . $url['path'];
    if (strpos($url['path'], '..') === false && strpos($url['path'], '.') !== false && is_file($file)) {
        return false;
    }
}
require dirname(__DIR__) . '/vendor/autoload.php';

use App\Application;
use Cake\Http\Server;

// Bind your application to the server.
$server = new Server(new Application(dirname(__DIR__) . '/config'));

// Run the request/response through the application and emit the response.
$server->emit($server->run());

1 个答案:

答案 0 :(得分:0)

已解决 问题是composer.json文件指定了"maiconpinto/cakephp-adminlte-theme": "^1.0",因此安装了v1.1.0,这取决于Cakephp版本是否为<或> = 3.5,因此需要不同的实现。 因此,在composer.json文件中指定"maiconpinto/cakephp-adminlte-theme": "1.0.8"会安装以前的版本,该版本与我的仓库中的实现兼容。 由于工作版本中的某些原因,composer.json文件和vendor文件夹之间不匹配(即vendor文件夹包含一堆composer.json文件没有的插件),只要您没有运行我的同事没有做过的作曲家更新。