我正在尝试自动加载文件并为我的应用设置一个入口点。我没有使用框架,使用OOP。 我的composer.json文件是:
{
"require": {
"tebazil/db-seeder": "^0.0.0"
},
"autoload": {
"psr-4": {
"vendor\\": "vendor/",
"App\\": "src/classes/"
},
"files": [
"src/functions.php"
]
}
}
在这个文件中的functions.php我想包含vendor / autoload.php文件。 我不确定如何为应用程序创建此入口点,并且需要此供应商/自动加载文件,因为我已将框架用于此目标。
这是functions.php的当前内容,但是在渲染index.html视图文件时还有另一个问题,但是有一个ajax请求。 但是,为应用程序创建引导文件并自动加载必要文件的正确方法是什么?
<?php
namespace App;
require_once __DIR__ . '/../vendor/autoload.php';
use App\Db;
use App\User;
class Functions
{
public function render()
{
ob_start();
include(__DIR__ . '/../index.html');
$content = ob_get_contents();
ob_end_clean();
echo $content;
}
}
if(!($_GET && array_key_exists('name', $_GET))) {
$functions = new Functions();
$functions->render();
}
if($_GET && array_key_exists('name', $_GET)){
$user = new User();
$users = $user->getUsers();
}
答案 0 :(得分:1)
据我所知,你不需要在作曲家中注册“functions.php”。您的申请可能具有以下结构:
- app_folder/
- src/
- classes/
- index.html
- public/
- functions.php
- vendor/
- ...
其中“functions.php”文件用作应用程序入口点。将您的Web服务器指向“public”文件夹,因此您的php代码可以访问所有其他文件,但不能访问用户。
您可以在“functions.php”中实现路由或类似任务,并将模型和视图等组件放到“src”中,您将获得简单但结构化的应用程序。