microstudi / silex-grunt-skeleton
带有Grunt任务的Silex微框架预配置骨架
Requires
- php: >=5.4.0
- silex/silex: ~1.3
- silex/web-profiler: ^1.0
- symfony/class-loader: ^2.8
- symfony/config: ^2.8
- symfony/console: ~2.8
- symfony/debug: ~2.8
- symfony/finder: ~2.8
- symfony/form: ~2.8
- symfony/http-kernel: ^2.8
- symfony/monolog-bridge: ~2.8
- symfony/process: ~2.8
- symfony/security: ~2.8
- symfony/translation: ~2.8
- symfony/twig-bridge: ~2.8
- symfony/validator: ~2.8
- twig/extensions: ^1.3
Requires (Dev)
README
另一个Silex框架骨架
这是一个从 https://github.com/silexphp/Silex-Skeleton 转移过来,并添加了以下功能的版本
- 内置PHP服务器(所需最低版本5.4)
- 任何CSS、JS或PHP文件更改的实时预览加载
- 带有视图、phpunit测试和路由的示例类
- Grunt用于自动化任务
- Bower用于安装JavaScript包(目前为jQuery、Modernizr)
安装
composer create-project microstudi/silex-grunt-skeleton new_app_path
GRUNT、BOWER和COMPOSER
这些工具是使用此项目所必需的
-
Grunt 是一个JavaScript任务运行器,可以帮助执行重复性任务,例如
- JavaScript压缩
- CSS压缩
- 图片优化
- 包安装器
- 代码检查和测试
- ...等等...
-
Bower 是一个用于常见JavaScript库的依赖管理器
-
Composer 是一个用于常见PHP库的依赖管理器
安装Grunt和Bower
Grunt是通过npm(Node.js)安装的可脚本化任务工具
如果您想在Ubuntu 12.04或14.04上首次安装nodejs、Grunt和Bower,只需执行以下命令
sudo apt-get install build-essential libssl-dev git
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
sudo npm install -g grunt-cli
sudo npm install -g bower
此外,您可能需要删除npm用户目录的配置,以避免在使用非root用户npm时出现意外的权限问题
sudo rm ~/.npm -rf
在Ubuntu或任何其他*nix上安装Composer,请执行以下命令
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
对于其他操作系统,请参阅官方安装指南
安装Grunt: https://grunt.node.org.cn/getting-started 安装Bower: http://bower.io/#install-bower 安装Composer: https://getcomposer.org/doc/00-intro.md
使用Grunt
一旦您安装了Grunt,您需要安装任务运行器。为了做到这一点,您可以在包含Silex-Skeleton代码的路径中执行
npm install
使用Bower
一旦您安装了Bower,您需要下载/更新所需的JavaScript库。为了做到这一点,您可以在包含Silex-Skeleton代码的路径中执行
bower install
使用Composer
一旦您安装了Composer,您需要下载/更新所需的PHP库。为了做到这一点,您可以在包含Silex-Skeleton代码的路径中执行
composer install
之后,您就可以在相同目录下执行任何可用的任务了
grunt jshint
grunt phplint
...
Grunt命令
-
默认任务:
grunt
此任务等同于执行grunt lint
它执行静态代码分析,以快速检测错误或拼写错误 -
代码检查器:
grunt lint
与默认任务相同 -
Wiredep
grunt wiredep
此任务是在指定的布局中添加bower组件。每次安装bower库时都应手动执行 -
构建
grunt build
将项目构建到dist文件夹中。生产Web服务器应指向“dist/web”文件夹 -
serve
grunt serve
启动一个指向开发文件夹 "web" 的内置 PHP 服务器,并开启 livereload 功能。 -
serve:dist
grunt serve:dist
构建项目,并启动一个指向生产文件夹 "web" 的内置 PHP 服务器,并开启 livereload 功能。 -
precommit
grunt precommit
如果您想将其添加到 pre-commit git 钩子中,这个任务非常有用。它仅对修改的文件执行 lint 任务,以便您防止提交损坏的文件。.git/hooks/pre-commit
文件内容#!/bin/sh grunt precommit
记得将其设置为可执行
$ chmod +x .git/hooks/pre-commit
待办事项
- 添加可选的 yml 配置以设置资源路径(cdn、jQuery cdn 或 cdnfy)、Google 分析等
- 将 phpunit 添加到 grunt
- 添加翻译
- doctrine