roadiz / standard-edition
Roadiz – 标准版
Requires
- php: >=7.4
- rezozero/tree-walker: ~0.8.4
- roadiz/roadiz: ~1.7.0
- roadiz/rozier: ~1.7.0
Requires (Dev)
- phpstan/phpstan: ^0.12.38
- phpstan/phpstan-doctrine: ^0.12.19
- squizlabs/php_codesniffer: ^3.3
Suggests
- guzzlehttp/psr7: Required for sentry/sentry
- http-interop/http-factory-guzzle: Required for sentry/sentry
- php-http/guzzle7-adapter: Required for sentry/sentry
- roadiz/abstract-api-theme: Add minimal security to your theme custom public API.
- roadiz/abstract-blog-theme: Enhance your theme with many useful blog features.
- roadiz/abstract-pdf-theme: Enhance your theme with PDF generation features.
- roadiz/abstract-user-theme: Add a starter for public users space for your Roadiz theme.
- sentry/sentry: Allows monolog to send your log messages to a Sentry instance.
This package is auto-updated.
Last update: 2024-04-22 20:08:56 UTC
README
Roadiz是一个基于多态节点系统的现代内容管理系统,可以处理多种服务和内容。其后台办公系统在设计和用户体验方面都达到了很高的水平。Roadiz主题系统被设计成可以独立于后台办公系统运行,允许轻松切换和针对单个内容基础的多主题。例如,您可以使用相同的节点层次结构为您的桌面网站创建一个主题,为您的移动设备创建另一个主题。Roadiz在MIT许可下发布,因此您可以在个人和商业项目中重用和分发其代码。
文档
- Roadiz网站: http://www.roadiz.io
- Read the Docs 文档可以在http://docs.roadiz.io找到
- API 文档可以在http://api.roadiz.io找到
- 论坛 可以在https://ask.roadiz.io找到
标准版
这是Roadiz的生产就绪版。它旨在将您的Apache/Nginx服务器根目录设置为web/
文件夹,以保护您的应用程序源代码和主题安全。
用法
# Create a new Roadiz project on develop branch composer create-project roadiz/standard-edition; # Navigate into your project dir cd standard-edition; # Create a new theme for your project bin/roadiz themes:generate --symlink --relative FooBar; # Go to your theme cd themes/FooBarTheme; # Build base theme assets yarn; # or npm install yarn build; # or npm run build
Composer将自动创建一个新的基于Roadiz的项目并下载所有依赖项。
Composer脚本将自动将默认配置文件和您的入口点复制到web/
文件夹,并在项目根目录中创建一个.env
文件以设置您的Docker开发环境。
更新Roadiz和您的主题资产
composer update -o --no-dev # Re-install your theme in public folder using relative symlinks (MacOS + Unix) # remove --relative flag on Windows to generate absolute symlinks bin/roadiz themes:assets:install --symlink --relative FooBar;
使用Docker进行开发
Linux上的Docker将提供出色的性能,以及类似于生产环境的环境,而不会占用您的开发机器。
# Copy sample environment variables # and adjust them against your needs. nano .env; # Build PHP image docker-compose build; # Create and start containers docker-compose up -d; # Adapt Makefile with your theme name and NPM/Yarn # This will be useful to generate assets and clear cache # in one command nano Makefile; cd themes/FooBarTheme; # Install NPM dependencies for your front-end dev environment. yarn; # npm install; # Then build assets yarn build; # npm run build
Solr容器问题
Solr容器在您的项目文件夹中的.data/solr
声明其卷。在首次启动后,此文件夹可能以root
所有者创建,导致Solr无法填充它。只需运行
sudo chown -R $USER_UID:$USER_UID .data
(将$USER_UID
替换为您的本地用户id)。
使用PHP内部服务器进行开发
# Edit your Makefile "DEV_DOMAIN" variable to use a dedicated port # to your project and your theme name. nano Makefile; # Launch PHP server make dev-server;
安装您的主题资产并执行Roadiz命令
您可以直接通过docker-compose exec
使用bin/roadiz
命令。
# Install Rozier back-office assets docker-compose exec -u www-data app bin/roadiz themes:assets:install Rozier # Install your theme assets as relative symlinks docker-compose exec -u www-data app bin/roadiz themes:assets:install --symlink --relative FooBar
在Linux上
请注意,PHP以www-data用户运行。您必须更新您的.env
文件以反映在镜像构建期间您的本地用户UID。
# Type id command in your favorite terminal app id # It should output something like # uid=1000(toto)
因此,在启动和构建您的Docker镜像之前,请在.env
文件中使用相同的uid。
USER_UID=1000
更新Roadiz源代码
只需调用composer update
即可升级Roadiz。如果您需要迁移数据库,则需要执行常规操作。
最大化生产性能
您可以根据关于对Symfony应用程序进行性能调整的已详细记录的文章进行操作。
优化类自动加载器
composer dump-autoload --optimize --no-dev --classmap-authoritative
增加PHP缓存大小
; php.ini opcache.max_accelerated_files = 20000 realpath_cache_size=4096K realpath_cache_ttl=600
使用Gitlab Registry构建Docker镜像
您可以通过我们的roadiz/php80-nginx-alpine
基础镜像、如Gitlab CI之类的持续集成工具和私有Docker仓库来创建一个包含您的Roadiz项目的独立Docker镜像。所有主题资产将在受控环境中编译,并且每次更新时,您的生产网站都将具有最小停机时间。
请确保在主题中不要忽略package.lock
或yarn.lock
文件,以防止CI系统编译主题资源时出现依赖错误。您也可以为项目添加相同的composer.lock
文件,以确保开发环境和CI任务中使用相同的依赖版本。
标准版提供了带有Dockerfile
的基本配置集。
- 自定义
.gitlab-ci.yml
文件,以反映您的Gitlab实例配置、主题路径和项目名称。 - 在Composer的
pre-docker
脚本中添加您的主题,以便在Docker构建过程中将主题资源安装到web/
目录下。
php bin/roadiz themes:assets:install MyTheme
- 在
.dockerignore
文件中添加您的主题,以在构建过程中包含您的资源,更新以下行以强制将忽略的文件添加到Docker镜像中
!themes/BaseTheme/static
!themes/BaseTheme/Resources/views/base.html.twig
!themes/BaseTheme/Resources/views/partials/*
- 在您的仓库设置中启用注册表和持续集成。
- 在您的Gitlab实例上推送代码。在推送新的标签并且测试和构建任务成功后,应该会触发镜像构建。