我想创建一个基本的web应用程序,使用composer.json自动加载类似框架,但我没有。
这是我的文件夹结构(项目名称为minisafe)
-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
root目录中的composer.json如下:
{
"require": {
"firebase/php-jwt": "^4.0"
},
"autoload": {
"psr-4": {
"App\\": "app/",
}
}
}
Application.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/"
}
}
}
bootload文件夹中的app.php如下:
<?php
$app = new Application\Application(realpath(__DIR__.'/../'));
这不起作用并且出现此错误。请帮帮我......
答案 0 :(得分:0)
您忘记包含composer autoload文件(在index / app.php文件中):
require_once __DIR__.'/../vendor/autoload.php';
我在供应商目录中没有看到它。
答案 1 :(得分:-1)
我修好了。
我创建一个名为packages的文件夹并传输到其中的atlas文件夹并添加composer.json psr-4部分
&#34;包\&#34;:&#34;包\图谱\ hanik \ SRC \&#34;
并使用如:
$ app = new Hanik \ Application \ Application(realpath( DIR 。&#39; /../'));
返回$ app;
这就是全部:) :)感谢大家