rbs1518 / selifa-core
Selifa Core 是适用于任何应用程序类型的基本 PHP 框架。它仅提供 PSR-4 类自动加载器、配置管理和异常管理。其配置与其他大多数 PHP 框架不同,因为它仅加载特定的配置文件或特定类。Selifa 的这个版本是对我之前包含完整框架的 Selifa 框架的重大重写。
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-09 18:23:40 UTC
README
简介
Selifa Core 是适用于任何应用程序类型的基本 PHP 框架。它仅提供 PSR-4 类自动加载器、配置管理和异常管理。其配置与其他大多数 PHP 框架不同,因为它仅加载特定的配置文件或特定类。Selifa 的这个版本是对我之前包含完整框架的 Selifa 框架的重大重写。
版本 1.0
使用说明
下载或将其存储库拉入您的项目。Selifa Core 只有少量文件,因此它不会使您的项目变得更大。对于简单的项目,您可以在 SELIFA_ROOT_PATH
常量中指定并包含 selifa.php
文件在 selifa
文件夹中。这就是全部。现在,您的项目有了使用 PSR-4 自动加载器的功能。只需将所有类放入 libraries
文件夹即可。
define('SELIFA_ROOT_PATH',dirname(__FILE__));
include('selifa/selifa.php`);
高级使用需要您创建自己的 selifa 初始化。别担心,这并不难。
- 首先,您需要定义一些常量。将这些常量放在其他一切之前。
define('SELIFA_TIME_STARTED',microtime(true)); define('SELIFA','v1.0'); define('SELIFA_NAME','Selifa');
- 然后,您需要定义 selifa 在您的文件系统中的位置。创建
SELIFA_ROOT_PATH
常量,指向您项目的基目录。
通常我们使用dirname
来自动化这个常量的值,但您也可以手动指定确切的路径。
注意:需要完整的路径名称。define('SELIFA_ROOT_PATH',dirname(__FILE__)); // or define('SELIFA_ROOT_PATH','/var/www/yourproject');
- 然后包含 Selifa 的核心类文件。您可以使用
SELIFA_ROOT_PATH
或手动指定文件。include(SELIFA_ROOT_PATH.'/selifa/core/Core.php'); // or include(SELIFA_ROOT_PATH.'/var/www/yourproject/selifa/core/Core.php');
接下来,初始化 Selifa 本身。使用
SELIFA_ROOT_PATH
作为RootPath
值,并指定RootPath
内的任何文件夹作为配置文件。
对于单一应用程序类型(这是大多数情况)\RBS\Selifa\Core::Initialize(array( 'RootPath' => SELIFA_ROOT_PATH, 'ConfigDir' => 'configs/', 'LoadComponents' => array( '\RBS\Selifa\XM' //this must be preloaded at the beginning. ) ));
对于多应用程序类型
\RBS\Selifa\Core::Initialize(array( 'RootPath' => SELIFA_ROOT_PATH, 'ConfigDir' => 'apps/yourapplicationid/configs/', 'LoadComponents' => array( '\RBS\Selifa\XM' ) ));
您可以指定需要预先加载的多个类。默认情况下,Selifa Core 仅在应用程序中某处需要时加载类文件。将这些类放入
LoadComponents
数组中,无论您是否使用它们,都会预先加载。完成!您现在可以开始编写代码了。
致谢
Rinardi B. Sarean, rinardi_1518_sarean@hotmail.com。
许可
MIT 许可证 (MIT)
版权所有 (c) 2015-2017. Rinardi B. Sarean
特此授予任何人免费获得此软件及其相关文档文件(以下简称“软件”)副本的权利,无限制地处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供方提供软件的人这样做,前提是遵守以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,除非另有说明,不提供任何形式的保证,无论是明示的、暗示的还是法定的,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同行为、侵权行为或其他行为中,无论是在软件、使用软件或其他与之相关的软件中产生、源自或与此有关。