shelane/knot-project

简易网页应用程序的项目。

dev-main 2023-08-30 23:07 UTC

This package is auto-updated.

Last update: 2024-08-30 01:34:29 UTC


README

所有框架文件都存在于_knot目录中。此目录应高于公共网页目录,以便其文件不对外公开。文件将通过knot在需要时调用。

_knot 目录结构

_knot
  \_ _templates
       \_ pages
             \_ basic.inc
             \_ error.inc
             \_ footer.inc
             \_ header.inc
             \_ home.inc
       \_ base.inc
       \_ css-includes.inc
       \_ js-includes.inc
  \_ App
       \_ Database.php
       \_ Emailer.php
       \_ Knot.php
       \_ Map.php
       \_ Menu.php
       \_ Page.php
       \_ Session.php
       \_ TaskBar.php
       \_ TaskBarButtonGroup.php
       \_ TaskBarFontAwesome.php
  \_ .editorconfig
  \_ debugger.php
  \_ index.php
  \_ knot.php
  \_ tags.php

_knot目录包含框架的内部工作原理。

首先是index.php文件。它将需要knot.php文件,该文件启动框架。为了扩展knot框架以用于应用程序,必须创建一个包含那些设置的文件,并将其包含在knot.php文件中。这包括在Knot容器中添加数据库配置设置。请参阅数据库容器的文档块以获取具体要求。以下划线开头定义的变量是由knot声明并由其需要的。index.php文件将读取网站的声明配置。它将设置用户请求的路径,获取网站页面文件的路径,并设置页面和导航数据。它将确定是否通过用户操作调用了允许的过程,并调用特定于数据库处理(添加、更新和删除)的文件。如果没有要运行的过程,它将寻找请求的页面文件并设置页面内容。然后开始渲染。

_templates目录包含HTML渲染模板文件。

_templates目录包含包含分层HTML结构元素的文件,这些元素将构建页面的最终输出。base.inc文件包含HTML页面包括html、head和body的基本外层。它将在head中包含header-includes.inc文件。body将调用为所选页面定义的模板。

App目录包含knot使用的类。

Database类管理所有类的单例数据库连接,而Database对象将具有不同的属性值。

Knot类是应用程序的容器,其中将持有应用程序的特定配置。也可以存储函数以供以后使用。

Map类是关联数组的getter/setter类。这允许只有名称/值对。

Menu类负责渲染菜单并存储当前页面信息,如模板和页面标题。

Page类将持有特定于页面元素的属性。

Session类目前未使用。一旦在knot.php引导文件中实例化,它将管理所有通过knot调用的页面的会话。

公共网页目录

docroot
  \_ _config
       \_ config.ssi
       \_ menu.ssi
  \_ _pages
       \_ home.inc
       \_ ... other pages for site
  \_ _process
       \_ ... process files match route using .ssi
  \_ assets
       \_ css
       \_ js
       \_ img
       \_ ... other public asset files

公共网页目录中的符号链接应指向此文件。它期望在网页目录中有一个包含config.ssimenu.ssi文件的_config目录。

config.ssi文件必须将content_pathsite_namedefault_page添加到Knot容器中。一个$route变量是可选的,但请确保使用var_define函数设置一个经过验证的路线调用数组。

menu.ssi 文件必须包含网站的导航以及所有将由 knot 渲染的页面,并且应该是一个包含以下设置的关联数组:路径(将要添加到 href 的路径名 - 它不应包含任何 / 字符),标签(在菜单输出中显示的名称),标题(在标题元素和 html head 中显示的页面标题),菜单(表示是否在菜单中渲染的布尔值),图标(菜单显示的值),样式(额外的类)。可以在 children 下添加页面的子项到菜单数组中,结构相同。父路径会自动构建,不需要包含在 path 值中。

_pages 目录的根目录下,应为每个页面创建一个文件,文件名与菜单中的 path 相匹配,并且必须有一个 .inc 文件扩展名。任何额外的包含文件应放在包含目录中,以使 _pages 目录保持清洁。对于深度大于 1 的网站,文件应位于与父路径名匹配的连续目录中。

_process 目录用于运行与 $route 请求匹配的过程的文件。这些文件必须有 .ssi 扩展名。

assets 目录应包含任何公开提供的文件,如 css 文件、javascript 文件或图片。