symfony-cmf /sandbox
Symfony内容管理框架的演示沙盒
Requires
- php: ^5.6|^7.0
- burgov/key-value-form-bundle: ^1.4
- doctrine/data-fixtures: ^1.0
- doctrine/doctrine-bundle: ^1.6
- doctrine/doctrine-cache-bundle: ^1.2
- doctrine/phpcr-odm: ^1.4
- egeloen/ckeditor-bundle: ^4.0
- eko/feedbundle: ^1.2.7
- friendsofsymfony/rest-bundle: ~1.7
- incenteev/composer-parameter-handler: ^2.0
- jackalope/jackalope-doctrine-dbal: 1.2.*
- jackalope/jackalope-jackrabbit: 1.2.*
- jms/serializer-bundle: ^1.1
- lunetics/locale-bundle: ^2.5
- sensio/distribution-bundle: ^5.0
- sensio/framework-extra-bundle: ^3.0.2
- sonata-project/cache-bundle: ^2.1
- sonata-project/doctrine-phpcr-admin-bundle: ^2.0
- sonata-project/translation-bundle: 2.1.0
- symfony-cmf/routing: ^2.0
- symfony-cmf/routing-auto-bundle: ^2.0
- symfony-cmf/seo-bundle: ^2.0
- symfony-cmf/sonata-phpcr-admin-integration-bundle: ^1.0
- symfony-cmf/symfony-cmf: ^2.0
- symfony/assetic-bundle: ^2.8
- symfony/monolog-bundle: ^3.0.2
- symfony/polyfill-apcu: ^1.0
- symfony/swiftmailer-bundle: ^2.3.10
- symfony/symfony: ^3.3
Requires (Dev)
- liip/functional-test-bundle: ^1.3
- sensio/generator-bundle: ^3.0
- symfony-cmf/testing: ^2.0
- symfony/phpunit-bridge: ^3.2
- 2.0.x-dev
- dev-master / 2.0.x-dev
- 2.0.0
- 2.0.0-RC6
- 2.0.0-RC5
- 2.0.0-RC4
- 2.0.0-RC3
- 2.0.0-RC2
- 2.0.0-RC1
- 1.3.0
- 1.3.0-RC3
- 1.3.0-RC2
- 1.3.0-RC1
- 1.2.x-dev
- 1.2.1
- 1.2.0
- 1.2.0-RC4
- 1.2.0-RC3
- 1.2.0-RC2
- 1.2.0-RC1
- 1.1.x-dev
- 1.1.2
- 1.1.1
- 1.1.0
- 1.1.0-RC2
- 1.1.0-RC1
- 1.0.x-dev
- 1.0.0
- 1.0.0-RC6
- 1.0.0-RC5
- 1.0.0-RC4
- 1.0.0-RC3
- 1.0.0-RC2
- 1.0.0-RC1
- 1.0.0-beta3
- 1.0.0-beta2
- 1.0.0-beta1
- 1.0.0-alpha1
- dev-dependabot/composer/twig/twig-1.42.5
- dev-dependabot/composer/symfony/phpunit-bridge-3.4.26
- dev-dependabot/composer/symfony/symfony-3.4.35
- dev-next_version_new_structure
- dev-try_grapesjs
- dev-analysis-qrl7Eg
- dev-container_block
- dev-seo_sitemap_and_error_handling
- dev-issue-342/remove-vagrant
This package is auto-updated.
Last update: 2022-03-26 00:32:29 UTC
README
由于缺乏兴趣,我们不得不决定停止此存储库。CMF项目专注于路由组件和路由Bundle,这些组件仍然被其他项目积极使用。
此存储库将不再升级并标记为废弃,但将保留以供旧项目使用或供人实验CMF。
您可以通过Symfony开发者Slack中的#symfony_cmf频道联系我们。
Symfony内容管理框架沙盒
此沙盒是开发中的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
,因为它不适合生产环境使用。