我想创建一个基本的Web应用程序使用Composer.json自动加载,就像框架一样,但我没有。
这是我的文件夹结构(项目名称为迷你安全(
-minisafe
|-app
|--models
|--controllers
|--views
|-bootload
|--app.php
|--autoload.php
|-public
|--index.php
|--.htaccess
|-vendor
|--atlas
|---hanik
|----src
|-----Application
|------Application.php
|----composer.json
|--composer
|---...
|-composer.json
|-composer.lock
根目录中的 composer.json 如下:
{
"require": {
"firebase/php-jwt": "^4.0"
},
"autoload": {
"psr-4": {
"App\": "app/",
}
}
}
应用.php如下:
<?php namespace Application;
class Application {
function __construct()
{
echo 'asd';
}
}
atlas/hanik 文件夹中的 composer.json 如下:
{
"require-dev": {
"phpunit/phpunit": "4.0.*"
},
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-0": {
"Application\": "src/"
}
}
}
app.php 在引导加载文件夹中如下所示:
<?php
$app = new ApplicationApplication(realpath(__DIR__.'/../'));
这不起作用并出现此错误。 请帮助我...
错误详细信息
您忘记包含作曲家自动加载文件(在您的索引/应用程序.php文件中(:
require_once __DIR__.'/../vendor/autoload.php';
而且我在您的供应商目录中看不到它。
我修复了它。
我创建了一个名为"包"的文件夹,并传输到其中的阿特拉斯文件夹,并添加 composer.json PSR-4 部分
"包">:"包\阿特拉斯\哈尼克\src\">
并像 :
$app = new Hanik\Application\Application(realpath(DIR."/../'));
返回$app;
仅此而已:)...谢谢大家