soflomo/prototype

用于在 Zend Framework 2 中快速开始 HTML 页面原型设计的轻量级模块

v0.2.0 2014-04-04 08:46 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:34:24 UTC


README

Soflomo\Prototype 是一个帮助开发者快速创建应用原型的轻量级模块。该模块旨在快速创建各种页面,只需关注 URL 和视图模板。由于其简单目标,即使没有 PHP 经验的前端开发者也能创建设计原型。

简单来说,它允许你创建 URL 和视图模板之间的映射,因此只有几页的网站创建起来非常容易。每个页面都有一个名称,因此可以使用 Zend Framework 2 的 url() 视图助手在页面之间建立链接。

安装

Soflomo\Prototype 通过 composer 提供。将 "soflomo/prototype" 添加到你的 composer.json 列表中。在 Soflomo\Prototype 的开发过程中,你可以指定最新的可用版本。

"soflomo/prototype": "dev-master"

config/application.config.php 文件中启用模块。将 Soflomo\Prototype 添加到已启用模块的列表中。

使用方法

推荐的方法是创建一个模块来存放所有的原型视图脚本和页面配置。例如,你可以将此模块命名为 Mockups

创建原型模块

module 目录内创建一个名为 Mockup 的目录。在 module/Mockup 目录内创建一个名为 Module.php 的文件,并添加以下内容

<?php

namespace Mockup;

class Module
{
    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }
}

然后,在 module/Mockup/config 目录内创建一个名为 module.config.php 的文件,并添加以下内容

<?php
return array(
    'soflomo_prototype' => array(
    ),

    'view_manager' => array(
        'template_path_stack' => array(
            __DIR__ . '/../view',
        ),
    ),
);

最后一步,在 module/Mockup 内创建 view 目录。这应该足以让你开始使用此模块。

启用 Mockup 模块

找到 config/application.config.php 文件,并将 Mockup 模块添加到要启用的模块列表末尾。注意:确保你已如上所述在“安装”部分中启用了 Soflomo\Prototype 模块。

创建页面

最后一步是原型页面配置。返回 Mockup 模块中的 module.config.php 文件。在 soflomo_prototype 数组内,你可以创建(例如)两个页面

'homepage' => array(
    'route'    => '/',
    'template' => 'mockup/homepage'
),
'hello' => array(
    'route'    => '/hello-world',
    'template' => 'mockup/hello-world'
),

现在你有了两个页面,一个名为 homepage,当你加载应用程序 / 时加载(例如,http://mysite.localhost/),另一个名为 hello,当加载 /hello-world 时加载(例如,http://mysite.localhost/hello-world)。

对于这两个页面,你需要创建一个要加载的模板。在 module/Mockup/view 目录内创建一个新的 mockup 目录,并在其中创建一个 homepage.phtml 文件和一个 hello-world.phtml 文件。这些将分别用于渲染 homepagehello 页面。

如果你需要从一个页面创建到另一个页面的链接,只需使用 url() 视图助手。以下是一个在 homepage.phtml 中链接到 hello 页面的例子

<a href="<?php echo $this->url('hello'); ?>">Click me</a>

这将渲染一个链接,如下所示

<a href="/hello-world">Click me</a>

参数化路由

Soflomo\Prototype 支持 Zend Framework 2 中的段类型路由参数。这意味着你可以有一个像 /foo/bar/:id 这样的路由。默认情况下,该模块仅使用文本路由来匹配确切的 URL。这更快,但灵活性较低。你可以通过添加额外的 type 键来指定段类型。

'homepage' => array(
    'type'     => 'segment',
    'route'    => '/foo/bar/:id',
    'template' => 'mockup/foo-bar'
),

这些路由类型在处理现有应用程序时非常有用。如果您有一个处理参数化路由的应用程序,您希望在原型页面中也拥有一个参数化路由。这样,当用户访问模拟页面时,您可以始终导航回您的真实应用程序。

为什么?

您可能会问,为什么我们构建了这个模块而没有使用像Silex这样的微框架。或者,为什么我们不直接从Zend Framework 2开始。

为了回答第一个问题,微框架很难与现有的Zend Framework 2应用程序结合使用。我们(在Soflomo)需要一种为现有应用程序创建原型的途径。如果我们为新模块原型设计新设计,则应保持现有网站上的现有设计和现有模块完好无损。

然而,“正常”的Zend Framework 2配置如果只是想要连接视图脚本和路由的话,是一项相当繁重的工作。前端开发者可以轻松地复制/粘贴上述代码以创建新模块,并立即开始运行。使用现有的嵌套路由、创建控制器、动作、通过配置使其可加载、从路由匹配选项中获取视图模板并返回正确配置的视图模型需要花费太多的时间和精力。对于快速原型设计,现在只需添加四个页面名称、路由和视图脚本即可,它会立即工作(商标)。

开发

Soflomo\Prototype旨在快速创建原型,但这个模块绝不是为生产使用而设计的。目前尚未测试、不稳定,并且没有保证它是无错误的。自行承担风险!

如果您想加入开发或发现任何错误,请随意分支此项目并做出您的调整。创建一个pull request来请求将更改合并回Soflomo\Prototype。如果您对此模块有任何问题,请随时通过jurian@juriansluiman.nl与我们联系。