tigron/skeleton

Tigron 骨架

v4.0.0 2023-03-18 13:06 UTC

This package is auto-updated.

Last update: 2024-09-17 13:57:42 UTC


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
  • uuidcreatedupdatedarchived 列是魔法列

一些 skeleton 包将创建自己的表。这些表属于包。请不要在包之外添加、删除或修改这些表中的列。

一些包允许您指定一个表名,但大多数包不支持。如果您的应用程序已经使用了与您想要使用的包具有相同名称的表,您可能需要修改您的应用程序。

配置和环境

配置是通过config/目录下的文件来完成的。文件按照字母顺序加载,但config/environment.php文件始终是最后一个被加载的。

建议您将/config/environment.php从版本控制系统中排除,例如通过将其添加到.gitignore文件中。这样,您可以使用它来存储敏感的配置项。

以下是一个最小示例。

<?php
return [
    'database' => 'mysqli://username:password@localhost/database',
];

特性

默认情况下几乎没有。许多特性作为单独的包存在。