selifa / core
Selifa Core 是适用于任何应用类型的PHP基础框架。它只提供PSR-4类自动加载器、配置管理和异常管理。与大多数其他PHP框架相比,其配置不同,因为它只加载特定的配置文件或特定类。Selifa的这个版本是对之前的Selifa Framework的重大重写,后者包含一个完整的框架。
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-09 19:00:30 UTC
README
简介
Selifa Core 是适用于任何应用类型的PHP基础框架。它只提供PSR-4类自动加载器、配置管理和异常管理。它的配置与大多数其他PHP框架不同,因为它只加载特定的配置文件或特定类。这个版本的Selifa是对之前的Selifa Framework的重大重写,后者包含一个完整的框架。
版本 1.0
使用说明
下载或从您的项目中提取此存储库。Selifa Core只包含少量文件,因此不会使您的项目变大。对于简单的项目,您可以指定 SELIFA_ROOT_PATH 常量,并在 selifa 文件夹中包含 selifa.php 文件。就这样。现在您的项目已经具备了使用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
特此授予任何获得此软件及其相关文档(“软件”)副本的任何人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供者提供软件的人这样做,但必须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他责任中,这些索赔、损害或其他责任是由软件本身引起的、源自于软件或与软件的使用或其他方式相关。