shelane / knot-project
简易网页应用程序的项目。
Requires
- php: ^8.2
- ext-pdo: *
- composer/installers: ^2.1
- fortawsome/fontawesome: ^6.4
- jquery/jquery: ^3.7
- oomphinc/composer-installers-extender: ^2.0
- shelane/knot: dev-main
- symfony/mailer: ^6.3
- twbs/bootstrap: 5.3.1
Requires (Dev)
- acquia/coding-standards: ^2.0
- phpmd/phpmd: ^2.13
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.ssi
和menu.ssi
文件的_config
目录。
config.ssi
文件必须将content_path
、site_name
和default_page
添加到Knot容器中。一个$route
变量是可选的,但请确保使用var_define
函数设置一个经过验证的路线调用数组。
menu.ssi
文件必须包含网站的导航以及所有将由 knot 渲染的页面,并且应该是一个包含以下设置的关联数组:路径(将要添加到 href 的路径名 - 它不应包含任何 /
字符),标签(在菜单输出中显示的名称),标题(在标题元素和 html head 中显示的页面标题),菜单(表示是否在菜单中渲染的布尔值),图标(菜单显示的值),样式(额外的类)。可以在 children
下添加页面的子项到菜单数组中,结构相同。父路径会自动构建,不需要包含在 path
值中。
在 _pages
目录的根目录下,应为每个页面创建一个文件,文件名与菜单中的 path
相匹配,并且必须有一个 .inc
文件扩展名。任何额外的包含文件应放在包含目录中,以使 _pages
目录保持清洁。对于深度大于 1 的网站,文件应位于与父路径名匹配的连续目录中。
_process
目录用于运行与 $route
请求匹配的过程的文件。这些文件必须有 .ssi
扩展名。
assets
目录应包含任何公开提供的文件,如 css 文件、javascript 文件或图片。