chigix / chiji
PHP前端集成解决方案
Requires
- php: >=5.4
- chigix/io-component: ~0.1.1
- codegyre/robo: *@stable
- oyejorge/less.php: ~1.5
- symfony/console: 2.*
Requires (Dev)
README
Chiji是一个PHP组件,提供最佳的前端集成解决方案。
入门指南
Chiji基础包是一个PHP库,虽然它是为JAVA Web、PHP MVC框架、单页应用等所有前端项目场景设计的。
最初,这个基础包只是一个工具集,包括项目、注解、SourceRoad类,帮助用户在WEB项目中重新组织前端资源。当然,还需要一个自定义的PHP脚本作为主入口来启动资产分发的任务。
总之,所有用户(无论UED工程师还是此包的贡献者)都需要PHP知识,不过,我们还提供了一些桥接包,以适应常见的框架或场景,例如为Symfony用户提供的Chiji-Bundle。
要轻松一些,安装是最简单的。所有东西(包括桥接包)都可以通过Composer安装,Composer只是一个没有PHP细节的Linux命令行工具。进入下一节(安装)的唯一技术要求是在你的Composer上安装PHP 5.4或更高版本。如果你使用WAMP、XAMP或MAMP等包装的PHP解决方案,请检查它们是否为PHP5.4或更高版本。你还可以在终端或命令控制台中执行以下命令来显示安装的PHP版本
$ php --version
安装Chiji-Frontend
全局上,官方Chiji-Frontend Circle中的所有内容都应该提交到Packagist,因此你可以直接使用Composer来完成安装任务
$ composer require chigix/chiji:~1.0.0
如果你使用某些流行的框架或需要其他桥接包,你可以从对应的项目中查看详细信息。
主要观点
在Chiji解决方案中,前端项目可以围绕资源,以三个部分来解决
- 资源定位
- 资源关系
- 资源发布
每个资产文件(css、js、脚本、图片)都被视为一个位于一个项目中的资源。然后项目将尝试找到目标资产文件,并通过SourceRoad注册为映射资源对象,SourceRoad负责资产预构建和发布流程。
注解是用于资源之间需求关系的主要工具。更自由地说,可以实现自定义注解来覆盖更多资源操作需求和场景。
对于用户来说,设计资源操作流程和发布计划是主要任务,也许你可以看看Symfony Chiji-bundle桥接仓库。
基本API使用
本节简要介绍了Chiji基础包的PHP API。
<?php // /path/to/conf-file.php class ConfigFile extends \Chigi\Chiji\Project\ProjectConfig { public function getProjectName() { return "AppName"; } } return new ConfigFile(); ?>
首先,需要创建前端项目的配置文件,并定义源道路。默认情况下,可以使用\Chigi\Chiji\Project\ProjectConfig
抽象类作为启动套件直接使用。
require_once '/path/to/vendor/autoload.php' $project = new \Chigi\Chiji\Project\Project("/path/to/conf-file.php"); \Chigi\Chiji\Util\ProjectUtil::registerProject($project); foreach ($project->getReleaseDirs() as $dir) { // ... Clean and init release directories. } foreach ($project->getSourceDirs() as $dir) { // ... scan the directory for register files as resource. $project->getResourceByFile($file); // ... } foreach ($project->getRegisteredResources() as $resource) { if ($resource instanceof \Chigi\Chiji\File\Annotation) { $resource->analyzeAnnotations(); } } foreach ($project->getReleasesCollection() as $resource) { $project->getMatchRoad($resource->getFile())->releaseResource($resource); }
注册配置的项目后,可以安排资源操作
- 通过项目中的定义源道路定位资源。
- 通过资源代码中嵌入的注解关联资源。
- 通过项目中的定义源道路发布资源。
更多信息
阅读文档获取更多信息。