nabeelalihashmi / lightframework
模块PHP框架基础
Suggests
- nabeelalihashmi/lightauth: dev-master
- nabeelalihashmi/lightcache: dev-master
- nabeelalihashmi/lightdb: dev-master
- nabeelalihashmi/lighthttp: dev-master
- nabeelalihashmi/lightrouter: dev-master
- nabeelalihashmi/lightstats: dev-master
- nabeelalihashmi/lighttest: dev-master
- nabeelalihashmi/lightutils: dev-master
- nabeelalihashmi/lightvalidator: dev-master
- nabeelalihashmi/lightview: dev-master
This package is auto-updated.
Last update: 2024-09-24 10:57:40 UTC
README
LightFramework
制作框架的框架
LightFramework是一个最小的库,可以根据您的需求制作自己的框架。您可以使用任何组件,如路由器、缓存等,并将它们注册。LightFramework还提供了延迟调用
的功能。根据优先级,在末尾调用延迟
函数。
关于作者
Nabeel Ali | https://iconiccodes.com | mail2nabeelali@gmail.com
动机
一个框架使开发者能够编写可管理的代码,并使他们更容易管理代码。但是问题是大多数框架都过于庞大。它们具有您不需要的功能。这使得它们不适合小型项目,并导致性能下降。
例如
-
您只需要路由器和数据库来构建API。您可以使用LightFramework,并仅安装路由器和数据库插件。无需电子邮件库、哈希库等冗余软件。
-
您想要一个静态网站。您只需要使用路由器。
-
您想要一个具有动态内容的网站,您可以使用路由器和模板引擎。
功能
* Easy
* Very minimum code for initialization.
* Deferred calls
* Call deffered calls prematurely when required.
* Add callables as plugin
安装
通过Composer安装
composer require nabeelalihashmi/LightFramework
或者下载类并使用自己的自动加载功能。
用法
- 创建LightFramework的新实例。它需要4个参数
config
:存储配置文件的目录路径。autoload
:存储自动加载文件的目录路径。global_symbol
:LightFramework的全局访问实例的符号。默认是__
示例
$light = new LightFramework('config', 'autoload', '__');
- 使用
plugModule()
方法插入模块。它需要3个参数
key
:将要使用$light->getModule($key)
稍后访问的插件模块的名称。callable
:可调用的插件。callback
:框架在对象加载时调用的回调。
示例
$demo = new Demo(10, 20);
$light->pluginModule('demo', $demo, function($demo) {
$demo->showMessage();
});
- 启动框架
$light->init();
注意
当调用init
时,首先在自动加载目录中加载所有库。然后加载自动加载目录中的autoload_module.config.php文件中的插件。
方法
getVersion
- 获取LightFramework的版本
public static function getVersion()
- 构造函数
- string $config_dir
- string $autoload_dir
- string $global_symbol
public function __construct($config_dir = 'config', $autoload_dir = 'autoload', $global_symbol = '__')
instance
- 如果调用构造函数,则返回框架的实例,否则抛出异常
- 返回self
- @throws Exception
public static function instance()
defer
- 将调用延迟到执行结束时或调用runDefered()时运行
- integer $id
- callable $callback
- 返回void
public function defer(int $id, callable $callback)
init
- 启动函数
- 返回void
public function init()
runDeferred
- 运行延迟调用。如果第二个参数设置为false,则调用不会被从列表中删除。如果调用
- 提前调用,则在执行结束时将再次调用。
- array $ids
- boolean $remove_upon_calling
- 返回void
public function runDeferred($ids = [], $remove_upon_calling = true)
plugModule
- 将模块添加到框架并运行回调函数
- string $identifier
- callable $object
- string $callback
- 返回void
public function plugModule($identifier, $object, $callback = null)
- 从框架中删除插入的模块并运行回调函数
- string $identifier
- callback $callback
- 返回void
public function unplugModule($identifier, $callback = null)
getModule
- 访问插入的模块
- string $module_name
- 返回callable
public function getModule($module_name)
get
- 使用点符号从数组中获取值
- 数组 $array
- 字符串 $key
- 字符串 $default
- 返回void
public static function get($array, $key, $default = null)
集合
- 使用点表示法设置数组值
- 数组 $array
- 字符串 $key
- 字符串 $value
- 返回void
public static function set(&$array, $key, $value)
getConfig
- 使用点表示法从配置中获取配置
- 字符串 $key
- 返回void
public static function getConfig($key)
setConfig
- 使用点表示法设置配置值
- 字符串 $key
- 字符串 $value
- 返回void
public static function setConfig($key, $value)
getConfigRaw
- 使用数组键从配置中获取配置
- 字符串 $key
- 返回void
public static function getConfigRaw($key)
setConfigRaw
- 使用数组键在配置中设置配置
- 数组键 $key
- 字符串 $val
- 返回void
public static function setConfigRaw($key, $val)
getConfigAll
- 返回配置数组以供调试目的。
- 返回void
public static function getConfigAll()
许可证
LightFramework根据以下条件发布在宽松的许可证下:
- 不能用于创建成人应用。
- 不能用于创建赌博应用。
- 不能用于创建含有仇恨言论的应用。
- 必须在致谢中提及LightFramework。
MIT许可证
版权所有2022 Nabeel Ali | IconicCodes.com
特此授予任何获得本软件及其相关文档文件(“软件”)副本的个人免费使用权,在不限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许软件提供者这样做,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论这些责任是基于合同、侵权或其他原因,无论这些责任是否源于、因之产生或与之相关软件或其使用或其它交易。