maniaplanet/manialib-manialink

此软件包已被废弃,不再维护。作者建议使用 manialib/manialink 软件包。

面向对象PHP库,用于编写Manialink界面。

v0.1.1 2014-05-27 08:53 UTC

This package is auto-updated.

Last update: 2022-02-01 12:32:03 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads Build

ManiaLib\Manialink 是一个基于 ManiaLib\XML 的面向对象PHP库,用于编写Manialink界面。

我们可以在 http://forum.maniaplanet.com/viewtopic.php?f=40&t=25999 讨论它

安装

通过Composer安装:

{
	"require": {
        "maniaplanet/manialib-manialink": "0.3.*@dev"
    }
}

特性

  • ManiaLib\XML的特性
  • 框架逻辑大小和定位
  • 大小父元素内部子元素的相对定位
  • 卡片用于组合复杂可重用元素集
  • 所有样式/子样式的辅助类

架构

  • 参见 ManiaLib\XML
  • 大多数元素都应该实现用于常用属性的setter(例如 ManiaLib\Manialink\Elements\Quad::setImage($image)),但如果不存在setter,则可以使用 setAttribute($name, $value) 代替。
  • 对于样式和子样式,当与 ManiaLib\Manialink\Styles\ 中的抽象类一起使用时,setStyle($style) 方法同时处理两者,例如 Quad::create()->setStyle(Bgs1::BgWindow1);

示例

参见 /examples 目录

定位和相对定位

  • 框架大小和定位模拟了标准元素在框架中的对齐行为。使用此功能可以创建具有大小和定位的对齐逻辑容器。
  • 相对定位帮助定位元素相对于其父容器。为此,您需要一个具有大小和子元素的框架;例如,您可以将quad放在“框架的右下角”。

为了帮助直观地理解这些概念

它与ManiaLib框架有什么关系?

与ManiaLib的旧版本相比,它只是一个独立的软件包,用于构建Manialink页面。它可以用在任何类型的项目中,从Web框架(例如ManiaLib)到服务器控制器(例如ManiaLive)。它与ManiaLib\Gui共享一些通用代码,但在命名和总体架构方面有很多变化。

待办事项

  • Frame3d中的布局有bug吗?
  • 实现所有元素类
  • 实现所有布局
  • PhpDoc