michaldudek / splot-project
为Splot框架设置项目,其中包含我喜欢的多个附加资源和模块。
Requires
- php: >=5.4.0
- splot/assets-module: >=0.9,<2.0
- splot/devtools-module: >=0.9,<2.0
- splot/framework: >=0.9,<2.0
- splot/framework-extra-module: >=0.9,<2.0
- splot/knit-module: >=0.9,<2.0
- splot/twig-module: >=0.9,<2.0
- splot/weblog-module: >=0.9,<2.0
Requires (Dev)
- phpmd/phpmd: ~2.2
- phpunit/phpunit: ~4.8
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-09-06 03:21:26 UTC
README
为使用Splot框架的PHP项目创建的自定义模板。包括前端资源管理、便捷的Vagrant配置、简化常见QA任务、后端工作(PHP)和前端工作(JavaScript和CSS使用为其设计的工具进行管理)的职责分离以及内置部署工具。
是Splot默认项目的丰富且具有偏见的替代方案。
$ composer create-project michaldudek/splot-project ./project -s dev
$ cd ./project
# edit Vagrantfile, line 1
$ vagrant up
$ curl http://www.changeme.dev
# develop
$ make assets
$ make qa
$ cap prod deploy
# ???
# profit
概念
- 后端(PHP)
- 整个后端应用程序代码位于
src/
- 所有后端测试位于
tests/
- 应用程序配置存储在
config/
- Splot控制台作为
$ php console
可用
- 整个后端应用程序代码位于
- 前端(JavaScript和CSS)
- 所有应用程序CSS和JavaScript代码位于
web/
- 使用LESS作为CSS预处理器
- 使用Bower管理供应商依赖项,Bower目录为
web/components/
- 使用Gulp执行资源管理(构建、编译、压缩、代码检查等)
- 所有应用程序CSS和JavaScript代码位于
- 部署
- 使用Capistrano进行应用程序部署
- 管理、QA和构建
- 常见任务已集成到
Makefile
和$ make
命令中
- 常见任务已集成到
使用
在创建新的PHP项目时,只需运行
$ composer create-project michaldudek/splot-project ./project -s dev
其中./project
是项目名称/路径。
然后你应该运行$ cd ./project
并编辑一些文件进行配置。
Vagrant
安装后编辑Vagrantfile
。更改第一行的应用程序名称
APP_NAME = "changeme"
此名称将被用作您的开发域名,即www.APP_NAME.dev
(其中www.
是可选的)。
要启动您的开发服务器,请运行
$ vagrant up
这将启动一个预装PHP 5.6(opcache已禁用)、Apache2、Memcached、MongoDB、MySQL、node.js、Redis和Xdebug的Ubuntu 14.04 VM。您可以根据需要编辑Vagrantfile
。
您的应用程序现在可以通过上述域名访问。
后端(PHP)开发
有关如何使用它开发PHP应用程序的信息,请参阅Splot框架。
探索config/config.*.yml
和config/parameters.yml.dist
(删除.dist
扩展名)的内容,以获取应用程序配置。
您所有应用程序的PHP代码应位于src/
,它使用PSR-0标准自动加载。所有测试应位于tests/
并使用Tests\
命名空间前缀。
您应经常运行代码的QA工具(最好在每次提交/推送之前)使用以下命令
$ make test // runs PHPUnit tests
$ make phpcs // runs PHPCS on the contents of src/
$ make phpmd // runs PHPMD on the contents of src/
(运行$ make help
以查看更多选项)。
前端(JavaScript和CSS)开发
此模板附带了一些从Bower安装的常用库(包括jQuery、Bootstrap 3、AngularJS、Font Awesome和lodash)。
CSS
使用LESS作为CSS预处理器,所有代码都存放在web/less/
目录中。存在一个单独的文件app.less
,它将被编译并导入所有其他组件。所有变量和混合函数都应该放在_varmix.less
文件中。
要编译CSS,请运行
$ make css
JavaScript
所有应用JavaScript代码存放在web/js
目录中。本项目模板提供了一个AngularJS应用的骨架,但这不是强制性的或必要的。只需编辑或删除app.js
文件,从头开始。
要编译JavaScript,请运行
$ make js
这将连接并压缩目录及其子目录中找到的所有*.js
文件。
您应该经常使用QA工具(在编写本文时仅限JSHinting)运行JavaScript
$ make js:hint
所有第三方库都编译到一个单独的文件libs.js
中。要配置应该放入该文件的内容(例如,关闭不需要的库并添加任何新的),请编辑gulpfile.js
文件,您将看到js-libs
任务中包含的文件列表。
构建
使用上述命令构建CSS或JavaScript代码将连接、压缩并生成所有代码的源映射,并将结果放在web/assets
目录中。此目录中的代码应在您的应用程序中引用。
创建的目标文件将附加校验和以修订其名称(以增强浏览器缓存而不出现问题时),因此每次编译后它们将具有不同的名称。请查看base.html.twig模板,了解如何解决此问题 - 使用Splot Assets Module,我们在HTML中添加了通配符文件。默认情况下,它们配置为不被Splot压缩或连接,因此应该对性能影响最小。
运行$ make assets
来构建所有资产。
使用Gulp进行构建,在开发时您应该运行
$ gulp watch
以监视CSS和JavaScript文件的变化并立即进行编译。
Makefile
本项目模板附带一个Makefile
,其中包含流线化的常见开发任务。请查看它并运行$ make help
以查看可用命令列表。最重要的是
$ make qa
它将测试(PHPUnit)、代码检查器(PHPCS和JSHint)、混乱检测器(PHPMD)等一次性运行在源代码上。
部署
Capistrano用于部署。在运行部署之前,您应该编辑config/deploy/
中的文件,以引用您的Git仓库并配置部署目标。
配置完成后,您将能够使用以下命令将应用程序部署到您的环境
$ cap prod deploy
$ cap dev deploy
$ cap [env] deploy
或
$ make deploy
以部署到prod
环境。