betterpress/wordpress-symfony-edition

此包最新版本(dev-master)没有提供许可证信息。

dev-master 2015-02-19 21:51 UTC

This package is auto-updated.

Last update: 2024-08-25 06:40:53 UTC


README

警告:这是预_alpha,概念验证内容

用Symfony方式实现的Wordpress。

Wordpress是一个功能强大、易于使用的平台,用于内容编辑,但它并非没有缺陷。本项目旨在解决其中一些问题。它受到了symfony世界的启发,并使用了symfony组件,大致符合symfony/framework-standard-edition的结构。

安装

composer create-project betterpress/wordpress-symfony-edition --stability=dev。您将需要输入数据库参数 - 此数据库必须已经存在并可访问。

接下来设置您的web服务器,文档根目录为./wordpress文件夹。Composer已为您创建此文件夹。如果您只是尝试使用它,您可以在本地运行PHP服务器(确保在项目目录中运行)

php -S 0.0.0.0:8081 -t ./wordpress

如果您提供的数据库详细信息是空的数据库,现在访问您的网站,您应该会看到Wordpress安装界面。按照这些说明操作,您就可以开始使用了。

特性

真正的面向对象Wordpress操作

合理、结构良好的面向对象接口,用于管理所有那些函数调用。

服务容器

所有这些用于访问Wordpress功能的优雅接口都可以从容器中访问,并可以注入到您的自己的类中。

更清晰的钩子

在容器中标记一个服务来运行钩子,而不是到处都是add_action

为什么不直接...

使用Wordpress插件而不是包?

我们并不是说完全不要使用插件。您仍然可以使用。我们说的是,如果您认真对待交付一个经过深思熟虑、可靠和可维护的系统,那么那些能够“扩展WordPress以做到几乎任何事情”的代码片段应该由开发人员添加,并经过您拥有的任何质量保证流程,而不是不加思考或测试地通过Web界面添加。

根据经验,我们知道以这种方式管理代码的最好方法之一是通过composer,以及一个类似于symfony的扩展系统,它允许适当的依赖注入,这使得代码更易于维护。

开发

测试在哪里?

直接在本项目中,没有。大部分代码都是实验性的,并不是首先进行测试。随着它的演变,当我有了关于各个部分如何相互作用的思路时,我会将它们提取到具有适当测试的独立仓库中。例如,请参阅betterpress/wordpress-adapter

结构

本节更多的是一个备注,并且正在发生很大的变化。请参阅composer.json以获取当前的架构。

  • adamquaile/php-global-abstraction:围绕PHP影响全局作用域的功能的包装器
  • betterpress/wordpress-adapter:围绕基本Wordpress函数的包装器,例如钩子、全局设置
  • betterpress/wordpress-settings-api:围绕Wordpress设置API的包装器
  • betterpress/wordpress-shortcode-api:围绕Wordpress设置API的包装器
  • betterpress/wordpress-symfony-extension:将所有组件连接在一起的扩展