aptoma / silex-bootstrap
Silex项目的基礎bootstrap。用作快速开始的模板。
Requires
- aptoma/silex-extras: ~1.2
- monolog/monolog: ~1.3
- silex/silex: ~1.1
- symfony/browser-kit: ~2.3
- symfony/css-selector: ~2.3
- symfony/monolog-bridge: ~2.3
- symfony/twig-bridge: ~2.3
Requires (Dev)
- pdepend/pdepend: ~1.1
- phpmd/phpmd: ~1.4
- phpunit/phpunit: ~3.7
- squizlabs/php_codesniffer: ~1.4, <1.5
This package is auto-updated.
Last update: 2023-07-31 09:14:53 UTC
README
此仓库为构建Silex应用程序的起点。它包括
- 目录结构
- 占位符和默认配置
- CI/QA配置
此仓库由aptoma/silex-extras补充,其中包含各种助手、基类和服务。目的是您永远不需要重新基准Silex Bootstrap,因为所有重要的更新将由Silex Extras处理,您可以通过Composer简单地更新。实际上,您应该在下载项目后删除.git
目录。
要开始一个新项目,运行
$ composer create-project aptoma/silex-bootstrap <target-dir>
要开始,您可能想查看app/app.php
以了解配置引导,然后查看app/routing.php
、src/App/Controller/DefaultController.php
和src/App/views
以获取一些基本操作。
此仓库包含一些示例文件和此类注释,显然不应保留在项目中。当准备好时,请删除此部分的所有内容,并根据您的项目更新以下部分。
项目名称
技术负责人:name email@aptoma.com
产品描述
目的
明确定义和记录的目的和寿命
技术
技术和组件/模块的描述
与其他公司产品的集成
使用/集成的其他公司产品的描述
外部依赖
外部依赖(人员和系统)的描述
路线图
路线图和维护计划
文件夹概要
app # Config and bootstrap
src # Application code and views
tests # All tests
web # Public doc root. Front controller and assets.
在安装和CI过程中,还可能创建这些文件夹
build # Reports from various build tasks
node_modules # Dependencies managed by npm
vendor # Dependencies managed by Composer
默认情况下,日志和缓存分别写入到app/log
和app/cache
。
安装
描述安装方法
开发
安装依赖(需要全局安装 Composer、[NPM](https://github.com/joyent/node/wiki/Installing-Node.js-via-package- 包管理器) 和 Bundler)
$ composer --dev install
$ npm install
$ bundle install
还需要全局安装 jshint 和 grunt-cli
$ npm install -g jshint@0.9.1
$ npm install -g grunt-cli@0.1.6
设置日志和缓存的路径
$ grunt mac-paths # or ubuntu-paths if you are using ubuntu
# OR if your web server doesn't run as the default _www
$ grunt exec:mac-paths:<web_server_user>
# OR grunt exec:ubuntu-paths:<web_server_user>
要监视项目,请运行 bundle exec guard
;
权限
对于本地开发,您需要设置缓存和日志目录
mkdir -p app/cache
mkdir -p app/log
这些目录必须可以被 Web 服务器和命令行用户写入。在 UNIX 系统上,如果您的 Web 服务器用户与您的命令行用户不同,您只需在项目中运行以下命令一次即可确保权限设置正确。将 www-data 替换为您的 Web 服务器用户
1. 在支持 chmod +a 的系统上使用 ACL(通常为 MAC OS X)
许多系统允许您使用 chmod +a 命令。首先尝试此方法,如果出现错误,请尝试下一个方法
$ sudo chmod +a "_www allow delete,write,append,file_inherit,directory_inherit" app/cache app/log
$ sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/log
2. 在不支持 chmod +a 的系统上使用 ACL(通常为 Ubuntu)
某些系统不支持 chmod +a,但支持另一个名为 setfacl 的实用工具。您可能需要在使用它之前(例如,在 Ubuntu 中),在分区上启用 ACL 支持,并安装 setfacl,如下所示
$ sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
$ sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
描述其他本地开发所需的物品
测试
PHP 测试由 PHPUnit 提供。您有多种选择。
- 如果全局安装了 PHPUnit,请运行
phpunit
- 运行
bin/vendor/phpunit
以运行由 Composer 安装的版本。这确保您正在运行与测试套件兼容的版本。 - 运行
grunt phpunit
,基本上是bin/vendor/phpunit
的包装器 - 运行
bundle exec guard
以监视文件,并在源代码或测试文件更改时运行测试
JavaScript 测试正在开发中。
贡献
描述贡献指南。
要为此项目做出贡献,只需创建一个功能分支,做您的事情,然后提交一个 pull request。如果您在项目中做了很多您认为应该轻松回滚到旧 silex-bootstrap
基于项目的操作,请考虑将它们提取到可以由 Composer 管理的单独包中,或将它们添加到 silex-extras。