allmega/blog
基于Symfony的内容管理系统
v1.0.0
2024-09-27 19:48 UTC
Requires
- php: ^8.2
- ext-dom: *
- ext-json: *
- allmega/auth: ^1.0
- allmega/media: ^1.0
This package is auto-updated.
Last update: 2024-09-27 19:49:10 UTC
README
请确保已全局安装Symfony、Nodejs和Composer,具体安装方法请参考其文档中的安装章节
创建您的项目目录
打开命令行工具,进入您的webroot目录,然后执行以下命令
$ symfony new YOUR_PROJECT_NAME --webapp --version=lts
安装所有必需的依赖项
打开命令行工具,进入您的项目目录,然后执行以下命令
$ composer require api symfony/webpack-encore-bundle symfony/finder twig/markdown-extra twig/intl-extra symfonycasts/verify-email-bundle symfonycasts/reset-password-bundle symfony/rate-limiter nelmio/api-doc-bundle nelmio/security-bundle gesdinet/jwt-refresh-token-bundle knplabs/knp-snappy-bundle knplabs/knp-paginator-bundle knpuniversity/oauth2-client-bundle league/commonmark league/oauth2-facebook league/oauth2-google zytzagoo/smtp-validate-email
安装用于phpunit测试的Dama扩展包
$ composer require dama/doctrine-test-bundle --dev
为JWT Lexik扩展包生成SSL密钥
$ ./bin/console lexik:jwt:generate-keypair
密钥将保存在config/jwt/private.pem和config/jwt/public.pem中,将以下空键添加到文件config/packages/security.yaml
中:security.firewalls.api
安装wkhtmltopdf
请参阅wkhtmltopdf的安装说明。打开.env
文件,并调整wkhtmltopdf二进制文件的路径,例如/usr/bin
等
使用Symfony Flex的应用程序
打开命令行工具,进入您的项目目录,然后执行以下命令
$ composer require allmega/blog
不使用Symfony Flex的应用程序
第1步:下载扩展包
打开命令行工具,进入您的项目目录,然后执行以下命令以下载此扩展包的最新稳定版本
$ composer require allmega/blog
第2步:启用扩展包
然后,通过将其添加到项目config/bundles.php
文件中注册的扩展包列表中来启用扩展包
return [
// ...
Allmega\BlogBundle\AllmegaBlogBundle::class => ['all' => true],
];
修改Webpack配置
- 在文件
webpack.config.js
中取消注释.autoProvidejQuery()
这一行 - 在此行之后添加以下内容:
.autoProvideVariables({ $: 'jquery', jQuery: 'jquery', 'window.jQuery': 'jquery' })
- 在
ENTRY CONFIG
区域添加扩展包和主题资源条目部分
/** ALLMEGA_BEGIN_BUNDLES_ENTRIES */
/** ALLMEGA_END_BUNDLES_ENTRIES */
/** ALLMEGA_BEGIN_THEME_ENTRIES */
/** ALLMEGA_END_THEME_ENTRIES */
注册所有需要的扩展包
打开命令行工具,进入您的项目目录,然后执行以下命令
$ ./bin/console allmega:packages:register all
如有必要,添加测试的配置选项
如果不存在,则创建文件.env.test.local
,并将文件.env.local
的内容复制粘贴到创建的文件中,保存并关闭此文件
安装webpack-encore的库
打开命令行工具,进入您的项目目录,然后执行以下命令
$ npm install @popperjs/core @fortawesome/fontawesome-free jquery bootstrap flatpickr hc-offcanvas-nav
$ npm run build
导入包配置文件
将以下行添加到config/services.yaml
imports:
- { resource: '@AllmegaAuthBundle/config/packages/' }
- { resource: '@AllmegaBlogBundle/config/packages/' }
为CMS创建数据库表
打开命令行工具,进入您的项目目录,然后执行以下命令
$ ./bin/console doctrine:schema:update -f
为已注册的扩展包加载数据
打开命令行工具,进入您的项目目录,然后执行以下命令
$ ./bin/console allmega:packages:load all -s
编辑“composer.json”中的“auto-scripts”部分
"auto-scripts": {
"cache:clear": "symfony-cmd",
"importmap:install": "symfony-cmd",
"assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd",
"doctrine:schema:update -f --complete": "symfony-cmd",
"allmega:packages:register all --no-interaction": "symfony-cmd",
"allmega:packages:load all": "symfony-cmd"
},
测试
打开phpunit.xml.dist
,并将以下内容添加到php
标签中
<env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled" />
打开命令行工具,进入您的项目目录,然后执行以下命令
$ ./bin/phpunit --stop-on-failure