vikijel / joomla-extensions-packager
用于生成包含多个扩展的Joomla! CMS统一安装包(*.zip)的库
1.3.1
2016-06-28 10:19 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: 5.3.*
This package is not auto-updated.
Last update: 2024-09-14 19:25:35 UTC
README
用于生成包含多个扩展的Joomla! CMS统一安装包(*.zip)的PHP库
关于
- 包: vikijel/joomla-extensions-packager
- 来源: Packagist, GitHub
- 作者: Viktor Jelínek (VikiJel), vikijel@gmail.com
- 许可: The MIT License (MIT)
- 版权: (c) 2016 Viktor Jelínek
- 网站: http://www.joomla-extensions-packager.org
特性
- 将指定的扩展、语言、脚本文件等与自动生成的安装xml清单一起打包到ZIP归档中,以便安装到Joomla! CMS
- 创建的安装包是
- 兼容Joomla! 2.5及更高版本 (Xml清单具有
<extension>
根元素) - 原生扩展安装包类型‘package’
- 兼容Joomla! 2.5及更高版本 (Xml清单具有
要求
- PHP 5.6或更高版本
- 有关PHP版本兼容性的更多信息,请参阅PHPUnit结果在Travis上
通过Composer安装
在您的项目目录内运行此命令 (您的项目目录将在后面称为repository
)
composer require vikijel/joomla-extensions-packager
您需要安装Composer才能使上述命令生效
包含到项目中
- 如果您在项目中使用Composer,则应已在您的项目中引入
vendor/autoload.php
repository
= 您的项目目录(您在其中运行了composer require
)
require_once '/path/to/repository/vendor/autoload.php';
用法 - 基础
use VikiJel\JoomlaExtensionsPackager\Package; try { $path = Package::create('Something All-In-One') ->addExtension('com_test', '../tests/data/some_file.zip') ->addExtension('mod_test', '../tests/data/some_file.zip', 'module', 'site') ->addExtension('plg_system_test', '../tests/data/some_file.zip', 'plugin', null, 'system') ->pack(); echo 'Path to created package is ' . $path; //Outputs: Path to created package is: /path/to/repository/out/pkg_something_all_in_one-1.0.0.zip } catch (Exception $e) { die('Failed to create package, error: ' . $e->getMessage()); }
用法 - 高级
- 来源: examples/usage_advanced.php
- 更多信息可以直接在Package类和其他类中的php-doc注释中找到
use VikiJel\JoomlaExtensionsPackager\Package; use VikiJel\JoomlaExtensionsPackager\Extension; try { $path = Package::create('Something Else All-in-one') ->setAuthor('Your Name', 'your.email@example.com', 'http://your.domain.example.com') ->setVersion('1.2.3') ->setDescription('This is something else...') ->setLicense('GPL') ->setCreationDate('2016-05-21') ->setMinJoomlaVersion('2.5') ->setUrl('http://url.com') ->setScriptfile('../tests/data/some_file.php') ->addExtension('com_test', '../tests/data/some_file.zip') ->addExtension('mod_test', '../tests/data/some_file.zip', 'module', 'site') ->addExtensionInstance( Extension::create('plg_system_test', '../tests/data/some_file.zip') ->setType('plugin') ->setGroup('system') ) ->addExtension('tpl_test', '../tests/data/some_file.zip', 'template', 'admin') ->addExtension('lib_test', '../tests/data/some_file.zip', 'library') ->addExtension('lng_test', '../tests/data/some_file.zip', 'language', 'site') ->addExtensionInstance( Extension::create('file_test', '../tests/data/some_file.zip', 'file') ) ->addLanguage('../tests/data/some_file.ini', 'cs-CZ') ->addUpdateServer('http://updates1.example.com', 'My update server 1') ->addUpdateServer('http://updates2.example.com', 'My update server 2', 'collection', 2) ->pack('../out/custom', 'pkg_overridden_name.zip'); echo 'Path to created package is ' . $path; //Outputs: Path to created package is /path/to/repository/out/custom/pkg_overridden_name.zip } catch (Exception $e) { die('Failed to create package, error: ' . $e->getMessage()); }
此库与Joomla!项目或Open Source Matters无关,也未获得其认可。Joomla!®名称和标志是在美国和其他国家商标持有人Open Source Matters授予的有限许可下使用的。