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

无状态内容管理系统

1.4.2 2018-07-09 15:02 UTC

This package is not auto-updated.

Last update: 2020-01-20 18:57:09 UTC


README

面向对象的PHP构建块,用于网站和Web应用程序。

介绍

StatelessCMS是一个无头PHP框架,旨在创建数据库驱动的PHP应用程序,“无头”意味着没有现有的前端。StatelessCMS本身不是一个应用程序或CMS,它只是为你提供构建自己应用程序的构建块。

安装

最低要求

获取运行PHP 7.0和SQL数据库的服务器。注意:推荐使用apache,因为从v0.0.3版本开始,Request::getHeaders()和Request::getToken()依赖于apache_get_headers()。

Composer安装

安装StatelessCMS最简单的方法是使用Composer安装

composer require stateless/cms

网络下载

https://github.com/StatelessSoftware/StatelessCMS/releases下载最新版本。

开发

如果您想获取实时开发分支,请从github下载或克隆。https://github.com/StatelessSoftware/StatelessCMS.git

设置您的第一个项目

虽然您可以选择任何目录结构,但StatelessCMS常用的基本结构如下。不必过于担心具体细节——我们将逐步创建每个部分。

|- app
    |- Controller
    |- Form
    |- FormInput
    |- Layout
    |- Menu
    |- Model
    |- View
    |- app.php
    |- functions.php
|- conf
    |- app.conf.php
|- public
    |- css
    |- js
    |- .htaccess
    |- index.php
|- vendor
    |- stateless

如果您还没有安装,请将StatelessCMS安装到vendor/stateless(遵循上述安装说明)

入门

打开public/index.php。插入以下代码

<?php
namespace Stateless;

require_once("../vendor/autoload.php");

echo "Home";

如果您未使用Composer下载和安装StatelessCMS,请将../vendor/autoload.php更改为您的StatelessCMS.php文件

关于public/index.php

此文件是入口点,意味着它是程序的开始。目前,我们将使用它来展示示例。稍后,我们可以用它来启动应用程序。

测试

打开浏览器,导航到localhost/public/,您应该看到主页。

配置您的服务器

确保您的httpd文档根设置为public/。现在导航到localhost/,您应该看到主页

启用mod_rewrite(干净URL)

  1. public目录块中,设置AllowOverride All
  2. 将以下htaccess文件复制到public/.htaccess

您可能需要安装mod_rewrite

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

多个页面

现在我们将创建带有干净URL的额外页面。将以下代码中的index.php替换掉

<?php
namespace Stateless;
require_once("../vendor/autoload.php");

switch (Request::getPath()) {
    case "/":
        echo "Home";
    break;

    case "/about":
        echo "Read all about us!";
    break;

    case "/contact":
        echo "Contact us.";
    break;

    default:
        Response::header(404);
        echo "Page not found.";
    break;

}

在浏览器中打开localhost/about,你应该会看到“了解我们的一切!”