evercode / symfony-skeleton
带有基本配置的“Symfony Evercodelab 版本”骨架
此包的规范存储库似乎已消失,因此已冻结此包。
Requires
- php: >=5.4
- doctrine/data-fixtures: ~1.0
- doctrine/doctrine-bundle: ~1.2
- doctrine/doctrine-fixtures-bundle: ~2.2
- doctrine/doctrine-migrations-bundle: 2.1.x-dev
- doctrine/migrations: 1.0.x-dev
- doctrine/orm: ~2.4
- evercodelab/hipchat-monolog-bundle: dev-master
- friendsofsymfony/user-bundle: 2.0.*@dev
- gedmo/doctrine-extensions: ~2.3
- incenteev/composer-parameter-handler: ~2.0
- jms/security-extra-bundle: ~1.5
- knplabs/knp-menu-bundle: ~2.0
- knplabs/knp-paginator-bundle: ~2.4
- liip/imagine-bundle: ~1.2
- sensio/distribution-bundle: ~3.0
- sensio/framework-extra-bundle: ~3.0
- sonata-project/admin-bundle: ~2.3
- sonata-project/block-bundle: ~2.2
- sonata-project/core-bundle: ~2.3
- sonata-project/doctrine-orm-admin-bundle: ~2.3
- symfony/assetic-bundle: ~2.3
- symfony/monolog-bundle: ~2.4
- symfony/swiftmailer-bundle: ~2.3
- symfony/symfony: ~2.6
- twig/extensions: ~1.0
- vich/uploader-bundle: ~0.14
Requires (Dev)
- liip/functional-test-bundle: ~1.0
- phpunit/phpunit: 4.5.*@dev
- sensio/generator-bundle: ~2.3
This package is not auto-updated.
Last update: 2020-12-19 10:47:28 UTC
README
我们很高兴向大家介绍 Symfony EvercodeLab 版本,这是我们对 Symfony Standard 版本 的小型改进,旨在加快新应用程序的开发过程。
除了标准的 Symfony2 组件外,此版本还包括我们通常在项目中使用的某些附加包。
- GedmoDoctrineExtensions — 扩展 Doctrine 功能。添加了诸如 Timestampable(添加创建和更新时间)、Tree(添加树操作)等有用的功能。
- SonataAdminBundle — 用于 Symfony 的管理界面
- KnpMenuBundle — 生成菜单
- KnpPaginatorBundle — 创建分页
- FosUserBundle — 用户管理
- FOSRestBundle — 此包提供了一套工具,用于快速开发 RESTful API 和应用程序
- DoctrineFixturesBundle — 管理固定值
- DoctrineMigrationsBudnle — 管理迁移
- LiipImagineBundle — 处理图像的包
- VichUploaderBundle — 显著简化了文件的上传和显示
安装
安装有多种方法。第一种是使用 composer
composer.phar create-project evercode/symfony-skeleton path/
第二种方法是使用 github 进行克隆
git clone git@github.com:EvercodeLab/symfony-skeleton.git path/
在两种情况下,path
是新项目安装的路径。
以下步骤对两种选项都是相同的,我们需要运行安装脚本,它将为我们完成大部分工作
bin/setup
脚本执行以下操作
- 创建必要的目录(
app/cache
和app/logs
)并设置必要的权限(在此处,安装脚本可能需要您输入sudo
的密码,因为设置文件夹权限是以管理员身份进行的) - 如果需要,下载 composer,然后安装必要的包。
- 创建数据库并执行必要的操作使其正常工作(迁移和固定值加载),在基本版本中,创建 FosUserBundle 的表格并加载测试用户。
好了,现在我们的项目已经准备好开始工作了!
使用内置服务器启动项目
只需运行以下命令即可
bin/start
在此之后,项目将更新(如果有需要更新的内容),之后将启动一个测试服务器,地址为 https://
,端口范围为8000到8010,具体取决于哪些端口已被占用,哪些端口是空闲的。
测试
为了进行测试,我们使用 Behat + Mink。这里同样很简单。测试文件位于 features
文件夹中,通过命令 bin/behat
运行。基本上就是这样。为了更好地理解Behat的使用,最好参考官方网站上的文档。
此外,我们还使用 phpspec 进行规格测试(实际上,我们需要理解我们实际上是将它们作为单元测试来使用,只是悄悄地!)。
部署
为了部署,我们使用 capifony。为了让它工作,我们需要在配置文件 deploy.rb
中做出必要的更改。
细节
如果我们使用nginx作为服务器,则在某些情况下我们需要修改其配置。
# Your virtual host server { ... location ~ ^/(app|app_dev|apc-.*)\.php(/|$) { { # This will allow accelerator cache (apc-{MD5HASH}.php) files to be processed by fpm fastcgi_pass 127.0.0.1:9000; ...
If you are using nginx and limiting PHP scripts that you are passing to fpm you need to allow 'apc' prefixed php files. Otherwise your web server will return the requested PHP file as text and the system won't be able to clear the accelerator cache.