tigron / skeleton
Tigron 骨架
README
描述
这组文件构成了 skeleton
,一个微型的“框架”,允许您快速开发小型或大型网络应用程序。
我们不倾向于称其为框架,因为它远不及框架那么复杂。
理由
我们创建并维护 skeleton
而不是使用更主流的工具,是因为我们想要一个能够提供一定结构和工作方式的东西,但又不至于阻碍您。 skeleton
将为您在以您自己的方式做事方面提供很多自由。
当有必要时,我们会从其他项目中重用组件。然而,如果可以避免另一个依赖项,我们也会实现简单组件的自己的版本。我们不希望再次发生类似 is-odd 的事件。
我们已经开源了 skeleton
,因为我们相信它可能对他人有所启发。我们已经选择了一个非常自由的许可协议,因此您可以在任何项目中自由使用它。
安装
- 使用 composer 安装代码:
composer create-project tigron/skeleton
- 将代码放在 Web 服务器上的某个位置
- 将文档根目录(或等效的)指向
webroot/
- 确保您的服务器将所有请求发送到
webroot/handler.php
,如果您的服务器支持.htaccess
文件,那么这应该会自动发生 - 创建数据库
- 创建一个包含至少数据库 DSN 的
config/environment.php
文件(见下文) - 运行
composer update
- 运行
util/bin/skeleton migrate:up
使用
入门
skeleton
非常适合在没有 Web 服务器或 Web 前端的情况下使用。同样,它也可以很容易地不使用数据库使用。只需随意安装或删除相关的包。只需要 skeleton-core
包。
既然如此,默认的 skeleton
设置已经在 composer.json
中包含了几个已经需要的包。您可以根据需要添加或删除任何不需要的包。
要开始,请查看 app/admin
文件夹。您将在 module/
中找到一个示例模块,在 event/
中找到一个示例事件处理器,以及在 template/
中找到一些基本模板。
包
skeleton
项目由松散耦合的包组成。这些包实现了常用组件、工具、脚本以及您能想到的任何东西。一般来说:如果您需要两次,就创建一个包。
概览可在此处找到 here。
数据库
就像在 skeleton
中的许多事情一样,您大部分时间都可以随心所欲地做。但如果你想事情自动完成,我们希望您遵循一些简单的指南。
- 表名总是单数
- 每个表都有一个
id
列,它是自动递增的 - 对其他表中行的引用应使用外键,并将引用远程表中的
<table>_id
。 uuid
、created
、updated
和archived
列是魔法列
一些 skeleton
包将创建自己的表。这些表属于包。请不要在包之外添加、删除或修改这些表中的列。
一些包允许您指定一个表名,但大多数包不支持。如果您的应用程序已经使用了与您想要使用的包具有相同名称的表,您可能需要修改您的应用程序。
配置和环境
配置是通过config/
目录下的文件来完成的。文件按照字母顺序加载,但config/environment.php
文件始终是最后一个被加载的。
建议您将/config/environment.php
从版本控制系统中排除,例如通过将其添加到.gitignore
文件中。这样,您可以使用它来存储敏感的配置项。
以下是一个最小示例。
<?php
return [
'database' => 'mysqli://username:password@localhost/database',
];
特性
默认情况下几乎没有。许多特性作为单独的包存在。