alvarium / cake-oc
CakePHP 的 OCClient 插件
3.0.2
2017-12-15 18:44 UTC
Requires
- php: >=5.5.9
- cakephp/cakephp: >=3.3.2
- opencomponents/oc-client-php: dev-master
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-08 06:47:27 UTC
README
A CakePHP 3.X 插件,用于OpenComponents PHP 客户端
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方法是
composer require alvarium/cake-oc
配置
之后,在您的 bootstrap.php
文件中加载插件
Plugin::load('Alvarium/OCClient', ['bootstrap' => true]);
在您的 config
文件夹中创建一个名为 occlient.php
的文件,定义您的开放组件注册端点
<?php return [ 'OCClient' => [ 'serverRendering' => 'https://registry.your-company.io/', ] ];
然后,在您希望使用插件的控制器中加载组件 + 助手
<?php namespace App; use Cake\Event\Event; class PostsController extends AppController { public function initialize() { parent::initialize(); $this->loadComponent('Alvarium/OCClient.Client'); } public function beforeRender(Event $event) { parent::beforeRender($event); $this->viewBuilder()->helpers([ 'Alvarium/OCClient.OC', ]); } }
使用
完成所有配置后,加载组件和助手,要在您的页面上加载开放组件脚本,您只需在控制器方法中使用 setComponents
定义组件即可
<?php namespace App; // [...] class PostsController extends AppController { // [...] public function index() { $this->Client->setComponents([ [ 'name' => 'your-awesome-component', 'parameters' => [ 'comp1_selector' => '#awesome-component', 'key' => 'value', 'key2' => 'value2', ], ], [ 'name' => 'another-awesome-component', 'parameters' => [ 'comp2_selector' => '#awesome-component-2', 'key12' => 'value12', 'key23' => 'value23', ] ] ]); }
注意我们如何定义 *_selector
键。这是因为我们能够为每个组件定义选择器(这意味着我们需要在视图中对每个组件定义一个带有适当选择器的层)。
这在一定程度上是因为此插件的帮助器在加载组件时将它们附加到 script
视图块中。根据您如何处理您的开放组件小部件,这可能会带来一些问题。
如果是这样,您可以直接避免使用助手,并将脚本添加到您想要的位置
foreach ($oc_components as $component) { echo $component; }
许可证
此插件代码采用 GNU GPL v.3 许可证。