aptoma/silex-bootstrap

此包已被废弃,不再维护。未建议替代包。

Silex项目的基礎bootstrap。用作快速开始的模板。

安装: 390

依赖: 0

建议者: 0

安全: 0

星标: 31

关注者: 12

分支: 15

开放问题: 1

语言:JavaScript

1.0.0 2014-02-10 13:31 UTC

This package is auto-updated.

Last update: 2023-07-31 09:14:53 UTC


README

Build Status Coverage Status

此仓库为构建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.phpsrc/App/Controller/DefaultController.phpsrc/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/logapp/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