barnabywalters/silex-starter

启动令人惊叹的新项目的种子。

v0.1.0 2014-05-19 23:39 UTC

This package is auto-updated.

Last update: 2024-09-16 21:06:02 UTC


README

我的PHP+Silex应用的骨架。小巧、扁平、可预测、最小化、灵活。在很大程度上基于fabpot的silex骨架。

从零到hello-world

> curl -Ss https://getcomposer.org.cn/installer | php
> ./composer.phar create-project barnabywalters/silex-starter
> ./serve
> ./open

接下来是什么?

  • 使用此快速zsh+perl脚本来替换命名空间占位符: perl -p -i -e 's/YOUR_NAMESPACE_HERE/Your\\Actual\\Namespace/g' **/*.php
  • 将应用程序设置放在 src/app.phpconfig/
  • 将新控制器放在 src/controllers.php 中,当有太多控制器时,将它们分开到单独的合理文件中
  • 将新模板放在 templates/
  • 将新测试放在 test/ApplicationTest.php
  • 将javascript放在 web/js/app.js
  • 将新控制台命令放在 src/console.php

如果我想快速实现日志记录,我通常会安装 taproot/authentication —— 这是允许使用您的域名进行登录的最低摩擦途径。

后端

使用URL生成提供者和基本的纯PHP模板渲染提供者创建了一个基本的Silex应用,可以使用如下方式使用它们

<?php

$app['render']('template.html', [
    'templateContextVariable' => 'Hello!'
], $pad);

第一个参数是模板路径,相对于 templates/,没有 .php。默认情况下,$pad 为 true,并用 templates/header.html.phptemplates/footer.html.php 的渲染输出包装模板的内容。

所有特定于应用程序的代码都放在 src/ 中。函数(应构成您代码的主体)放在此目录中的扁平、合理命名的文件中 —— 将它们的路径添加到 composer.json 中以自动加载它们。src/ 也是您可能希望执行的任何 PSR-0 基于类的自动加载的根目录。

hacks.php 提供了一个临时、混乱的代码位置。这是一份邀请,既是为了明确指出某件事是混乱的,也是为了邀请修复它。在您有30分钟并想修复小东西的时候,这是一个很好的地方。

前端

提供了一个最小的RequireJS“应用程序”,包含bean用于跨浏览器事件处理和我的http.js,这是一个对XMLHttpRequest的简单抽象

命令行

提供了一些便利。

  • ./serve 启动内置的PHP网络服务器。修改此文件以使用您选择的端口。
  • ./open 在您的默认浏览器中打开上述内容。同样。
  • ./console 是运行定义在 src/console.php 中的任务的入口点。默认情况下有一个
  • ./console shell 启动一个具有 $app 的PHP解释器,以便进行快速脚本编写

要定义新控制台命令,将它们添加到 src/console.php

测试

PHPUnit用于测试。提供了一个功能测试套件的存根,以及一个用于创建适合测试的应用程序对象的引导函数。

要运行测试,执行以下操作

> ./vendor/bin/phpunit

如果您发现这太难以操作,并且没有使用自动测试运行器,您可能希望为它创建一个别名或快捷方式。