attogram/attogram-framework

此包已被弃用且不再维护。未建议替代包。

Attogram 框架为开发者提供带有内容模块系统的 PHP 框架起始网站,文件URL路由,IP保护的后端,Markdown 解析器,jQuery 和 Bootstrap。核心模块可用于添加集成的 SQLite 数据库、Web管理、用户系统等。

v0.8.2 2016-07-24 09:43 UTC

README

[//]: # ( Attogram Framework - README.md (markdown) - v0.1.19 )

构建状态 最新稳定版本 最新不稳定版本 总下载量 许可证 代码气候 问题数量 Codacy 徽章 [变更日志] [待办事项]

Attogram 框架为开发者提供一个带有内容模块系统、基于文件的URL路由、IP保护的后端、Markdown解析器、jQuery和Bootstrap的PHP框架起始网站。

核心模块可用于添加一个SQLite数据库用户系统等。

在此之后,Attogram将尽量不干扰你完成自己的事情!

更多信息

要求

  • PHP 5.3.3或更高版本,或PHP7
  • 安装了SQLite PDO驱动的PHP
  • Apache 2.2.16或更高版本,设置:允许覆盖所有

设置:安装

  • 获取Attogram

  • 设置您的Web服务器以使用./public/目录作为网站根目录。

  • 编辑./public/.htaccess,将FallbackResourceErrorDocument 403ErrorDocument 404设置为安装目录中index.php文件的完整Web路径。

  • (可选)将./public/config.sample.php复制到./public/config.php并编辑以更改默认设置。

设置:管理员

  • 管理员页面受IP保护
  • 通过在./public/config.php中设置$config['admins']来更改允许的管理员IP
  • 默认管理员IP为ip4和ip6的localhost:array( '127.0.0.1', '::1' )
  • 来自非管理员IP的管理员页面请求将导致404页面未找到错误

Attogram现在有模块了!即将更新文档

旧文档

设置:数据库

  • 安装Attogram数据库模块
  • 确保数据库文件./db/global可以被Web服务器写入
  • 当需要时,会懒加载数据表。
  • 要一次性创建所有表格,请转到db-tables管理员页面并单击创建Attogram表格
  • phpLiteAdmin可用于数据库管理,转到db-admin管理员页面,默认密码为attogram

设置:用户

  • 加载主页,转到管理员操作users,单击创建新用户
  • 输入用户名、密码等,然后单击插入
  • 加载主页,单击登录,以新用户登录

Attogram模块

  • 轻松创建模块以扩展Attogram!
  • 每个模块都位于Attogram ./modules/目录下的自己的子目录中。

模块结构

  • 模块可以有以下子目录

    • actions/ - 公共操作(.php或.md markdown文件)。如果存在,则使用home操作作为主页。
    • admin_actions/ - 后端仅管理员操作(.php或.md markdown文件)
    • configs/- 通过namespace Attogram; global $config; $config['configname'] = ...进行配置,启动时加载(仅.php文件)
    • includes/ - 包含的文件,在启动时加载(仅限 .php 文件)
    • tables/ - 数据库表定义。按需懒加载表(仅限 .sql 文件)
    • templates/ - 模板,用于覆盖默认的 Attogram 模板(仅限 .php 文件)
    • public/ - 公共文件。通过请求 web/ 虚拟网络目录提供服务
  • 模块按 目录列表顺序 加载。

    • 操作和文件 级联:重复的操作名称或文件将覆盖任何之前的模块操作或同名文件。

核心模块

创建页面

  • ./actions/ 目录中创建一个新的 PHPMarkdown 文件,添加任何您想要的内容!
  • 文件名用作页面 URL。./actions/example.php = example.com/example/

PHP 页面

  • PHP 文件名必须以 .php 结尾

  • Attogram 对象通过 $this 变量可用

  • 有用的函数

    • $this->pageHeader($title)
    • $this->pageFooter()
    • $this->log->debug(), ->error(), 等。
    • $this->getSiteUrl()
    • $this->error404($error_message)
    • $this->isAdmin()
    • $this->isLoggedIn()
  • ./public/config.php 中的深度设置

    • $config['depth']['insert-action-name-here']
  • ./public/config.php 中的末尾斜杠设置

    • $config['noEndSlash'][] = 'insert-action-name-here'

Markdown 页面

  • Markdown 文件名必须以 .md 结尾
  • Markdown 文件的第 1 行用作页面标题

删除页面

  • ./actions/ 目录中删除对应页面的文件

管理页面

  • 创建/删除与普通页面相同,但在 ./admin_actions/ 目录中

数据库表

  • 要添加表,请将文件添加到 ./tables/ 目录
  • 文件名必须是表的名称
  • 文件内容是 sql CREATE TABLE ... 语句
  • 表在首次使用时自动创建

网络发现

  • 如果 ./robots.txt 不存在,Attogram 会动态提供服务,附带 Sitemap 链接
  • 如果 ./sitemap.xml 不存在,Attogram 会动态提供服务,列出所有公共页面

管理 URL 覆盖

  • 管理员可以在任何页面使用URL/?noadmin来关闭管理员访问
  • 管理员可以在任何页面使用URL/?debug来开启调试模式