michaldudek/splot-project

为Splot框架设置项目,其中包含我喜欢的多个附加资源和模块。

安装: 12

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

语言:JavaScript

dev-master 2015-08-14 11:16 UTC

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执行资源管理(构建、编译、压缩、代码检查等)
  • 部署
    • 使用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.*.ymlconfig/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安装的常用库(包括jQueryBootstrap 3AngularJSFont Awesomelodash)。

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)、代码检查器(PHPCSJSHint)、混乱检测器(PHPMD)等一次性运行在源代码上。

部署

Capistrano用于部署。在运行部署之前,您应该编辑config/deploy/中的文件,以引用您的Git仓库并配置部署目标。

配置完成后,您将能够使用以下命令将应用程序部署到您的环境

$ cap prod deploy
$ cap dev deploy
$ cap [env] deploy

$ make deploy

以部署到prod环境。