hydra/app

Hydra的RESTfull PHP5.3微框架的应用模板。

dev-master 2012-08-12 17:28 UTC

This package is not auto-updated.

Last update: 2024-09-28 14:22:35 UTC


README

这是一个Hydra微框架的应用。请参阅https://github.com/z7/hydra

配置

有一个主要的配置文件 - /app/config.php,您可以在这里调整设置。

要调整核心配置选项,您需要编辑/web/index.php。

/data文件夹

您应该只允许Web服务器向此文件夹及其内容写入。

/data/web子文件夹将存储可访问的地址为

http://example.com/vendor/data/ASSETS
的上传文件。

/web文件夹

在这里存储所有您的公共资产(图像、CSS、JS)。

如果您使用第三方库,请使用CDN,如

https://developers.google.com/speed/libraries/devguide
。如果没有为您的库提供CDN,则将其放入自己的/web/vendor/LIBRARY-NAME子文件夹中。

如果您需要提供动态资产,请附加'.php'扩展名。

示例:要提供

http://example.com/js/dynamic.js?foo=bar
,创建一个/form>/web/js/deynamic.js.php文件如下所示

expires(60 * 60 * 24, true); // 缓存响应1天 ?>

alert(query['foo']) ?>);

/app/src子文件夹

将钩子直接存储在src文件夹中。

在这里存储所有应用程序类。

重要:使用App命名空间。例如,\App\Controller\SampleController类应存储在src/App/Controller/SampleController.php。

/app/views子文件夹

在这里存储所有您的Twig视图。

/app/plugins子文件夹

在这里存储第三方Hydra插件。每个插件可能包含以下内容

  • src/文件夹包含类。插件负责使用自动加载器注册类。如果它提供公共控制器,则应明确注册路由。

  • web/文件夹包含Web资产,可通过

    http://example.com/plugins/PLUGIN-NAME/ASSETS
    访问。第三方库应放置在web/vendor/子文件夹中。

  • hooks/文件夹包含任意数量的*.hook.php文件(自动检测)。

  • views/文件夹(模板应明确注册)。

  • vendor/ PHP库。

  • README.md文件。

  • 如果插件有PHP依赖项,请提供composer.json文件(参见vendor/库)。

插件可以嵌套在子文件夹中,但在此情况下,"web"目录应由插件本身提供服务。

IDE集成

如果您在钩子文件中有方法或服务声明,创建src/ide_helper.php文件,并用PHP文档描述您的签名。