darling/darlingdatamanagementsystem

此包已被废弃,不再维护。作者建议使用darling/roady包。

一个模块化、由组件驱动的PHP框架。

安装: 5

依赖者: 0

建议者: 0

安全: 0

星标: 7

关注者: 2

分支: 1

类型:项目

v2.0.0-beta-4 2024-02-28 14:32 UTC

This package is auto-updated.

Last update: 2024-04-29 19:44:33 UTC


README

    ____                  __
   / __ \____  ____ _____/ /_  __
  / /_/ / __ \/ __ `/ __  / / / /
 / _, _/ /_/ / /_/ / /_/ / /_/ /
/_/ |_|\____/\__,_/\__,_/\__, /
                        /____/

Roady logo

Roady v2.0的开发

Roady是我长期开发的一个PHP框架。到目前为止,它是一个充满激情的项目。我爱编程,为Roady工作让我感到快乐。

Roady v1.1.2是Roady的当前稳定版本,可以在以下位置找到

https://github.com/sevidmusic/roady/releases/tag/v1.1.2

Roady v2.0是Roady的完全重写,将受到Roady原始设计的影响,但将与Roady的先前版本不兼容。

注意:目前我正在使用此文件来规划Roady 2.0重写的其余部分。在Roady 2.0发布之前,此文件将修订为记录Roady 2.0。

注意:此文件仍在起草中,并将随着时间的推移而不断演变。

关于

Roady是一个模块化PHP框架。

使用Roady,网站的功能和特性通过单个模块实现。

例如,假设我的乐队使用Roady构建我们的网站,并且我们需要一个音乐播放器,这个音乐播放器将通过一个模块实现。

如果我们需要一个日历来显示即将到来的演出,它将通过一个不同的模块实现。

多个网站可以运行在Roady的单个安装上,每个网站都使用一个或多个安装的Roady模块。

模块

模块的解剖结构

目录 描述
css 这是放置CSS样式表的区域。
js 这是放置javascript文件的区域。
output 这是放置php和html文件的区域。
APPROPRIATE.SITE.AUTHORITY.json 此文件定义了特定网站的硬编码路由。

模块如何工作

模块应位于Roady的modules目录中。

/path/to/Roady/modules

模块可以定义通过Roady UI以html或php文件的形式显示的output

模块可以定义CSS样式表和javascript文件,以定义样式并为网站实现额外的功能。

模块可以响应通过名为网站域名权限的json文件定义的路由请求来提供phphtmlcssjavascript

例如,sub.example.com.8080.json将用于定义以下域的路由的json文件

 https://sub.example.com:8080/
 |       \__________________/|
 |               |           |
 |           AUTHORITY       |
  \_________________________/
               |
            Domain

使用网站的域名权限命名路由配置文件允许模块为每个网站定义独特的路由。

路由

路由定义以下内容

  • 为该路由配置的模块名称。注意:模块可以为另一个模块定义路由,通过将路由的模块名称设置为相关模块的名称。

  • 一组名称,这些名称对应于路由应响应的请求名称。

  • 一组与Roady UI提供的命名位置相对应的命名位置。这些命名位置用于结构化响应相同请求的所有路线的集体输出。

  • 指向php文件、html文件、css文件或javascript文件的相对路径。

例如,以下json定义了一条指向名为output-file.htmlhtml文件的路线。

{
    "module-name": "module-name",
    "responds-to": [
        "name-of-a-request-this-route-responds-to"
    ],
    "named-positions": [
        {
            "position-name": "roady-ui-named-position-c",
            "position": 1.7
        }
    ],
    "relative-path": "path\/to\/output-file.html"
}

Roady的用户界面(UI)

Roady UI使用由已安装的模块定义的路线来决定响应请求时应渲染的html

Roady UI使用由内部定义的html布局提供的命名位置来结构化响应相同请求的路线的集体输出。

<!DOCTYPE html>

<html>

    <head>

        <title><roady-ui-page-title-placeholder></roady-ui-page-title-placeholder></title>

        <meta charset="UTF-8">

        <meta name="description" content="<roady-ui-meta-description></roady-ui-meta-description>">

        <meta name="keywords" content="<roady-ui-meta-keywords></roady-ui-meta-keywords>">

        <meta name="author" content="<roady-ui-meta-author></roady-ui-meta-author>">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <roady-ui-css-stylesheet-link-tags></roady-ui-css-stylesheet-link-tags>

        <roady-ui-js-script-tags-for-html-head></roady-ui-js-script-tags-for-html-head>

    </head>

    <body>

        <roady-ui-pre-header></roady-ui-pre-header>

        <header class="roady-ui-header">

            <roady-ui-header></roady-ui-header>

        </header>


        <main class="roady-ui-main-content">

            <roady-ui-main-content></roady-ui-main-content>

        </main>

        <footer class="roady-ui-footer">

            <roady-ui-footer></roady-ui-footer>

        </footer>


    </body>

</html>

<roady-ui-js-script-tags-for-end-of-html></roady-ui-js-script-tags-for-end-of-html>

<!-- Powered by Roady (https://github.com/sevidmusic/roady) -->

以下表格概述了Roady UI内部定义的html布局提供的每个命名位置的目的。

命名位置 目的
<roady-ui-page-title-placeholder> 此位置名称为内部使用保留,Roady UI根据所进行的请求确定页面标题。
<roady-ui-meta-description> 用于在输出Rendered by Roady UI的<head>部分的<meta>标签的value属性中渲染的description元数据。
<roady-ui-meta-keywords> 用于在输出Rendered by Roady UI的<head>部分的<meta>标签的value属性中渲染的keyword元数据。
<roady-ui-meta-author> 用于在输出Rendered by Roady UI的<head>部分的<meta>标签的value属性中渲染的author元数据。
<roady-ui-css-stylesheet-link-tags> 用于为路线渲染的<link>标签。
<roady-ui-js-script-tags-for-html-head> 用于为路线渲染的<script>标签。
<roady-ui-pre-header> 用于在<header>之前渲染的输出。
<roady-ui-header> 用于在<header>内渲染的输出。
<roady-ui-main-content> 用于在<main>内渲染的输出。
<roady-ui-footer> 用于在<footer>内渲染的输出。
<roady-ui-js-script-tags-for-end-of-html> 用于应在<body>标签关闭后加载的javascript文件。