attogram / attogram-framework
Attogram 框架为开发者提供带有内容模块系统的 PHP 框架起始网站,文件URL路由,IP保护的后端,Markdown 解析器,jQuery 和 Bootstrap。核心模块可用于添加集成的 SQLite 数据库、Web管理、用户系统等。
Requires
- php: >=5.3.3 || ^7.0
- ext-pdo: *
- ext-pdo_sqlite: *
- erusev/parsedown: ~1.6
- erusev/parsedown-extra: ~0.7.1
- monolog/monolog: ~1.20
- psr/log: ~1.0
- symfony/http-foundation: ~3.1.2
Requires (Dev)
- phpunit/phpunit: 5.4.*
Suggests
- attogram/attogram-contactform: Contact Form Module for the Attogram Framework
- attogram/attogram-database: Database Module for the Attogram Framework
- attogram/attogram-info: Info Module for the Attogram Framework
- attogram/attogram-user: User Module for the Attogram Framework
README
[//]: # ( Attogram Framework - README.md (markdown) - v0.1.19 )
Attogram 框架为开发者提供一个带有内容模块系统、基于文件的URL路由、IP保护的后端、Markdown解析器、jQuery和Bootstrap的PHP框架起始网站。
在此之后,Attogram将尽量不干扰你完成自己的事情!
更多信息
- Attogram 框架 @ GitHub: https://github.com/attogram/attogram
- Attogram 框架 @ Packagist: https://packagist.org.cn/packages/attogram/attogram-framework
- Attogram 框架 @ Travis CI: https://travis-ci.org/attogram/attogram
- Attogram框架供应商包 @ GitHub: (下载ZIP) https://github.com/attogram/attogram-vendor
要求
- PHP 5.3.3或更高版本,或PHP7
- 安装了SQLite PDO驱动的PHP
- Apache 2.2.16或更高版本,设置:允许覆盖所有
设置:安装
-
获取Attogram
-
使用Composer:
composer create-project attogram/attogram-framework your-install-directory
-
或手动安装
- 从GitHub下载最新代码:
https://github.com/attogram/attogram/archive/master.zip
- 如果不可用Composer,还可以从
https://github.com/attogram/attogram-vendor/archive/master.zip
下载供应商发行版,并将./vendor/
目录移动到安装目录的顶级目录。
- 从GitHub下载最新代码:
-
-
设置您的Web服务器以使用
./public/
目录作为网站根目录。 -
编辑
./public/.htaccess
,将FallbackResource
、ErrorDocument 403
和ErrorDocument 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
设置:用户
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/
虚拟网络目录提供服务
-
模块按 目录列表顺序 加载。
- 操作和文件 级联:重复的操作名称或文件将覆盖任何之前的模块操作或同名文件。
核心模块
- Attogram 模块管理器 - https://github.com/attogram/attogram-modulemanager
- Attogram 数据库 - https://github.com/attogram/attogram-database
- Attogram 用户 - https://github.com/attogram/attogram-user
- Attogram 信息 - https://github.com/attogram/attogram-info
- Attogram 联系表单 - https://github.com/attogram/attogram-contactform
创建页面
- 在
./actions/
目录中创建一个新的 PHP 或 Markdown 文件,添加任何您想要的内容! - 文件名用作页面 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 会动态提供服务,列出所有公共页面