承接 rtens/fido 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rtens/fido

最新稳定版本:v1.0

Composer 安装命令:

composer require rtens/fido

包简介

Asset fetcher for PHP

README 文档

README

#fido Build Status

A simple composer plugin that simplifies installing packages without dependency management support (e.g. assets from URLs or git repositories).

Installation

Because of composer's plugin system, you need to install fido globally

composer global require "rtens/fido:~1.0"

(there is a pull request to fix that)

Usage

The requirement definitions go into the extra object using the ke fido-fetch. Here is an example with two packages.

"extra": {
    "fido-fetch": {
        "base-dir": "web/assets/vendor", // defaults to "assets/vendor"
        "jquery": {
            "source": "https://code.jquery.com/jquery-2.1.1.js",
            "type": "file", // optional, inferred from source
            "target": "jquery.js" // Optional, defaults to file name
        },
        "phantom.js runner": {
            "source": "https://github.com/jonkemp/qunit-phantomjs-runner.git",
            "type": "git", // optional, inferred from source
            "target": "phantomjs-runner", // Optional, defaults to repository name
            "reference": "v1.2.0" // optional, defaults to "*"
        }
    }
}

This can be shortened in several steps. First, by leaving out the optional definitions.

"extra": {
    "fido-fetch": {
        "jquery": {
            "source": "https://code.jquery.com/jquery-2.1.1.js",
        },
        "phantom.js runner": {
            "source": "https://github.com/jonkemp/qunit-phantomjs-runner.git",
        }
    }
}

To shorten it even more, the value of source can be used as package names.

"extra": {
    "fido-fetch": {
        "https://code.jquery.com/jquery-2.1.1.js": {},
        "https://github.com/jonkemp/qunit-phantomjs-runner.git": {}
    }
}

Finally, these definitions can also be put into the require object (including versions for git repositories) by prefixing them with fido-fetch:.

"require": {
    "fido-fetch:https://code.jquery.com/jquery-2.1.1.js": "*",
    "fido-fetch:https://github.com/jonkemp/qunit-phantomjs-runner.git": "v1.2.0"
}

Dev Mode

You can also specify packages for dev-mode only using the fetch-fido-dev and require-dev objects.

Documentation

For a complete documentation, check out fido's executable documentation

But.. why?

Convenience, mostly.

There are of course several ways to get bootstrap, jquery and their likes into your project without bundling them with it. You could use bower or npm for example or, if you don't like javascript, you can get the the excellent bower/npm composer plugin.

But some packages, like the qunit-phantomjs-runner, don't support any dependency management system. For these cases exists composer's package type repository (thanks Igor for pointing that out).

Now if you would like to have these packages in another directory than vendor, you can either symlink to them or use the composer-custom-directory-installer plugin which lets you decide where certain packages should be installed.

This is how the composer.json looks like with if you would require bootstrap and the qunit-phantomjs-runner with this approach:

{
    "require": {
        "mnsami/composer-custom-directory-installer": "1.0.*",
        "jquery":"2.1.1",
        "jonkemp/qunit-phantomjs-runner":"1.1.0"
    },
    "extra": {
        "installer-paths":{
            "web/assets/jquery/jquery.js": ["jquery"],
            "web/assets/phantomjs-runner": ["jonkemp/qunit-phantomjs-runner"]
        }
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "jquery",
                "version": "2.1.1",
                "dist": {
                    "url": "https://code.jquery.com/jquery-2.1.1.js",
                    "type": "file"
                }
            }
        },
        {
            "type": "package",
            "package": {
                "name": "jonkemp/qunit-phantomjs-runner",
                "version": "1.1.0",
                "source": {
                    "url": "https://github.com/jonkemp/qunit-phantomjs-runner.git",
                    "type": "git",
                    "reference": "tags/v1.1.0"
                }
            }
        }
    ],
    "minimum-stability": "dev"
}

And this is actually (more or less) what fido compiles to, simply with a shorter, simpler syntax.

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-10-30

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固