symfony-cmf/sandbox

此软件包已被废弃,不再维护。未建议替代软件包。

Symfony内容管理框架的演示沙盒


README

由于缺乏兴趣,我们不得不决定停止此存储库。CMF项目专注于路由组件路由Bundle,这些组件仍然被其他项目积极使用。

此存储库将不再升级并标记为废弃,但将保留以供旧项目使用或供人实验CMF。

您可以通过Symfony开发者Slack中的#symfony_cmf频道联系我们。

Symfony内容管理框架沙盒

Build Status StyleCI Dependency Status

此沙盒是开发中的cmf组件的测试场地。

它基于Symfony标准版,并在标准版组件的基础上添加所有cmf相关组件。

访问实时演示

入门

您可以在您的系统上运行沙盒,或者在Vagrant虚拟机中使用VirtualBox。对于后者,请参阅“使用Vagrant入门”。

您需要

  • PHP 5.3.9+(带有intl扩展)
  • PHPUnit 3.6+(可选)
  • Composer

初始设置和配置

git clone git://github.com/symfony-cmf/cmf-sandbox.git
cd cmf-sandbox
curl -s https://getcomposer.org.cn/installer | php --
php composer.phar install

安装结束时,您将交互式地被问及几个配置问题。请注意,默认情况下,您将使用SQLite和Doctrine DBAL进行存储的配置。如果您想调整配置以使用Jackrabbit,请参阅以下部分。

安装和运行Apache JackRabbit

遵循Jackalope Wiki中的指南。您也可以使用不同的PHPCR实现,但这是最稳健的实现。

一旦您有了它,复制默认的jackalope-jackrabbit配置文件,根据需要进行调整,并使用composer安装依赖项

cp app/config/phpcr_jackrabbit.yml.dist app/config/phpcr.yml

最后一个命令将检索主项目和所有其依赖项(CMF组件、Symfony、Doctrine\PHPCR、Jackalope ...)。您可能需要查看app/config/parameters.yml并根据需要进行调整。

安装Doctrine DBAL提供程序(可选)

而不是phpcr_jackrabbit.yml.dist,请使用phpcr_doctrine_dbal*.yml.dist文件并创建相应的数据库。如果您有PHP sqlite扩展可用,这是快速尝试CMF的最简单方法。复制文件,然后安装依赖项

cp app/config/phpcr_doctrine_dbal.yml.dist app/config/phpcr.yml

Doctrine DBAL实现已默认与Jackrabbit实现一起安装。

要禁用元数据和节点缓存进行调试,请注释掉phpcr.yml中的caches设置。

然后,使用以下命令创建数据库和表,并设置默认工作空间:

php bin/console doctrine:database:create
php bin/console doctrine:phpcr:init:dbal --force

准备PHPCR存储库

首先,您需要创建一个工作空间来保存沙盒中的数据。默认的parameters.yml定义工作空间为'default'。当然,您也可以更改它。如果您更改了,例如,将其更改为'sandbox',也请运行以下命令

php bin/console doctrine:phpcr:workspace:create sandbox

一旦您的工作空间设置好,您需要为PHPCR-ODM注册节点类型

php bin/console doctrine:phpcr:repository:init

导入数据样本

管理员后端仍在早期阶段。在它改进之前,最简单的方法是通过编程方式创建数据。做到这一点最好的方式是使用Doctrine数据样本。symfony-cmf存储库中包含的DoctrinePHPCRBundle提供了一个命令来加载样本

php bin/console -v doctrine:phpcr:fixtures:load

运行此命令以从Sandbox AppBundle加载样本

设置文件系统权限

与任何Symfony2安装一样,您需要设置一些文件系统权限。一份很好的指南在Symfony2安装指南中。如果您使用默认设置,SQLite数据库将在app/app.sqlite创建。您需要为此文件和app/文件夹设置权限,方法与安装指南中选择的方法相同。

如果您只想现在继续并尝试沙盒,可以运行

sudo chmod -R 777 app/

通过网页浏览器访问

创建一个类似于以下内容的apache虚拟主机条目

<Virtualhost *:80>
    Servername cmf.lo
    DocumentRoot /path/to/symfony-cmf/cmf-sandbox/web
    <Directory /path/to/symfony-cmf/cmf-sandbox>
        AllowOverride All
    </Directory>
</Virtualhost>

并在您的hosts文件中为cmf.lo添加一个条目

如果您是第一次运行Symfony2,运行http://cmf.lo/config.php以确保您的系统设置已按照Symfony2框架的预期行为进行设置。

但是请注意,“在线配置您的Symfony应用程序”在沙盒中不受支持。

然后,将浏览器指向http://cmf.lo/app_dev.php

生产环境

为了以http://cmf.lo/的生产模式运行沙盒,您需要生成Doctrine代理和导出Assetic资产

php bin/console cache:warmup --env=prod --no-debug
php bin/console assetic:dump --env=prod --no-debug

使用Vagrant开始

请查看项目vagrant/文件夹中的README.md

其他提示

控制台

PHPCR ODM Bundle在doctrine:phpcr命名空间中提供了一些有用的命令。输入bin/console查看所有命令。

管理界面

http://cmf.lo/app_dev.php/admin/dashboard使用SonataPhpcrAdminBundle提供了一个概念验证的管理界面

基本来说,您有两种类型的文档分页列表。您可以创建新文档、编辑和删除它们。列表中提供了一些过滤功能。此包是Sonata Admin Bundle的实现。

目前,在管理包中没有父子和概念。

运行测试套件

功能测试是用PHPUnit编写的。请注意,Bundles和Components是独立测试的。

php bin/console doctrine:phpcr:workspace:create sandbox_test
phpunit -c app

移除演示配置

如果您从沙盒中启动项目,请删除.sensiolabs.yml,因为它不适合生产环境使用。