apinephp/legacy-framework

APIne是一个简单易用的模块化MVC框架,适用于作为RESTful API使用。

1.2.25 2018-08-13 20:14 UTC

This package is auto-updated.

Last update: 2024-09-14 10:01:12 UTC


README

APIne是一个简单易用的模块化MVC框架,适用于作为RESTful API使用。它旨在成为一个通用的框架,并作为一个RESTful服务提供基本的会话管理、身份验证、路由和数据库抽象,而不包括无用的工具。APIne的重点是让您工作,而无需重新学习PHP。

您完全可以仅使用APIne的路由系统和MVC方法,然后使用您最喜欢的PHP库来处理其他一切。

APIne已经实现了一个全面的会话管理器、一个基本但有效的实体管理器以及TWIG作为其模板管理器——足以启动任何类型的项目。

要求

  • PHP 5.6或更高版本,并启用PDO扩展
  • MySQL 5.6或MariaDB 10.1或更高版本
  • Apache 2.4,并启用mod_rewrite模块

使用APIne的项目必须安装在每个主机根目录下,并且主机必须包含允许覆盖默认设置的指令“AllowOverride FileInfo Options Indexes”。PHP用户还必须对项目目录有写入权限。

APIne官方不支持任何其他HTTP服务器(nginx、lighttpd等)。如果您使用这些服务器之一,您可能需要修改服务器的配置。

安装

APIne框架可以作为Packagist上的Composer包以及独立项目使用。

使用Composer

将以下行添加到您的composer.json文件中:"apinephp/legacy-framework": "^1.2"。或者输入以下命令:$ composer require apinephp/legacy-framework

独立版本

在您的工作目录中克隆此存储库:$ git clone https://gitlab.com/apinephp/legacy-framework.git。然后切换到最新稳定版本的分支:git checkout 1.2.x

快速启动项目

要快速启动一个新项目,请在浏览器中执行位于http://[您的项目域名]/legacy-framework/install.php(如果独立使用APIne)或http://[您的项目域名]/vendor/apinephp/legacy-framework/install.php(如果作为Composer包使用)的助手,并按照步骤操作。助手将自动生成基本配置、空的语言文件、.htaccess文件和一个基本index.php文件。如果您使用的是独立版本,助手还将自动下载Composer的二进制文件。

助手还将尝试导入一些对APIne操作至关重要的表。请确保在启动助手之前已经创建了数据库,并且从项目角度可以访问数据库。

如果您运行的是APIne的独立版本,请在助手完成后使用此命令安装依赖项:$ php composer.phar install

手动启动项目

首先,为了使用APIne框架,您必须将此文件复制到项目的根目录

  • apine-framework/Installation/htaccess_template.php

然后替换PHP标签为APIne的路径。如果您使用APIne作为Composer包,这将是以/vendor/apinephp/legacy-framework开头。如果您使用的是独立APIne,这可能是以/legacy-framework开头。并将文件重命名为.htaccess

接下来,创建一个index.php文件,并在其中添加以下内容

require_once 'vendor/autoload.php'; // If APIne is a Composer package
//require_once 'legacy-framework/Autoloader.php'; // If APIne is standalone

$loader = new Apine\Autoloader();
$loader->register();

$apine = new Apine\Application\Application();
$apine->set_mode(APINE_MODE_DEVELOPMENT);
$apine->run(APINE_RUNTIME_HYBRID);

最后,您需要创建一个名为config.ini的文件,其中将包含各种配置信息。在您的配置文件中完成以下内容

[application]
	title = "Project Name"
	author = "Author Name"
	description = "Description"
[database]
	host = "localhost"
	type = "mysql"
	dbname = "projectdb"
	charset = "utf8"
	username = "root"
	password = ""
[localization]
	timezone_default = "America/New_York"
	locale_default = "en_US"
	locale_detection = "yes"
	locale_cookie = "no"
	locale_directory = "resources/languages"
[runtime]
	token_lifespan = "600"
	default_layout = "default"
[entity]
	adjust_timestamp = "yes"

了解更多信息

在以下链接中了解更多信息

支持

以下链接获取支持

许可协议

APIne 框架采用 MIT 许可协议进行分发。有关更多信息,请参阅许可文件